Bilder anzeigen

Ach so; daran sollte es nicht scheitern ;)

Den letzten Teil so ändern->

PHP:
echo "<a href=\"bild.htm?link=".$bild."\"><img src=\"bild".$bild.".jpg\" width=\"50\" height=\"50\" alt=\"".$bild."\" /></a><br />";

und dies hinzufügen->

PHP:
     if(isset($link))
     {
        switch($link)
        {
        case "1":
        $goto="http://www.google.de";
        break;
        case "2":
        $goto="http://www.w3c.org";
        break;
        }

     header("Location:".$goto);
     }

Greetz
 
Vielen Dank für die Hilfe, aber leider gehen die Links nicht.
hier der Script:

<?php

$bilder = range('1','15');
srand ((double)microtime()*1000000);
for($x = 0; $x < 15; $x++)
{
$i = rand(1, count($bilder))-1;
$erg[] = $bilder[$i];
array_splice($bilder, $i, 1);
}

foreach($erg as $bild)
echo "<a href=\"bild.htm?link=".$bild."\"><img src=\"bild".$bild.".jpg\" border=\"0\" width=\"110\" height=\"44\" alt=\"".$bild."\" /></a><br /><br />";


if(isset($link))
{
switch($link)
{
case "1":
$goto="http://www.google.de";
break;
case "2":
$goto="http://www.w3c.org";
break;
case "3":
$goto="http://www.google.de";
break;
case "4":
$goto="http://www.w3c.org";
break;
case "5":
$goto="http://www.google.de";
break;
case "6":
$goto="http://www.w3c.org";
break;
case "7":
$goto="http://www.google.de";
break;
case "8":
$goto="http://www.w3c.org";
break;
case "9":
$goto="http://www.w3c.org";
break;
case "10":
$goto="http://www.google.de";
break;
case "11":
$goto="http://www.w3c.org";
break;
case "12":
$goto="http://www.google.de";
break;
case "13":
$goto="http://www.w3c.org";
break;
case "14":
$goto="http://www.google.de";
break;
case "15":
$goto="http://www.w3c.org";
break;
}

header("Location:".$goto);
}

?>
 
Was passiert denn wenn Du auf einen Link klickst?

Moeglicherweise wuerde es helfen $link aus dem Array $_GET zu holen. Es koennte ja sein, dass register_globals auf "off" steht.
Um das festzustellen mal ein kleines Script:
registerglobalscheck.php
PHP:
<?php
if (!$_GET["check"])
    {
        header("Location: registerglobalscheck.php?check=1");
    }
?>
<html>
<body>
<?php
if ($test)
    {
        printf("register_globals is on<br>");
    }
else
    {
        printf("register_globals if off<br>");
    }
?>
<a href="registerglobalscheck.php">Check state of register_globals</a>
</body>
</html>
 
Das kommt dabei raus:

Warning: Cannot modify header information - headers already sent by (output started at /srv/www/htdocs/web8/html/register.php:2) in /srv/www/htdocs/web8/html/register.php on line 5
register_globals if off

Check state of register_globals

Was muss ich jetzt ändern?
 
Eigentlich sollte das so funktionieren.

Kannst ja mal probieren nach dem ersten <?php ein ob_start(); und am Ende
PHP:
<?php
ob_end_flush();
?>
zu setzen.

Ansonsten musst Du darauf achten, dass Du am Anfang nicht vielleicht ein Leerzeichen hast.
Bisher hatte keiner Probleme mit dem Script, hab das schon des oefteren hier gepostet.
 
Anstatt direkt auf $link zuzugreifen musst Du die Variable aus dem Array $_GET holen.
Also statt auf $link greifst Du dann auf $_GET['link'] zu.
 
Zurück