Ich finde einfach den Fehler nicht
cstyle
- php
0 Volker Nebelung0 Sven Schrodt0 suit0 cstyle
Hab mal mit folgendem Code einen Entscheidungshelfer programmiert jezt ist da aber ein Fehler drin
<form action="pfad.php">
<input type="submit" name="aktiviere"
value="Los" />
</form>
<br />
<?php
if(isset($_GET["aktiviere"]))
{
$zufall = rand(1,3);
if ($zufall=="1")
{
echo "Ja";
}
else
{
if ($zufall=="2")
{
echo "Nein";
}
else
{
echo "Vielleicht, klicke nochmal";
}
}
?>
Jetzt kommt aber folgender Fehler
Parse error: syntax error, unexpected $end in C:\xampp\htdocs\pfad.php on line 26
Ich hab mal nen weng im Archiv geschaut und habe auch was gefunden.
Irg. soll wohl ein Punktstrich oder eine Klammer fehlen.
Ich programmiere erst seit ein paar tagen (Daher der etwas verwunderliche Style) und finde diesen Fehler einfach nicht.
Wäre nett wenn ihr mir sagen könntet wo der fehler ist.
Lg cstyle
Aloha 'oe,
Wäre nett wenn ihr mir sagen könntet wo der fehler ist.
Vergleiche mal Anzahl der öffnenden und schließenden Klammern.
Gruß, Volker
Salut!
Parse error: syntax error, unexpected $end in C:\xampp\htdocs\pfad.php on line 26
Da fehlt eine Klammer am Ende '}'.
Du solltest vielleicht einen Editor benutzen, der Dir das bemängelt.
au relire
Sven aus M.
Gibt es da eine freeware die du mir empfehlen kannst
lg cstyle
Gibt es da eine freeware die du mir empfehlen kannst
lg cstyle
Hab mal mit folgendem Code einen Entscheidungshelfer programmiert jezt ist da aber ein Fehler drin
<form action="pfad.php">
<input type="submit" name="aktiviere"
value="Los" />
</form>
<br />
<?php
if(isset($_GET["aktiviere"]))
{
$zufall = rand(1,3);if ($zufall=="1")
{
echo "Ja";
}
else
{
if ($zufall=="2")
{
echo "Nein";
}
else
{
echo "Vielleicht, klicke nochmal";
}
}
?>Jetzt kommt aber folgender Fehler
Parse error: syntax error, unexpected $end in C:\xampp\htdocs\pfad.php on line 26
heisst etwa "eine kontrollstruktur die beginnt, endet in zeile 26, sollte sie aber nicht"
Ich hab mal nen weng im Archiv geschaut und habe auch was gefunden.
Irg. soll wohl ein Punktstrich oder eine Klammer fehlen.
das ist löblich und auch schon ganz richtig
im grunde genommen sehr einfach
zähle die klammern, jede öffnende klammer muss auch wieder geschlossen sein - eine ungerade anzahl an gleichartigen klammern kann es nicht geben
gleichartige klammern sind { und }, ( und ) oder [ und ]
in sonderfällen gibts natürlich ausnahmen, aber üblich ist es nicht
Ich programmiere erst seit ein paar tagen (Daher der etwas verwunderliche Style) und finde diesen Fehler einfach nicht.
ein grund gleich etwas zu lernen
elseif ist besser geeignet als deine if -> else if verschachtelung - tut in deinem fall das selbe nur mit weniger code und ist übersichtlicher (weniger klammern) - es gibt nur wenige fälle wo eine konstruktion in wie in deinem fall sinnvoll ist
http://at2.php.net/manual/en/control-structures.elseif.php
dürfte für dich noch interessanter sein, funktioniert so ähnlich wie if/elseif-konstrukte nur spart bei mehrfachauswahl viel code
http://at2.php.net/switch
Wäre nett wenn ihr mir sagen könntet wo der fehler ist.
den wirst du sicher jetzt selbst finden
noch ein anreiz
http://at.php.net/rand
rand() liefert int als datentyp - du machst aber folgendes
$zufall = rand(1,3);
if ($zufall=="1")
== vergleicht 2 variablen typenunabhängig miteinander, "1" wird als string, nicht als zahl interpretiert
=== hingegen vergleicht datentyp und wert
das ist besonders bei boolschen werten true/false und 0/1 bzw bei strings und zahlen in anderen zahlensystemen gefährlich
zb ergibt (10 == "A") unter gewissen vorausetzungen true, aber (10 === "A") defintiv false, da 10 ohne nähere defintion vom datentyp int sein wird und "A" als string behandelt wird
<?php
echo "Wie lang soll das Programm warten bis es die Entscheidung bekannt gibt?";
?>
<br>
<input name="time" type="number">
<?php
echo "sec";
?>
<form action="pfad.php">
<input type="submit" name="aktiviere"
value="Los" />
</form>
<br />
<?php
if(isset($_GET["aktiviere"]))
sleep($_POST["time"])
$zufall = rand(1,3);
if ($zufall=="1")
{
echo "Ja";
}
elseif
($zufall=="2")
{
echo "Nein";
}
else
{
echo "Vielleicht, klicke erneut";
}
?>
Jetzt habe ich weiter programmiert und will eine Sleepfunktion einbauen.
Das html Formular dazu ist oben und ich will dann die Variable also unten in das sleep() einfügen. Das habe ich folgendermaßen versucht.
sleep($_POST["time"])
das funktioniert überhaupt nicht.
Folgender Fehler tritt auf
Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\pfad.php on line 22
Mein PSPad zeigt auch nichts an das ich irg. was falsch gemacht habe.
Also muss ich euch nochmal mit der Frage nerven was ich eig. falsch gemacht habe.
Hi,
if(isset($_GET["aktiviere"]))
sleep($_POST["time"])
$zufall = rand(1,3);
sleep($_POST["time"])
das funktioniert überhaupt nicht.
Folgender Fehler tritt auf
Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\pfad.php on line 22
Wann immer irgendwas "unexpected" auftaucht, also unerwartet, kannst du mit ziemlicher Sicherheit davon ausgehen, dass in der Zeile davor etwas fehlt.
Also muss ich euch nochmal mit der Frage nerven was ich eig. falsch gemacht habe.
Semikolon vergessen ...
Bevor du mit noch mehr Fragen von dem Kaliber ankommst, beschaeftige dich aber bitte ein bisschen mit den Grundlagen, und damit, wie man sinnvoll Fehlersuche betreibt.
MfG ChrisB
Es geht aber trotzdem nicht wenn ich den Punktstrich dazu mach.
Es kommt zwar keine Fehlermeldung aber die Funktion sleep() funktioniert trotzdem nicht. Man kann zwar eine Zahl oben eingeben. Aber das Ergebniss kommt trotzdem nicht nach einer Verzögerung die durch sleep() hervorgerufen werden sollte.
Hi,
Es kommt zwar keine Fehlermeldung aber die Funktion sleep() funktioniert trotzdem nicht. Man kann zwar eine Zahl oben eingeben. Aber das Ergebniss kommt trotzdem nicht nach einer Verzögerung die durch sleep() hervorgerufen werden sollte.
Ist dir denn klar, dass die PHP-Funktion sleep natuerlich nur serverseitig "wirkt"?
Sie verzoegert also dort die weitere Script-Abarbeitung - und nicht irgendetwas auf dem Client, der das anschliessend ausgelieferte Dokument danach darstellt.
MfG ChrisB