Formular Werte zurückgeben

docma

Erfahrenes Mitglied
Hallo

In meinem Email-formular müssen alle felder ausgefühlt werden.
Ist ein Feld nicht ausgefühlt erscheint bei der Auswertungsdatei eine meldung
mit einem Zurück button.
Wenn man diesen nun anklickt sind alle Werte zufor gelöscht.
Wie kann man dies verhindern?

danke
 
Hallo,

du kannst die Werte z.b. in Sessions abspeichern oder du wertest die Werte gleich im Formular aus und erzeugst nicht erst noch eine Auswertungsdatei. So mach ich es eigentlich immer.

Gruß
cesupa
 
Hallo,

Wenn nicht alle Felder ausgefüllt sind, kannst du das Formular ja nocheinmal anzeigen lassen. Dabei trägst du die Werte die schon vorhanden waren wieder in das Formular ein, und die Felder die nicht ausgefüllt waren kannst du ja rot hinterlegen, oder du lässt über dem Formular den Hinweis ausgeben, dass nicht alle Felder ausgefüllt waren.

Mal ein Beispiel:

PHP:
if(isset($_POST['senden']))
{
  $pruefsumme = 0;
  $meldung = 'Bitte geben Sie ';
  if(empty($_POST['name']))
  {
    $meldung .= 'Ihren Namen';
    $pruefsumme++;
    $name = '';
  }
  if(empty($_POST['email']))
  {
    $meldung .= ',Ihre Email-Adresse';
    $pruefsumme++;
    $email = ''
  }
  $meldung .= ' ein';

  if($pruefsumme > 0)
  {
    echo $meldung;
    
    // Zeige das Formular nochmal an
    $ausgabe = '<form method="post" action="kontakt.php" ><fieldset>';
    $ausgabe .= '<input type="text" name="name" id="name" size="30" maxlength="50" value="'.$name.'" />';
    $ausgabe .= '<input type="text" name="email" id="mail" size="30" maxlength="90" value="'.$email.'" />';
   echo $ausgabe;
  }
  else
  {
    // Mache das was du vor hast
  }
 
Habe mal nach sessions gesucht und folgendes gefunden
PHP:
<?php 
    // 
    // session1.php 
    // 
    session_start(); 

    $_SESSION["user"] = "Webmaster"; 

    echo "<a href=\"session2.php\">Weiter zu session2.php</a>"; 
?> 
//--------------------------------------------------- 
<?php 
    // 
    // session2.php 
    // 
    session_start(); 

    if (isset($_SESSION["user"])) 
      echo "User = " . $_SESSION["user"]; 
    else 
      echo "Unbekannter User"; 
?>

allerdings ist mir unklar wie ich diese im Formular einbauen soll
z.b.:
HTML:
		Name:<br>
		<input type="text" name="name" size="30" onblur="NurBuchstaben(this)" onfocus="this.style.background='slatgray';" style="background: whitesmoke;"><br>
		Telefon:<br>
		<input type="text" name="telefon" size="30" onblur="NurTelefon(this)" onfocus="this.style.background='slatgray';" style="background: whitesmoke;"><br><br>
<input type="submit" value="Senden">
 
Zurück