Problem mit rand()
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
angezeigt beitrag
befehl
befinden
beitrag
bild
bilddatei
break
endung
error
ersatz
fehler
funktion
kleinschreibung
lerne momentan japanisch
ode
ordner
rckfragen
sinnen
verbesserung
vielen cases
-
Hallo,
ich habe ein Problem dabei eine Homepage mit php zu erstellen. Ich habe bei Funpic eine Homepage erstellt und naja es wird mir ein Fehler angezeigt:
Parse error: syntax error, unexpected T_DNUMBER, expecting ',' or ';' in /usr/export/www/vhosts/funnetwork/hosting/sebastiangerard/index.html on line 20
mein Quellcode sieht so aus:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>Hiragana</title> <meta http-equiv="Content-Type" content="text/htmlcharset=ISO-8859-1\" /> </head> <body> <?php $Zufallszahl=rand(1,46); Switch($Zufallszahl){ case 1: echo"<img src="1.jpg" />" break; case 2: echo"<img src="2.jpg" />" break; case 3: echo"<img src="3.jpg" />" break; .................................. case 45: echo"<img src="45.jpg" />" break; case 46: echo"<img src="46.jpg" />" break; }; ?> ?ber diesem Text sollte nun ein Bild zu sehen sein. </body> </html>
zur Erkl?rung: ich lerne momentan Japanisch und m?chte zuf?llig ein Zeichen (ein jpg=ein zeichen) ausgeben lassen dessen namen ich dann benennen muss(dieser teil wird sp?ter programmiert).
bei lima-city hab ich es auch versucht aber es funktioniert auch nicht.
Beitrag ge?ndert: 15.9.2006 15:25:33 von esge
Beitrag ge?ndert: 15.9.2006 15:26:11 von esge -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
bei echo ""
musst du innerhalb der Ausgabe alle " escapen.
Also so:
echo "...\"...\"...";
ode rgleich so:
echo '<img ....."..."..>';
EDIT:
Ok, wir haben beide recht :P
Beitrag ge?ndert: 15.9.2006 15:39:49 von benutzernaemelchen -
Kann es sein das du hinter jedem echo befehl ein semikolon vergessen hast?
z.B.
$zahl = rand (1,46); echo "$zahl";//Das meine ich!!
Edit:
Das stimmt nat?rlich auch ich w?rde hochkommatas verwenden(')
Beitrag ge?ndert: 15.9.2006 15:37:44 von garlian -
noch vorschl?ge? hab meinen quellcode jetzt so ge?ndert:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>Hiragana</title> <meta http-equiv="Content-Type" content="text/htmlcharset=ISO-8859-1\" /> </head> <body> <?php $Zufallszahl=rand(1,46); Switch($Zufallszahl){ case 1: echo'<img src="1.jpg" />'; break; case 2: echo'<img src="2.jpg" />'; break; case 3: echo'<img src="3.jpg" />'; break; case 4: echo'<img src="4.jpg" />'; break; case 5: echo'<img src="5.jpg" />'; break; case 6: echo'<img src="6.jpg" />'; break; case 7: echo'<img src="7.jpg" />'; break; case 8: echo'<img src="8.jpg" />'; break; case 9: echo'<img src="9.jpg" />'; break; case 10: echo"'<img src="10.jpg" />'; break; case 11: echo'<img src="11.jpg" />'; break; case 12: echo'<img src="12.jpg" />'; break; case 13: echo'<img src="13.jpg" />'; break; case 14: echo'<img src="14.jpg" />'; break; case 15: echo'<img src="15.jpg" />'; break; case 16: echo'<img src="16.jpg" />'; break; case 17: echo'<img src="17.jpg" />'; break; case 18: echo'<img src="18.jpg" />'; break; case 19: echo'<img src="19.jpg" />'; break; case 20: echo'<img src="20.jpg" />'; break; case 21: echo'<img src="21.jpg" />'; break; case 22: echo'<img src="22.jpg" />'; break; case 23: echo'<img src="23.jpg" />'; break; case 24: echo'<img src="24.jpg" />'; break; case 25: echo'<img src="25.jpg" />'; break; case 26: echo'<img src="26.jpg" />'; break; case 27: echo'<img src="27.jpg" />'; break; case 28: echo'<img src="28.jpg" />'; break; case 29: echo'<img src="29.jpg" />'; break; case 30: echo'<img src="30.jpg" />'; break; case 31: echo'<img src="31.jpg" />'; break; case 32: echo'<img src="32.jpg" />'; break; case 33: echo'<img src="33.jpg" />'; break; case 34: echo'<img src="34.jpg" />'; break; case 35: echo'<img src="35.jpg" />'; break; case 36: echo'<img src="36.jpg" />'; break; case 37: echo'<img src="37.jpg" />'; break; case 38: echo'<img src="38.jpg" />'; break; case 39: echo'<img src="39.jpg" />'; break; case 40: echo'<img src="40.jpg" />'; break; case 41: echo'<img src="41.jpg" />'; break; case 42: echo'<img src="42.jpg" />'; break; case 43: echo'<img src="43.jpg" />'; break; case 44: echo'<img src="44.jpg" />'; break; case 45: echo'<img src="45.jpg" />'; break; case 46: echo'<img src="46.jpg" />'; break; }; ?> ?ber diesem Text sollte nun ein Bild zu sehen sein. </body> </html>
naja es funktioniert immer noch nicht. -
Su siehst doch wohl selbst, dass alles, was z´zwischen ' oder " steht, rot ist?
Also m?ssen deine ganzen echos auch zwischen soetwas stehen.
Ich sehe da oben ein escaptes ".
N?heres wei? ich aber auch nicht.
EDIT: beim 10ten case ist ein " zuviel.
Beitrag ge?ndert: 15.9.2006 16:18:21 von benutzernaemelchen -
noch vorschl?ge? hab meinen quellcode jetzt so ge?ndert:
Jep, das geht k?rzer!!!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>Hiragana</title> <meta http-equiv="Content-Type" content="text/htmlcharset=ISO-8859-1\" /> </head> <body> <?php $Zufallszahl=rand(1,46); echo'<img src="'.$Zufallszahl.'.jpg" />'; ?> Über diesem Text sollte nun ein Bild zu sehen sein. </body> </html>
-
Aloha,
warum eigentlich so kompliziert mit so vielen cases? Wenn ich dir da mal nen Vorschlag machen d?rfte ;):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>Hiragana</title> <meta http-equiv="Content-Type" content="text/htmlcharset=ISO-8859-1\" /> </head> <body> <?php $Zufallszahl=rand(1,46); echo '<img src="'.$Zufallszahl.'.jpg" />'; ?> ?ber diesem Text sollte nun ein Bild zu sehen sein. </body> </html>
MfG
?dit: Argh, phattek war schneller
Beitrag ge?ndert: 15.9.2006 16:32:58 von svn -
ok. es gibt keinen fehler mehr aber anscheinend werden ja kommazahlen gerneriert, da kein bild ausgegeben wird. kann mir jemand von euch eine verbesserung der funktion/ eine andere funktion geben mit der das funktioniert?
-
Der Befehl rand() d?rfte aber eigentlich keine Kommazahl generieren. da is bestimmt noch was anderes falsch. Wenn nich, dann gib mal ein
$zufallszahl=number_format($zufallszahl,0,"","");
-
als ersatz f?r rand() oder nachdem ich rand benutzt habe?
EDIT: da ist die seite. jetzt wird hinter dem Text den ich geschrieben habe auch noch der Quellcodeteil den du mir gegeben hast angezeigt. http://sebastiangerard.se.funpic.de/index.html
Beitrag ge?ndert: 15.9.2006 18:27:25 von esge -
Verstehe nich, warum du nen ersatz f?r rand() haben willst. die funktion liefert keine Kommazahlen, hab das ebend sogar noch mal ausprobiert. Und falls doch, dann sollst du nach dem rand() das schreiben, was ich da oben gepostent habe. Du hast bestimmt noch irgendwo anders einen fehler.
Edit1: Da stimmt irgendwas mit deiner Bilddatei nicht. Haste dir schon mal den Quellcode der seite angeuckt, die du im browser siehst. da steht keine Kommazahl vor dem ".jpg".
Edit2: Ich denke mal, dass die Bilddateien sich nicht in diesem Ordner befinden, denn als Dateigr??e wird 0 Byte angezeigt.
Beitrag ge?ndert: 15.9.2006 18:41:46 von hugo1990 -
da ich noch nicht einmal einen ordner habe sondern alle dateien praktisch direkt auf den webspace geladen habe, kann es nicht in einem anderen ordner sein.
-
Die Bilder befinden sich schon in dem Ordner, allerdings mit der Endung .JPG statt .jpg (Gro?-/Kleinschreibung ...). Du musst im Script also nur die Endung anpassen.
Allerdings frage ich mich, was die Bilder f?r einen Sinn haben sollen ... -
die momentanen bilder sind nur zu testzwecken. ich wollte sie sp?ter durch japanische zeichen ersetzen. mittlerweile habe ich aber mit delphi ein programm entwickelt das das gleiche macht
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage