Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehler in Scripten
stefan.bautz
09-09-2003, 13:52
Hallo zusammen,
habe ein paar Scripte gebastelt, die erst sehr gut funktionierten aber nach dem zusammenfassen in 2 Dateien, gehen Sie auf einmal nicht mehr und ich finde die Fehler nicht... :mad:
Im Script Index.php erscheint folgender
Parse error: parse error, unexpected '.' in E:\Web\htdocs\scripts\index.php on line 57
und im Script Upload.php folgender
Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in E:\Web\htdocs\scripts\upload.php on line 35
kann mir einer sagen wo die Fehler sind? :confused: :confused:
Die Scripte sind im Anhang
Danke schon mal im Vorraus
Stefan
Nun, so auf anhieb kann ich es dir nicht sagen, aber:
Entweder ein " vergessen, oder zuviel
ein ; vergessen
oder in } vergessen (zuviel ?)
und zwar wahrscheinlich VOr der Zeile 35
Ansonsten gilt die Frage : Anhang, an die ich mich anschliessen moechte ;)
gruss,
pitu
stefan.bautz
09-09-2003, 14:30
scheiss technik... :rolleyes:
entweder bin ich zu blöd was hochzuladen oder es geht nicht..
habs hierhin (http://www.sb-c.de/scripts.zip) geladen
mfg
stefan
index.php, Zeile 57
echo "<form action="../scripts/index.php" method="POST">"; Du hast die inneren Gänsefüsschen nicht escaped. Gilt übrigens auch für folgende Zeilen.
upload.php, Zeile 35
echo "<form action=".$PHP_SELF." enctype=\"multipart/form-data\" method="POST">"; Hier ist zwar ansatzweise was zu erkennen, aber konsequent durchgehalten hast Du es nicht. ;)
Statische Strings würde ich in einfach Hochkommatas setzen, dann ersparst Du Dir das ständige Escapen (aka Leaning-Toothpick-Syndrom).
stefan.bautz
09-09-2003, 15:14
:confused:
so hab ich's noch
echo "<form action="../scripts/index.php" method="POST">";
und so sollte ichs machen? fang grad erst mit php an... :(
echo "<form action="../scripts/index.php\" method="POST\">";
oder wie?
@phate, da wo ich's so gemacht hab, ist der code nicht von mir sondern von nem kollegen.. der ist aber im moment im urlaub im sonnigen mallorca... :)
also, mit einem echo "blah blah blah"
gibst du irgendetwas aus, was zwischen den Anfuehrungszeichen steht.
Wenn du nun hast echo "blah "blubber" blah", woher soll nun der Computer wissen, das die Anfuehrungszeichen von um Blubber eine Ausgabe sind.
Fuer den computer ist das so:
echo "blah "blubber" blah"
Daher musst dem dem Computer mitteilen, das die inneren Anfuehriungzeichen zur Ausgabe gehoeren, und nicht zum echo-befehl:
echo "blah \"blubber\" blah"
stefan.bautz
09-09-2003, 15:22
ok, dummer anfängfehler.. jetzt weiss ich wie ich's machen muss.
jetzt klappt alles...
kann mir nur noch eben einer erklären wie ich $PHP_SELF einsetzen muss?
gibts da was zu beachten?
vielen dank
stefan
Hallo!
Da du ein Anfänger bist, werd ich dir gleich mal erklären wie du PHP richtig lernst...
Als erstes stellst du mal register_globals in deiner php.ini auf off!
Und dann fängst du mal an die Superglobalen Variablen zu benutzen (es sei denn du hast ne PHP Version die älter ist als 4.1 - in diesem Fall würd ich als allererstes zu einem Update raten).
Lektürenhilfe:
http://de3.php.net/register_globals
http://de3.php.net/release_4_1_0.php
Zu $PHP_SELF:
$PHP_SELF wäre somit dann $_SERVER['PHP_SELF']
stefan.bautz
09-09-2003, 16:45
Also auf meinem PC ist
Apache/2.0.47 (Win32) mod_perl/1.99_10-dev Perl/v5.8.0 mod_ssl/2.0.47 OpenSSL/0.9.7b PHP/4.3.3RC2-dev
Als erstes stellst du mal register_globals in deiner php.ini auf off!
hab ich gerade gemacht, aber ich muss gleich noch mal prüfen ob mein provider das auch hat...
aber was heisst Superglobale Variablen? sind die auf dem ganzen server gültig oder wie muss ich das verstehen? mit der doku unter den links komm ich irgendwie nicht klar.. die reden wieder viel zu viel um den heissen brei rum.. :rolleyes:
Ob dein Provider das auf off hat brauchst du nicht zu checken - er kanns ruhig an haben, hauptsache deine Skripte sind auf Off ausgelegt.
Superglobal bedeutet, dass die Variablen überall in deinem Skript verfügbar sind, ohne dass du sie global deklarieren musst.
Die Arrays werden automatisch mit den entsprechenden Werten gefüllt...
$_SERVER[] enthält alle servervariablen
$_GET[] alle Variablen die per get, also per url übergeben werden
$_POST[] alle Variablen die per POST / Formular übergeben werden
$_SESSION[] alle Session Variablen
$_COOKIE[] alle Cookie Variablen
usw usw...
Lies dir die Seite nochmal genau durch... sie zeigen dir wie man die Variablen verwendet, und wie du sichere PHP Skripte schreibst...
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.