Seite 1 von 1
switch und array?!?
Verfasst: 16.05.2004 22:24
von Lord_Femto
ich bin es noch einmal.
ich komme mal wieder in sachen php nicht weiter.
ich habe jetzt paar sections, wo bilder sind, die mit hilfe eines arrays ausgelesen werden. die richtige section wird mittels switch abfrage ausgewählt. schaut auf die seite. das problem ist, dass die bilder beim klicken auf die section nicht erscheinen geschweige denn auf zahlen...
hier die page:
www.steife-briese.de
und hier der code:
Code: Alles auswählen
<?php
$link = $_GET['link'];
switch ($_GET['link'])
{
case 'taufschein':
$bilder[] = "SB-Bilder/taufschein.jpg";
if(!empty($bilder[$_GET['bild']])) {
echo "<img src=\"{$bilder[$_GET[bild]]}\"><br><br>"; }
echo "</td></tr>";
echo "<tr><td align=center>";
for($i=0; $i<count($bilder); $i++)
{
echo "<a href=\"$_SERVER[PHP_SELF]?link=$link&bild=$i\"><strong>[" . ($i+1) . "]</strong></a> " ;
}
break;
Verfasst: 16.05.2004 22:40
von Pyramide
Und wer soll sich den langen Code jetzt komplett durchlesen?
Siehe auch [kb=knigge#code]Posten von Code[/kb]
Verfasst: 16.05.2004 22:50
von Lord_Femto
ok. ich habe es jetzt einmal gekürzt. irgendwas haut mit dem array nicht hin
Verfasst: 16.05.2004 23:04
von PhilippK
Also, wenn wir schon dabei sind: gewöhne dir besser an, den Code sauber zu formatieren. Das ganze ist dann deutlich besser lesbar - und nicht nur für uns sondern auch für dich hilfreich:
Code: Alles auswählen
<?php
$link = $_GET['link'];
switch ($link)
{
case 'taufschein':
$bilder[] = "SB-Bilder/taufschein.jpg";
if( !empty($bilder[$_GET['bild']]) )
{
echo "<img src=\"{$bilder[$_GET['bild']]}\"><br><br>";
}
echo "</td></tr>";
echo "<tr><td align=center>";
for($i=0; $i<count($bilder); $i++)
{
echo "<a href=\"{$_SERVER['PHP_SELF']}?link=$link&bild=$i\"><strong>[" . ($i+1) . "]</strong></a> ";
}
break;
Kleiner Hinweis auch auf die zwei Änderungen beim switch (wenn du das als Variable hast - verwende die Variable) und bei $_SERVER (PHP_SELF ist keine Konstante - damit das klappt, brauchst du jedoch die geschweiften Klammern). Letzteres gilt auch für $_GET[bild]
Das ganze funzt bei mir dann jedoch für den taufschein einwandfrei...
Gruß, Philipp
Verfasst: 16.05.2004 23:14
von Lord_Femto
hmmm. problem sind die anderen abfragen.
siehe unter
www.steife-briese.de
irgendwie haut da was nicht hin. also haut nur der taufschein hin.
Code: Alles auswählen
case 'forumschecks':
$bilder[] = "SB-Bilder/basarschein1.jpg";
$bilder[] = "SB-Bilder/basarschein2.jpg";
$bilder[] = "SB-Bilder/basarschein3.jpg";
if(!empty($bilder[$_GET['bild']])) {
echo "<img src\"{$bilder[$_GET[bild]]}\"><br><br>"; }
echo "</td></tr>";
echo "<tr><td align=center>";
for($i=0; $i<count($bilder); $i++)
{
echo "<a href=\"{$_SERVER[PHP_SELF]}?link=$link&bild=$i\"><strong>[" . ($i+1) . "]</strong></a> ";
}
break;
hier noch einmal ein beispiel für die basarscheine.
danke schon einmal im voraus. @philipp oder pyramide.
noch etwas. du sagtest sauberer coden. gibt es irgendwie ein tutorial für sauberes coden?
Verfasst: 17.05.2004 00:07
von PhilippK
Versuch's mal mit
Da fehlte ein Gleich-Zeichen...
Wegen dem sauberen Coden: Schau mal in der Datei
codingstandard.htm im docs-Verzeichnis.
Ansonsten habe ich auf die Schnelle folgendes gefunden:
http://www.iwr.uni-heidelberg.de/groups ... 0000000000 (ist zwar für C - aber sonst recht ähnlich)
Gruß, Philipp
Verfasst: 17.05.2004 00:53
von Lord_Femto
ich trottel. warum übersehe ich immer die kleinsten und einfachsten fehler.
danke noch einmal. jetzt funktioniert alles.
Verfasst: 17.05.2004 00:55
von PhilippK
Lord_Femto hat geschrieben:ich trottel. warum übersehe ich immer die kleinsten und einfachsten fehler.
Tja, manchmal sieht man vor lauter Wald die Bäume nicht
Gruß, Philipp