Was ist den da los ?

  • Hallo Leute,

    ich habe z.Z ein wenig Zeit, so das ich mir dachte setzt du dich mal ans openbook von gc für php.

    Nun bin ich gerade bei bearbeitung von formularen und er zickt rum.

    Ich habe den Code sogar 1:1 aus dem Beispiel kopiert also:

    test.html

    send.php

    starte ich nun test.html und gebe 2 Zahlen ein krieg ich wenn ich es abschicke, folgende Meldung:

    "Die Summe von und ist 0"

    Woran liegt das der Code ist doch komplett kopiert.

    Ich benutze es local mit xampp.

    also rufe ich die Seiten mit
    http://localhost/test/datei.html/php
    auf.

    Jemmand ne idee ?

  • bist du sicher dass php auf deinem xampp läuft?
    wenn nicht dann ist ja klar warum, wenn schon - probiers mal so (send.php):

    PHP
    <html>
    <body>
    <?php
    $erg = $_POST['w1'] + $_POST['w2'];
    echo "Die Summe von $w1 und $w2 ist ".$erg;
    ?>
    </body>
    </html>
  • Hallo,

    also wenn ich dein Code einfüge erhalte ich wenn ich in die 2 Felder "5" eintrag folgendes von der send.php

    Die Summe von und ist 10

    Also berechnet er mir nur das Ergebniss, zeigt aber nicht die eingetragenen Zeichen ein.

    Aber das mit dem $_POST ist doch auch eigentlihc garnicht notwendig oder woran liegt das ?

    Danke :)

  • das ist notwendig, wenn php so eingestellt ist, dass rgister_globals OFF ist

    also musst du einfach jedes W1 und W2 etc durch $_POST['w1'] ersetzen

    echo "Die Summe von ".$_POST['w1']." und ".$_POST['w2']." ist".$_POST['w1'] + $_POST['w2'];

    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  • Hallo, danke für eure Antworten,

    wie kann ich den diese
    Register Globals auf on setzen
    (wie gesagt benutze xampp).

    Danke schonmal

  • ronald - also kann man mit extract($_POST) dirket auf die werte zugreifen durch $inputname ?
    gibts da was das man noch beachten sollte? sicherheitsmässig?
    würde es sinn machen das direkt in die global.php oder so zu schreiben?

    danke - phore.

  • Das 'extract($_POST)' kannst du bedenkenlos einsetzen, da es nur innerhalb des Scriptes selbst wirkt.
    Es wandelt die per Post übergebenen Daten zu Variablen um, die das Script (und nur das) dann weiterverarbeiten kann.

    Wenn aus deinem Eingabeformular z.B. ein

    Code
    <input type="text" name="Vorname">


    kommt und du in das Feld "Klaus" eingegeben hast, dann kannst du im empfangenden PHP-Script entweder mit $HTTP_POST_VARS auf den Wert zugreifen, oder etwas kürzer mit $_POST.
    Alle 3 Varianten liefern das gleiche Ergebnis:

    PHP
    <?php
    echo "1. ".$HTTP_POST_VARS["Vorname"]."
    ";
    echo "2. ".$_POST["Vorname"]."
    ";
    extract($_POST);
    echo "3. $Vorname";
    ?>

    Probiere es doch einfach mal aus.

    G.a.d.M.

    Ronald