Anzeige:
Ergebnis 1 bis 9 von 9

Thema: Formular mit POST

  1. #1
    Registrierter Benutzer
    Registriert seit
    10.11.2005
    Beiträge
    18

    Formular mit POST

    Ich habe ein einfaches Formular erzeugt, die Daten mittels POST übertragen und versucht
    diese wieder einzulesen.

    Definition des Formulars :

    <form method="post" action="formantwort.php">
    <p>Benutzer-Name:
    <input type="text" name="bname" size="30" maxlength="30">
    </p>
    <p>Passwort:
    <input type="text" name="bpasswort" size="16" maxlength="16">
    </p>
    <p>Benutzer-Level:
    <input type="text" name="blevel" size="2" maxlength="2">
    </p>
    <p>
    <input type="submit" name="Submit" value="Senden">
    <input type="reset" name="Reset" value="Zurücksetzen">
    </p>
    </form>
    --------------------------------------------------
    formantwort.php
    <html>
    <head>
    <title>Antwort : Kontaktformular</title>
    </head>
    <body>
    <h1>ANTWORT-Auswertung</h1>
    <?php
    echo "<font color=red size=3>
    Ergebnis:";
    echo "
    Folgende Daten wurden Übermittelt:<p>
    <b>Benutzer-Name:</b> $bname<br>
    <b>Passwort:</b> $bpasswort<br>
    <b>Level:</b> $blevel<br>";
    ?>
    </body>
    </html>

    Es steht aber in den Variablen $bname, $bpasswort und $blevel nichts drin.
    Vermutlich muss ich noch irgendeine Zuweisung der mittels POST übermittelten
    Daten zu den Variablen vornehmen. (Allerdings stand dies nicht in meinem Tutorial).

    Was ist mein Fehler ?

  2. #2
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Hallo,

    1. dein Tutrorial ist wohl veraltet und bezieht sich auf register_globals=0n
    2. die Variablen stehen in $_POST[] (schau nach mit print_r($_POST); )
    3. Nächstes mal die Suchfunktion benutzen - das Thema kommt alle paar Wochen.

    Kleine Lektüre: http://de3.php.net/reserved.variables

    Gruß,

    Gaert


  3. #3
    Registrierter Benutzer Avatar von ClausVB
    Registriert seit
    05.08.2005
    Ort
    NRW - Deutschland
    Beiträge
    106
    Zwei Tips:
    1. Bitte formatiere Deinen Source-Code mit den BB-Tags für PHP, HTML oder sonstigen Code
    2. Wenn Du gute Tutorials suchst, kann ich Dir vor allem den Bereich der GET-Parameter vom quakenet:#php Tutorial ans Herz legen.

    Auch das dritte Videotutorial zu GET und POST ist sehr gut. Allerdings ist hier das Grundwissen der Videotutorials 1 und 2 Voraussetzung. Eine Übersicht von guten Tutorials kannst Du auch hier im Forum (per Suche) finden.

    Gruß
    Claus
    Geändert von ClausVB (23-11-2005 um 12:43 Uhr) Grund: Wortfehler

  4. #4
    Registrierter Benutzer
    Registriert seit
    10.11.2005
    Beiträge
    18

    danke

    danke für die Unterstützung.
    mein Tutorial ist PHP4 für profis von Kannengiesser
    und SQL4 vom gleichen Autor.

    Leider schreibt er nichts davon, wie man aus $_POST auf die Variablennamen kommt,
    nach seiner Darstellung geht dies automatisch !!

  5. #5
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Hallo,

    Ich nehme an, dass es sich um eine alte Auflage handelt - du solltest dir was PHP angeht eine neuere Lektüre zulegen. Bis php 4.1 hat das geschriebene funktioniert - ab dieser Version wurde das register_globals Flag aus Sicherheitsgründen standardmäßig in der php.ini deaktiviert.

    Mehr Infos zu diesem Thema: http://de3.php.net/register_globals

    Gruß,

    Gaert


  6. #6
    Registrierter Benutzer Avatar von Giuly
    Registriert seit
    28.04.2003
    Ort
    HB-Nord
    Beiträge
    201
    formantwort.php
    PHP-Code:
    <html>
    <head>
    <title>Antwort : Kontaktformular</title>
    </head>
    <body>
    <h1>ANTWORT-Auswertung</h1>
    <font color=red size=3>
    Ergebnis:
    Folgende Daten wurden Übermittelt:<p>
    <b>Benutzer-Name:</b> <?=$_REQUEST["bname"]?><br>
    <b>Passwort:</b> <?=$_REQUEST["bpasswort"]?><br>
    <b>Level:</b> <?=$_REQUEST["blevel"]?>
    </body>
    </html>
    $_REQUEST ist $_POST und $_GET zusammen.

    MfG

  7. #7
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Zitat Zitat von Giuly
    formantwort.php
    $_REQUEST ist $_POST und $_GET zusammen.
    $_REQUEST ist $_POST und $_GET UND $_COOKIE.
    Und wenn du eh Variablen per Post erwartest, dann solltest du aus Sicherheitsgründen auch $_POST abfragen!

    Gruß,

    Gaert


  8. #8
    Registrierter Benutzer
    Registriert seit
    10.11.2005
    Beiträge
    18
    Dankeschön für das verbesserte Beispielscript.

  9. #9
    Registrierter Benutzer Avatar von ClausVB
    Registriert seit
    05.08.2005
    Ort
    NRW - Deutschland
    Beiträge
    106
    Zitat Zitat von Gaert
    Und wenn du eh Variablen per Post erwartest, dann solltest du aus Sicherheitsgründen auch $_POST abfragen!
    Das sehe ich genauso. Es gibt Shop-Systeme, die sogar Preise mit POST übertragen oder mit HIDDEN-Feldern mitschleppen. Sobald Du da als Hacker den Fuß drin hast, kannst Du ein Buch das 20 Euro kostet für 1 Euro kaufen.

    Mehr zu genau dieser Thematik steht in einer sehr interessanten PowerPoint-Folie (auch als PDF erhältlich) auf:
    http://www.hardened-php.net/talk_gru...erheit.70.html

    Um sicher zu programmieren, muss man im PHP-Skript die Formularvariablen auf Gültigkeit überprüfen.

    Parametermanipulation = Gezielte Beeinflussung der Arbeitsweise eines Skriptes durch Übermittlung von unerwarteten Werten z.B. 9, obwohl ein Voting zwischen 1 und 5 erwartet wird
    Ich kann die dort dargelegten Ausführungen nur jedem ans Herz legen.

    Gruß
    Claus

Lesezeichen

Berechtigungen

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