Anzeige:
Ergebnis 1 bis 11 von 11

Thema: Fehler in Scripten

  1. #1
    stefan.bautz
    Gast

    Question Fehler in Scripten

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

    Im Script Index.php erscheint folgender
    Code:
    Parse error: parse error, unexpected '.' in E:\Web\htdocs\scripts\index.php on line 57
    und im Script Upload.php folgender
    Code:
    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?

    Die Scripte sind im Anhang

    Danke schon mal im Vorraus

    Stefan

  2. #2
    Registrierter Benutzer Avatar von elrond
    Registriert seit
    04.10.2001
    Ort
    potsdam
    Beiträge
    881
    ??? Anhang ???
    "Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut." (Winston Churchill)

  3. #3
    Registrierter Benutzer Avatar von pitu
    Registriert seit
    07.06.2002
    Ort
    Nürnberg
    Beiträge
    142
    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
    11 Fehler in Windows, 88 Loesungen, 0 funktionieren.

    Dieser Beitrag steht unter der GNU Free Documentation License.

  4. #4
    stefan.bautz
    Gast
    scheiss technik...

    entweder bin ich zu blöd was hochzuladen oder es geht nicht..

    habs hierhin geladen

    mfg
    stefan

  5. #5
    Registrierter Benutzer Avatar von phate
    Registriert seit
    14.02.2003
    Beiträge
    149
    index.php, Zeile 57
    Code:
    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
    Code:
    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).

  6. #6
    stefan.bautz
    Gast

    so hab ich's noch
    Code:
    echo "<form action="../scripts/index.php" method="POST">";
    und so sollte ichs machen? fang grad erst mit php an...
    Code:
    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...

  7. #7
    Registrierter Benutzer Avatar von pitu
    Registriert seit
    07.06.2002
    Ort
    Nürnberg
    Beiträge
    142
    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"
    11 Fehler in Windows, 88 Loesungen, 0 funktionieren.

    Dieser Beitrag steht unter der GNU Free Documentation License.

  8. #8
    stefan.bautz
    Gast
    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

  9. #9
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    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']


  10. #10
    stefan.bautz
    Gast
    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..

  11. #11
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    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...


Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •