Supportnet Computer
Planet of Tech

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");
}
?>

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.


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.)

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)

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.

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 möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: