Ferby: Array geht nicht

Hallo,

ich habe folgenden PHP Script geschrieben:

<?

echo "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>\n\n";

echo "<html>\n\n";

echo "<head>\n";
echo "<meta http-equiv='content-type' content='text/html; charset=ISO-8859-1'>\n";
echo "<meta http-equiv='expires' content='0'>\n";
echo "<link rel='stylesheet' type='text/css' href='../grau.css'>\n";
echo "<title></title>\n";
echo "</head>\n\n";

echo "<body>\n\n";

$alt[1][1]="Engelwandtunnel und Brücke";
$alt[1][2]="Engelwandtunnel und Brücke";

echo "<a href='p.php?f=1&anzahl=15'>Motive Arlbergbahn</a> &nbsp; &nbsp; &nbsp; &nbsp;\n";
echo "<a href='p.php?f=2&anzahl=10'>Motive Arlbergbahn</a> &nbsp; &nbsp; &nbsp; &nbsp;\n";
echo "<a href='p.php?f=3&anzahl=6'>Schweizer Motive</a> &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;\n";
echo "<a href='p.php?f=4&anzahl=5'>Rosenbachviadukt</a> &nbsp; &nbsp; &nbsp; &nbsp;\n";
echo "<a href='p.php?f=5&anzahl=10'>Ravennaviadukt</a>";
echo "<br><br>\n\n";

while ($x != $anzahl)
{
$x++;
echo "<a href='f1/1.html' border=0><img src='$f/$x.jpg' width=148 height=100 alt='$alt[$f][$x]' border=0>&nbsp;\n";
}

echo "<div id='menue_fotos_unten'>\n";
echo "<a href='p.php?f=6&anzahl=11'>Diverses</a>&nbsp; &nbsp;&nbsp;&nbsp;\n";
echo "<a href='p.php?f=7&anzahl=14'>Laab im Walde 2003</a>\n";

echo "</body>\n\n";

echo "</html>";

?>

Alles funktioniert nur der alt text geht nicht, eigentlich sollte ja statt $alt[$f][$x] dann Engelwandtunnel und Brücke da stehtn (bei den ersten beiden Bildern) aber es steht dann da: Array[1] warum?
Danke für eure hilfe.

  1. Hallo,

    <?
    echo "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>\n\n";

    hat es einen tieferen sinn, dass du reinen html-Code von php ausgeben lässt?

    while ($x != $anzahl)

    wo kommen $x und $anzahl her?

    echo "<a href='f1/1.html' border=0>

    das a-Element hat kein border-Attribut.

    <img src='$f/$x.jpg' width=148 height=100 alt='$alt[$f][$x]' border=0>&nbsp;\n";

    versuch mal den String an dem Array zu unterbrechen:
      echo "<img [...] height=100 alt='".$alt[$f][$x]."' border=0>&nbsp;\n";
    (natürlich vorher mal schauen was in $f und $x eigentlich drinsteht).

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
    1. Hi,

      danke mit ".$alt[$f][$x]." gehts.

      $anzahl steck in der Url drin und $x hab ich nicht definiert da es sowieso mit null beginnt oder muss ich da trodzdem $x=0; am anfang schreiben? Kann PHP erst seit ein paar Tagen...

      1. Hallo,

        danke mit ".$alt[$f][$x]." gehts.
        $anzahl steck in der Url drin

        bei dir ist register_globals auf on - stelle es auf off verwende $_GET['anzahl'] (warum steht z.B. in http://de.php.net/security.registerglobals).

        und $x hab ich nicht definiert da es sowieso mit null beginnt

        kannst du dir sicher sein, dass das in der nächsten Version auch noch so ist?

        oder muss ich da trodzdem $x=0; am anfang schreiben?

        ja - bei dir lässt sich sonst (wegen register_globals=on) das $x einfach mit einem Anhängen von ?x=3 auf einen anderen Wert setzen ...

        Grüße aus Nürnberg
        Tobias

        --
        Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
        1. Hallo,

          1. Wo/Wie kann ich register_globals= auf off stellen?
          2. Wie übergebe ich dann Variabel? Also wenn ich z.B: ein Menü habe (in HTML) mit einen Link:

          <a href="page.php?variabel1=blabla&variabel2=blabla2">

          Wie mache ich das dann wenn register_globals= auf off steht?

          1. Hallo,

            1. Wo/Wie kann ich register_globals= auf off stellen?

            wenn du (bzw. dein Provider) einen Apache einsetzt (und du entsprechende Rechte hast), kannst du mit
              php_flag register_globals off
            in einer .htaccess die Einstellungen beeinflussen (siehe http://www.php.net/configuration.changes).

            1. Wie übergebe ich dann Variabel? Also wenn ich z.B: ein Menü habe (in HTML) mit einen Link:
              <a href="page.php?variabel1=blabla&variabel2=blabla2">
              Wie mache ich das dann wenn register_globals= auf off steht?

            wie ich schon schrieb - das Array $_GET ist dein Freund (->http://de3.php.net/manual/de/reserved.variables.php#reserved.variables.get, http://tut.php-q.net/get.html)

            Grüße aus Nürnberg
            Tobias

            --
            Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|