PHP Skript läuft nicht auf Rechner - aber auf Server

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP Skript läuft nicht auf Rechner - aber auf Server

    Hi,
    ich habe ein Kontaktformular in Html-php erstellt. Auf dem Server
    funktioniert es auch. Auf dem Rechner jedoch nicht richtig.
    d.h. Wenn ich das Kontaktformular ausfülle und absende werden
    mir in der Antwortseite keine Variablen (Vorname, Nachn..)angezeigt
    und in der if Abfrage wird nur else berücksichtigt.
    Egal was ich auswähle -Anzeige: "Schön, dass Ihnen das Spiel gefallen hat".
    (mehr dazu im Script unten).
    Ich habe Apache 1.3.2 und PHP 4.2.1 installiert. Funktioniert auch so weit.
    Ich kann phpinfo anzeigen lassen und die einzelnen Seiten.
    Mein Code der Html-Seite:
    <body>
    <h3>Geben Sie Ihre Daten ein!</h3>
    <form action="antwort.php" method="post">
    Vorname<br><input type=text name="vorname" size="20"><br>
    Nachname<br><input type=text name="nachname" size="20"><p>
    E-Mail <br><input type=text name="email" size=30><p>
    <h4>Wie hat Ihnen das Spiel gefallen?</h4></p>
    <select size=1 name="rank">
    <Option value ="keine Angabe">keine Angabe</Option>
    <option value="sehr gut">sehr gut</option>
    <option value="gut">gut</option>
    <option value="nicht so gut">nicht so gut</option>
    </select><p>
    <input type=submit name="submit" value="abschicken">
    </form>
    </body>
    Der Code der PHP-Seite:
    <body>
    <?php
    echo "Ihr Vorname ist <br>$vorname <br>";
    echo "Ihr Nachname ist <br>$nachname <br>";
    echo "Ihre E-Mail-Adresse ist <br>$email <br>";
    echo "Ihre Note für unser Spiel ist <br>$rank<p>";
    if($rank=="keine Angabe")
    {echo"Danke für Ihre Teilnahme";}
    elseif($rank=="nicht so gut")
    {echo "Schade, dass Ihnen das Spiel nicht gefallen hat";}
    else
    {echo "<b>Schön, dass Ihnen das Spiel gefallen hat</br>";}
    ?>
    </body>

    Vielleicht hat jemand von euch einen Tip.
    Gruß Ingo

  • #2
    Schau mal, ob in der php.ini der Parameter register_globals auf 'Off' gesetzt ist.

    Wenn Ja, setzte ihn auf "On"

    Code:
    ; You should do your best to write your scripts so that they do not require
    ; register_globals to be on;  Using form variables as globals can easily lead
    ; to possible security problems, if the code is not very well thought of.
    register_globals = On
    Vergiß nicht danach den Apache zu stoppen und wieder zu starten.

    Kommentar


    • #3
      php-ini-einstellung register_globals überprüfen - es ist off, werden variablen nicht automatisch aus formularfeldern generiert (sicherer!) - dann musst du dir sie aus dem array $_POST holen...

      Kommentar


      • #4
        Hi,

        das wars - Problem gelöst. Besten Dank.
        Aber was neues tut sich auf.
        Ich habe Dreamweaver MX so eingerichtet das z.B. C:\www
        mein Stammordner ist. Wenn ich nun aus Dreamweaver
        die Seite veröffentliche (F12) funktioniert alles.
        Starte ich die HTML-Seite (Kontakt.htm) aber direkt und
        klicke auf abschicken bleibt der Browser leer. Er sucht wohl
        die PHP-Seite (antwort.php) welche er nicht findet.
        Anwort.php liegt im gleichen Verzeichnis wie Kontakt.htm,
        also müsste der Browser es ja finden.
        Oder gibt es da etwas im Zusammenspiel Apache-PHP-Localhost etc.
        was noch zu beachten wäre?

        Gruß Ingo

        Kommentar


        • #5
          du darfst nicht die seite mit f12 starten. Du musst apache laufen lassen und und mit localhost/deinscript.php aufrufen.

          Mein Apache is im Ordner c:\Apache
          UNd wenn ich im ie localhost aufrufe bin ich hier:

          c:\apache\htdocs

          Wenn mein script nun mail.php heisst und es sich im ordner

          c:\apache\htdocs

          befindet so starte ich apache und rufe im ie localhost/mail.php auf.
          __________________________
          __________________________

          Kommentar


          • #6
            Auch dieses klappt

            Hallo Crono,

            vielen Dank. Wenn ich nun localhost aufrufe klappts.
            Bei mir ist der Stammordner www (in httpd.conf "DOCUMENTROOT" auf C:/www geändert).

            Gruß Ingo

            Kommentar

            Lädt...
            X