Supportnet / Forum / Skripte(PHP,ASP,Perl...)
php unexpected $ in line...
Frage
Hallo,
als blutiger Anfänger, versuche ich mich mit php zurechtzufinden, in dem ich scripte abtippe, verädndere und schaue was passiert.
Nun habe ich ein script für einen counter abgeschreiben und wollte es laufen lassen, bekomme aber immer nur die Meldung:
Parse error: parse error, unexpected $ in [hostename]on line 23.
In der Zeile 23 steht aber nur das php Ende, also ?>.
Lösche ich dieses Zeichen, dann sagt der parser mir, dass der Befehl fopen abgelehnt wurde "permission denied".
Ich finde keinen Fehler, wer kann mir auf die Sprünge helfen?
Hier das script:
<?
$user = array("mario", "hund", "php");
$password = array("drucker", "waschen", "phptest");
if (in_array($_POST["user"], $user) and in_array ($_POST["password"], $password))
{
echo "Guten Tag";
}
else
{
echo "zugriff verboten";
}
if (in_array($_POST["user"], $user) and in_array ($_POST["password"], $password))
{
$datei = fopen("counter.txt", "a+");
$counter = fgets($datei, 10);
if ($counter == "")
{
$counter = 0;
}
$counter++;
echo $counter;
rewind($datei);
fwrite($datei, $counter);
fclose("conter.txt");
?>
Danke
Mario
Antwort 1 von muu2005
Hast die geschweifte klammer am ende der 2ten if funktion nicht geschloßen.
...
fclose("conter.txt");
}
?>
...
fclose("conter.txt");
}
?>
Antwort 2 von mario9
Hallo,
ja das war's (der eine Fehler) - danke!!
Aber nun kommt wieder der andere zum tragen - und da vermute ich, dass der Server die Funktion fopen nicht anbietet.
Kann das sein? Diese Meldung kommt:
Warning: fopen(counter.txt) [function.fopen]: failed to create stream: Permission denied in [hostadresse]on line 14
Warning: fgets(): supplied argument is not a valid stream resource in [hostadresse] on line 15
1
Warning: rewind(): supplied argument is not a valid stream resource in [hostadresse]on line 22
Warning: fwrite(): supplied argument is not a valid stream resource in [hostadresse]on line 23
Warning: fclose(): supplied argument is not a valid stream resource in [hostadresse]on line 24
Gruß
M.
ja das war's (der eine Fehler) - danke!!
Aber nun kommt wieder der andere zum tragen - und da vermute ich, dass der Server die Funktion fopen nicht anbietet.
Kann das sein? Diese Meldung kommt:
Warning: fopen(counter.txt) [function.fopen]: failed to create stream: Permission denied in [hostadresse]on line 14
Warning: fgets(): supplied argument is not a valid stream resource in [hostadresse] on line 15
1
Warning: rewind(): supplied argument is not a valid stream resource in [hostadresse]on line 22
Warning: fwrite(): supplied argument is not a valid stream resource in [hostadresse]on line 23
Warning: fclose(): supplied argument is not a valid stream resource in [hostadresse]on line 24
Gruß
M.
Antwort 3 von muu2005
musst die schreibrechte des ordners, in der die counter.txt angelegt werden soll, auf 777 setzten.
manche server verweigern naehmlich das anlegen oder beschreiben von datein mit standart chmod rechten. (is zwar standart nie auf 777, jedoch funktioniert es in der regel, wenn der befehl direkt von einer auf dem server angelegten datei kommt.)
manche server verweigern naehmlich das anlegen oder beschreiben von datein mit standart chmod rechten. (is zwar standart nie auf 777, jedoch funktioniert es in der regel, wenn der befehl direkt von einer auf dem server angelegten datei kommt.)
Antwort 4 von ClemBra
Die Berechtigungsstufe 666 reicht für einen Lese- und Schreibzugriff aus. Wenn dein FTP-Client die Direkteingabe eines Befehls unterstützt, gib mal folgende Zeile ein, wenn du im richtigen Verzeichnis bist:
SITE chmod 666 counter.txt
Ansonsten gibt es sicherlich eine Funktion mit der die Berechtigungsstufe gesetzt werden kann. (Weite Infos in der Hilfe deines FTP-Programmes)
SITE chmod 666 counter.txt
Ansonsten gibt es sicherlich eine Funktion mit der die Berechtigungsstufe gesetzt werden kann. (Weite Infos in der Hilfe deines FTP-Programmes)
Antwort 5 von mario9
Danke für den Tip mit dem site Befehl.
Nun funktioniert es, obwohl der provider mir mitgeteilt hat, dass in meinem Tarif doch keine php unterstützng ist.
Gruß
M.
Nun funktioniert es, obwohl der provider mir mitgeteilt hat, dass in meinem Tarif doch keine php unterstützng ist.
Gruß
M.
Antwort 6 von missmoose
Hallo,
ich habe das gleiche Problem wie mario9 es hatte, allerdings habe ich nciht die geschweifte klammer vergessen.
Woran könnte das liegen?
ich habe das gleiche Problem wie mario9 es hatte, allerdings habe ich nciht die geschweifte klammer vergessen.
Woran könnte das liegen?

