Sonny: Kontaktformular mit URL Parameter füllen

Hallo zusammen,

ich möchte für unsere private Schachrunde ein kurzes Kontaktformular erstellen, welches die eingegebenen Daten am Ende in eine CSV-Datei schreibt. Das mit dem Formular und der CSV-Datei funktioniert bereits.

Wie kann ich das Kontaktformular über Parameter in der URL füllen?
Also das beispielsweise bei Name "Herr Maier" bereits ausgefüllt ist wenn man die Datei aufruft?

In der Domain sieht das ja dann immer so aus: www.testseite.de/test.php?name=HerrMaier

Weiß jemand wie das genau funktioniert?

Hier der Code:

<html>
<head>
</head>
<body>
<?php
if (isset($_POST["Submit"]) && $_POST["Submit"] == "Senden" && isset($_POST["name"]) && $_POST["name"] != "")
{
   $file = fopen("test.csv", "a");
   if($file)
   {
      $beitrag =   $_POST["name"] . ";";
      $beitrag .=   $_POST["anschrift"] . ";";
   $beitrag .=   $_POST["select"] . "\n";
      if($_POST["frage"] == "komme")
      {
         $beitrag .= "Nimmt teil" . "\n";
      }
      else
      {
         $beitrag .= "Nimmt nicht teil" . "\n";
      }
      fputs($file, $beitrag);
      fclose($file);

}
   else
   {
      echo "Fehler!";
   }
   echo "Vielen Dank";
}
else
{
?>

<form name="anfrage" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
   <p>Name:
     <input name="name" type="text" value="JULES" />
     <br />
   Anschift:
   <input name="anschrift" type="text" />
  </p>
   <p>
     <label>Event:
     <select name="select">
       <option>&Auml;rzte Messe M&uuml;nchen 03.10.2007 </option>
       <option>&Auml;rzte Messe Augsburg 04.10.2007 </option>
     </select>
     </label>
     <br />
     komme:
     <input type="radio" name="frage" value="komme" checked="checked" />
     komme nicht:
     <input type="radio" name="frage" value="kommenicht" />
     <br />
     <input type="submit" name="Submit" value="Senden" />
      </p>
</form>
<?php } ?>
</body>
</html>
</body>
</html>

Wäre schön wenn mir da jemand helfen kann da ich aus dem Printbereich komme.

Gruß

Sonny

  1. Hallo Sonny

    Wie kann ich das Kontaktformular über Parameter in der URL füllen?
    Also das beispielsweise bei Name "Herr Maier" bereits ausgefüllt ist wenn man die Datei aufruft?

    In der Domain sieht das ja dann immer so aus: www.testseite.de/test.php?name=HerrMaier

    Weiß jemand wie das genau funktioniert?

    Die Parameter, die über die URL übergeben werden stehen im Skript im array $_GET zur Verfügung. Dein Formular verwendet die Methode POST (Man könnte hier auch GET verwenden, was aber bei Formularen eigentlich nicht üblich ist) Um die Felder des Formulares schon beim ersten Aufruf (direkt über die URL) zu füllen, kannst du folgendermassen vorgehen:

    ändere die Zeile mit dem gewünschten Input Feld folgendermassen:

      
    <input name="name" type="text" value="<?php echo $_GET['name'];?>" />  
    
    

    Probier mal, deine Seite dann wie oben geschrieben (www.testseite.de/test.php?name=HerMaier) aufzurufen.

    Da ich annehme, dass es sich um eine Seite für einen beschränkten Nutzerkreis handelt, habe ich es mit der Sicherheit jetzt nicht so genau genommen. Generell solltest du natürlich vorsichtig sein und den Nutzereingaben mißtrauen. Nur so als kleines Beispiel: stell dir vor, jemand ruft die Seite über www.testseite.de/test.php?name="><h2>test</h2><br style=" auf (evtl. müsste man einige Zeichen noch kodieren, bin jetzt ehrlich gesagt auf die Schnelle zu faul, es auszuprobieren. ist ja auch SELF HTML hier :-) )

    Viel Glück - und Erfolg - bei deinen Versuchen.

    Liebe Grüße mbr

    1. Hi mbr!

      vielen Dank das funktioniert!

      Liebe Grüße

      Sonny