Gegen Bilderklau - Das Original (https://www.gegen-bilderklau.net/index.php)
- Design, Website, Copyright (https://www.gegen-bilderklau.net/board.php?boardid=80)
--- Homepagehilfe (https://www.gegen-bilderklau.net/board.php?boardid=27)
---- Homepagehilfe - Archiv (https://www.gegen-bilderklau.net/board.php?boardid=139)
----- [PHP & MySQL] php -> "Parse Error" (https://www.gegen-bilderklau.net/thread.php?threadid=79775)
Geschrieben von cll am 06.09.2006 um 14:13:
php -> "Parse Error"
Ich habe ein Quiz programmiert und bekomme nun beim Absenden des Formulars folgende Fehlermeldung:
Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in /home/k/kilu2.de/public_html/user_web/picturepage/pferde/rassenquiz.php on line 14
das Formular mit den Antworten wird an rassenquiz.php gesendet. Der Quelltext davon:
<?php
$antwort1 = $_POST["antwort1"];
$antwort2 = $_POST["antwort2"];
$antwort3 = $_POST["antwort3"];
$antwort4 = $_POST["antwort4"];
$antwort5 = $_POST["antwort5"];
$antwort6 = $_POST["antwort6"];
$antwort7 = $_POST["antwort7"];
$antwort8 = $_POST["antwort8"];
if( ($antwort1=="Haflinger" AND $antwort2=="Hannoveraner" AND $antwort3=="Schettlandpony" AND $antwort4=="Holsteiner" AND $antwort5=="25" AND $antwort6=="Falabella" AND $antwort7=="Shire Horse" AND $antwort8=="Norweger")
or($antwort1=="Haflinger" AND $antwort2=="Hannoveraner" AND $antwort3=="Schettlandpony" AND $antwort4=="Holsteiner" AND $antwort5=="25" AND $antwort6=="Falabella" AND $antwort7=="Shire Horse" AND $antwort8=="Fjordpferd") )
{
echo "<body bgcolor=#C8E8CD><center><p> <p> <p>Herzlichen Glückwunsch, du hast es geschafft!<p><form method="POST" action="rassenquizwinner.php">
<p>Schreibe hier deinen Namen in die Gewinnerliste:<input type="text" size="20" name="antwort1">
<br>Bitte nur 1x mal "Eintragen" klicken!
<p><input type="submit" name="Eintragen" value="Abschicken"></font>
<p><a href=quiz.html>Zurück zur Übersicht</a>";
}
else
{
echo "<body bgcolor=#C8E8CD><center><p> <p> <p>Du hast leider Fehler gemacht oder einen Tippfehler in der Antwort!<p><a href=rassenquiz.html>Nochmal versuchen</a><br><a href=quiz.html>Aufgeben</a>";
}
?>
Mit line14 meint der anscheinend die Zeile in der die geschweifte Klammer aufgeht. Ich finde aber meinen Fehler nicht. Vor allem ging es, bevor ich das Formular in das echo eingebaut habe...
Geschrieben von Delilah am 06.09.2006 um 14:23:
RE: php -> "Parse Error"
In einem Echo-Befehl dürfen keine " auftauchen... Dann denkt der Parser, die Zeichenkette, die ausgegeben werden soll, ist zu Ende, obwohl dahinter noch der Rest kommt. Mit einem Backslash entwerten oder stattdessen ' schreiben.
Außerdem verstehe ich nicht ganz, warum du in der if-Bedingung
1. zwei Klammern öffnest
2. zweimal abfragst, ob z.B. $antwort1 'Haflinger' enthält
Noch was nicht Technisches: Shetlandpony schreibt man mit nur einem t (;
Geschrieben von cll am 06.09.2006 um 14:33:
danke, ist logisch. Ich werd mal schaun, obs dann funktioniert.
Zu deinen Fragen:
die zwei klammern waren in der Vorlage mit IF oder OR schon drin. und da es funktioniert, wirds wohl so gehören.
Das doppelte ist, weil die Antwort 8 zwei verschiedene Lösungen hat. Deshalb muss ich eine OR-Schleife einbauen.
Geschrieben von Delilah am 06.09.2006 um 14:39:
Or ist keine Schleife (;
Ist ein logischer Operator.
Und nur weil eine Antwort 2 Möglichkeiten hat, muss man nicht den ganzen Block neu schreiben... So sollte es auch funktionieren:
php: |
1:
|
if($antwort1=="Haflinger" AND $antwort2=="Hannoveraner" AND $antwort3=="Schettlandpony" AND $antwort4=="Holsteiner" AND $antwort5=="25" AND $antwort6=="Falabella" AND $antwort7=="Shire Horse" AND $antwort8=="Norweger" OR $antwort8=="Fjordpferd") { |
|
Und dann halt der Rest mit 'echo' und so (:.
Geschrieben von cll am 06.09.2006 um 14:45:
AAAAAAAAah, ich habs gefunden... sorry, hatte immer noch "" drin... *rotwerd*
Vielen Dank!!!
Das Eintragen in die Gewinnerliste ging auch. Aber das Ausgeben der Gewinner will noch nicht so ganz.
<?php
$datei = fopen("rassenquizwinner.txt","r");
$winner = fgets($datei, 10000);
echo $counterstand;
fclose($datei);
?>
Der zeigt einfach gar nichts an! Wahrscheinlich wieder so ein dämlicher Anfängerfehler!
Geschrieben von Delilah am 06.09.2006 um 15:04:
Mit Dateifunktionen arbeite ich zwar nicht wirklich, aber was soll die Variable $counterstand denn sein? Der wird nirgends ein Wert zugewiesen, also kann da auch nichts ausgegeben werden.
Denke mal, 'echo $winner;' passt besser ^.^.
Geschrieben von cHaOsMaChEr am 06.09.2006 um 16:12:
EDIT: falscher Thread
Geschrieben von cll am 06.09.2006 um 16:16:
uuups, man, ich sollte heut wohl aufhörn! Da hab ich die Variable nur an einer Stelle ausgetauscht... *peinlich*
Sorry für die blöde Frage. Bin heut schon seit 6 am Arbeiten... das bekommt einem in den Ferien nicht so.
Geschrieben von Delilah am 06.09.2006 um 16:24:
Ach, kein Problem ^.^
Hauptsache, du verstehst deinen Code und generell die Grundlagen auch, nur fremde Scripts nehmen und ein paar Variablen austauschen kommt nicht so gut (;
Geschrieben von cHaOsMaChEr am 07.09.2006 um 16:10:
EDIT: sorry, wieder falscher Thread
Forensoftware: Burning Board, entwickelt von WoltLab GmbH