Wie kann ich Formular-Daten nach einer Überprüfung per >>POST<< weitergeben?

Fabian Frank

Erfahrenes Mitglied
Hallo!

Ich möchte mit folgendem Skript die eingegebenen, überprüften Daten an eine nächste Seite weitergeben. Wie kann ich das machen? Ich weiß nicht, wie ich es anstellen soll, dass die daten, nachdem sie überprüft wurden, per post-methode an eine weitere Seite wietergegeben werden :P

Hoffe mir kann jemand schnellstmöglich helfen!

Danke!

mfg

Fabian Frank

PHP:
<?php 
    if(isset($_POST['formcheck'])) 
    { 
    $check_ok = 1; 

      if(empty($_POST['anrede'])){ 
      $check_ok = 0; 
      $error['anrede'] = "<font color='red' size='2'>x</font>"; 
      } 
      if(empty($_POST['vorname'])){ 
      $check_ok = 0; 
      $error['vorname'] = "<font color='red' size='2'>x</font>"; 
      } 
	  if(empty($_POST['nachname'])){ 
      $check_ok = 0; 
      $error['nachname'] = "<font color='red' size='2'>x</font>"; 
      }
	  if(empty($_POST['straße'])){ 
      $check_ok = 0; 
      $error['straße'] = "<font color='red' size='2'>x</font>"; 
      }
	  if(empty($_POST['ort'])){ 
      $check_ok = 0; 
      $error['ort'] = "<font color='red' size='2'>x</font>"; 
      }
	  if(empty($_POST['plz'])){ 
      $check_ok = 0; 
      $error['plz'] = "<font color='red' size='2'>x</font>"; 
      }
	  if(empty($_POST['email'])){ 
      $check_ok = 0; 
      $error['email'] = "<font color='red' size='2'>x</font>"; 
      }
	  if($_POST['passwort_1'] =! $_POST['passwort_2']){ 
      $check_ok = 0; 
      $error['passwort'] = "<font color='red' size='2'>x</font>"; 
      }
  }
  if($check_ok=="1"){


>>Hier sollten die Daten irgendwie übertragen werden...<<


       }
					
else 
{
?>
<form name="addlink" method="post" action="<? print($_SERVER['PHP_SELF']); ?>">
	  <table width="771" border="0" align="center" cellpadding="1" cellspacing="1">
      <tr>
      <td width="161"><span class="Stil3">Anrede*:</span></td>
      <td width="269"><span class="Stil6">
        <select name="anrede" class="textfield">
          <option value="Bitte w&auml;hlen" selected>Bitte w&auml;hlen</option>
          <option value="Herr">Herr</option>
          <option value="Frau">Frau</option>
        </select>
      <? echo $error['anrede']; ?></span></td>
      <td width="331"><span class="Stil3"></span></td>
      </tr>
  <tr>
    <td><span class="Stil3">Vorname*:</span></td>
    <td><input name="vorname" type="text" size="25" maxlength="25" class="textfield">&nbsp;<? echo $error['vorname']; ?></td>
    <td><span class="Stil3"></span></td>
  </tr>
  <tr>
    <td><span class="Stil3">Nachname*:</span></td>
    <td><input name="nachname" type="text" size="25" maxlength="25" class="textfield">&nbsp;<? echo $error['nachname']; ?></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><span class="Stil3">Stra&szlig;e, Nr*.:</span></td>
    <td><input name="straße" type="text" size="25" maxlength="25" class="textfield">&nbsp;<? echo $error['straße']; ?></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><span class="Stil3">Ort*:</span></td>
    <td><input name="ort" type="text" size="25" maxlength="25" class="textfield">&nbsp;<? echo $error['ort']; ?></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><span class="Stil3">PLZ*:</span></td>
    <td><input name="plz" type="text" size="25" maxlength="25" class="textfield">&nbsp;<? echo $error['plz']; ?></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
   <tr>
    <td><span class="Stil3">Loginname*:</span></td>
     <td>&nbsp;</td>
  </tr>
  <tr>
    <td><span class="Stil3">Email*:</span></td>
    <td><input name="email" type="text" size="25" maxlength="25" class="textfield">&nbsp;<? echo $error['email']; ?></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><span class="Stil3">Passwort*:</span></td>
    <td><input name="passwort_1" type="text" size="25" maxlength="25" class="textfield">&nbsp;<? echo $error['passwort']; ?></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><span class="Stil3">Passwort best&auml;tigen*: </span></td>
    <td><input name="passwort_2" type="text" size="25" maxlength="25" class="textfield">&nbsp;<? echo $error['passwort']; ?></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><span class="Stil3">Telefon:</span></td>
    <td><input name="telefon" type="text" size="25" maxlength="25" class="textfield"></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><span class="Stil3">Handy:</span></td>
    <td><input name="handy" type="text" size="25" maxlength="25" class="textfield"></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><span class="Stil3">ICQ:</span></td>
    <td><input name="icq" type="text" size="25" maxlength="25" class="textfield"></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr><input type="hidden" name="formcheck" value="1">
    <td><input name="Submit" type="submit" value="Anmeldung abschlie&szlig;en"></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
      <p>&nbsp;</p>
      <p>&nbsp;</p>
      </form>  
    <? 
      } 

      ?>
 
Was soll denn mit den Daten im anderen Skript geschehen? Falls die Daten dort bloß weiterverarbeitet werden, könntest du dies in das Skript per include-Anweisung direkt einbinden. Übrigens solltest du das Skript, insbesondere die Fehlerbehandlung, etwas benutzerfreundlicher gestalten.
 
also, das weitere Formular soll die Daten halt praktisch in ein hidden feld einfügen, da in dem Formular weitere Daten eingegeben werden. Also das muss man sich so vorstellen, dass das ein großes Formular aufgeteilt auf kleinere Formulare sein soll, bei dem das letzte Formular alle Daten in eine MySQL Datenbank speichert.

Aber was meinst du mit "benutzerfeundlicher"?
 
In dem Fall solltest du am besten mit Sitzungen arbeiten und die Daten auf dem Server – beispielsweise in einer Datenbank – zwischenspeichern.
Zu deiner Frage: Ein einfaches, rot dargestelltes X sagt nicht gerade viel darüber aus, was falsch gelaufen ist. Eine kurze, beschreibender Fehlermeldung dagegen schon:
PHP:
<?php

	$errors = array();
	if( empty($_POST['foobar']) ) {
		$errors[] = 'Bitte geben Sie Ihr foobar an.';
	}

	…

	if( !empty($errors) ) {
		echo '<div class="note error"><ul>';
		foreach( $errors as $error ) {
			echo '<li><strong>'.$error.'</strong></li>';
		}
		echo '</ul></div>';
	} else {
		// alles verlief fehlerfrei
	}

?>
 
ja danke. Nur hab ich da nicht das gefunden, was ich suche.
Es geht darum dass das Formular in der selben Datei überprüft werden soll. Gut. Aber da wo steht: >>Hier sollten die Daten irgendwie übertragen werden...<< sollen die eingegebenen Daten an die zweite Datei übermittelt werden. Wie kann ich das mit PHP machen, ohne ein neues Form zu öffnen?
 
sie sollen in ein hidden feld in dem dort enthaltenem Formular eingefügt werden und nach ausfüllen dessen formulars wiederum an eine dritte dtei weitergegeben werden...usw...
 
Ach ja, hast du ja bereits erwähnt. Hast du schon über meinen Vorschlag mit der Sitzung und der Datenbank nachgedacht?
 
Zurück