Formular in HTML



  • Hi,
    ich möchte gerne ein Anmelde Formular in HTML programmieren, es sollte die Felder Vorname, Name, Adresse, Ort, Telefon, Telefax, E-Mail, Geburstag erhalten. Und natürlcih ein Button zum senden der Informationen. Die Informationen sollen dann an meine E-Mail Adresse geschickt werden. Ist das möglcih und wenn ja wie? Danke!

    mfg
    Sebastian



  • zuerst musst du ein formular einleiten:

    <form action="zieldatei.php" [method=post]>[formularinhalt]</form>
    

    wenn du kein method nimmst, ist die übergabe methode an action (zieldatei) GET.
    du kannst natürlich auch method=get nehmen.
    wenn du es nimmst und den parameter post eingibst, ist die methode POST. post ist im hintergrund, get siehst du in der addresszeile als datei.php?bla=bla&bla2=blabla
    die Eingabefelder kriegst du mit

    <input name="einname" type="text" value="">
    

    ins formular, auslesen kannst du das dann mit PHP:

    //bei method=get oder keiner methoden-angabe
    //wenn register_globals aus
    $test=$HTTP_GET_VARS['einname'];
    //wenn globals an
    $test=$_GET['einname'];
    //wenn method=post und register_globals=off
    $test=$HTTP_POST_VARS['einname'];
    //wenn globals an
    $test=$_POST['einname']
    

    nehmen wir mal an, du hast bei dem textfeld mit namen einname "Hallo Welt" eingegeben und die übergabemethode ist GET. dann sieht das skript so aus:

    // send.html
    <html>
    <head>
    <title>ein Test</title>
    </head>
    <body>
    <form action=get.php method="get">
    <input type="text" name="einname">
    <input type="submit" value="Absenden">
    </form>
    </body>
    </html>
    //get.php
    <html>
    <head>
    <title>Ausgabe von send.html</title>
    </head>
    <body>
    <?php
      //addresszeile: get.php?einname=Hallo%20Welt
      $get=$HTTP_GET_VARS['einname'];
      echo $get; //ausgabe: "Hallo Welt"
    ?>
    </body>
    </html>
    

    [edit] aso der rest:

    also ne mail kannst du mit

    mail(empfänger,betreff,text,absender);
    

    absenden. dazu muss aber das postscript oder wie das heisst auf dem server installiert sein.
    beispiel:

    mail("eva@mustermann.de","Hallo","Blabla","From: hallo@gruesse.com");
    

    hoffe, ich konnte helfen 🙂



  • postscript isn bisschen was anderes das was du meinst dürfte Sendmail sein 🙄



  • Blackhawk schrieb:

    //bei method=get oder keiner methoden-angabe
    //wenn register_globals aus
    $test=$HTTP_GET_VARS['einname'];
    //wenn globals an
    $test=$_GET['einname'];
    //wenn method=post und register_globals=off
    $test=$HTTP_POST_VARS['einname'];
    //wenn globals an
    $test=$_POST['einname']
    

    $HTTP_GET_VARS oder $_GET hat nichts mit der Einstellung von register_globals zu tun, sondern ab PHP 4.1.0. gibt es eben erst $_GET & Co. - für beides muss aber register_globals nicht auf on stehen (dürfte theoretisch aber natürlich) 😉



  • so lang die variable nicht doppelt vergeben wird ist es doch auch durch den namen der in der Adresszeile vergben wurde auf den Wert zuzugreifen, oder?

    // Wert aus Adresszeile url.de/nav.php?topic=bla
    if(isset($topic)) echo $topic;
    

    in dem Fall wäre es doch egal ob $_GET oder $HTTP_GET_VARS verwendet wird.



  • Das ist jetzt die Möglichkeit, die nur funktioniert, wenn register_globals auf on steht - daher die schlechteste Variante (da am fehlerträchtigsten) 🙂



  • Naja ich denke doch mal das das ganze sowieso auf dem Webserver eines Providers passieren wird von daher glaub ich kaum das die "register_globals" auf off stehen haben.



  • sToRkka schrieb:

    Naja ich denke doch mal das das ganze sowieso auf dem Webserver eines Providers passieren wird von daher glaub ich kaum das die "register_globals" auf off stehen haben.

    Eben - und genau deswegen sollte sevobal ja das $_GET-Array verwenden 😉



  • sToRkka schrieb:

    Naja ich denke doch mal das das ganze sowieso auf dem Webserver eines Providers passieren wird von daher glaub ich kaum das die "register_globals" auf off stehen haben.

    Wenn du selber die php.ini nicht verändern darfst, dann sollte man paranoid programmieren, also immer $_GET und $_POST benutzen, immer Variaben mit isset testen, bevor man sie benutzt, das gleiche gilt für $_SESSION und $_COOKIES Arrays, weil das überall egal mit welcher Einstellungen läuft. Außerdem weißt du nie, wann der sys admin die Einstellungen ändert und register_globals auf on zu setzen, macht kaum ein Server mehr.


Anmelden zum Antworten