affenformular post daten sind nach weiterleitung weg

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • affenformular post daten sind nach weiterleitung weg

    bei meinen affenformular wird erst alles überprüft und dann der eintrag per header location weitergeleitet, dort scheinen die postr daten nicht angekommen zu sein, weiter ist das problem dass alle daten weg sind wenn man eine feld vergessen hat sollte doch beim postback nicht so sein ich werd schon ganz

    überprüfung
    PHP-Code:
    <?php
    require_once ('usefulstuff.php');
    require_once (
    'vars.php');

    if (!empty(
    $_POST)) {
    $fehler ="";
    if (!isset(
    $_POST['firma']) || $_POST['firma']=="")
     
    $fehler =$fehler."Firma, "
    if (!isset(
    $_POST['plz']) || $_POST['plz']=="")
     
    $fehler =$fehler."Plz, ";
    if (!isset(
    $_POST['strasse']) || $_POST['strasse']=="")
     
    $fehler =$fehler."Strasse, ";
    if (!isset(
    $_POST['nr']) || $_POST['nr']=="")
     
    $fehler =$fehler."Nr, ";
    if (!isset(
    $_POST['email']) || $_POST['email']=="")
     
    $fehler =$fehler."Email, ";
    if (!isset(
    $_POST['tel']) || $_POST['tel']=="")
     
    $fehler =$fehler."Telefon, ";
    if (!isset(
    $_POST['wtext'])  || $_POST['wtext']==""
     
    $fehler =$fehler."Werbetext, ";
    if  (
    $fehler!="")
    $fehler =$fehler."sind nicht ausgef&uuml;llt bitte alle ben&ouml;tigten felder ausf&uuml;llen <br/>";


    $plz ="";   $email=""
     
    $plz=$_POST['plz']; $email=$_POST['email']; 
    if (!
    isMail($email))
    $fehler =$fehler."Mail ung&uuml;ltig <br/>";


    if (!
    isPlz($plz))
    $fehler =$fehler."Plz ung&uuml;ltig <br/>";

    if (
    $fehler==""// da is alles weg, ich machen die überprüfung im upload.php nochmal
    header("Location: upload.php");
    else
    echo 
    $fehler;

    }


    HTML-Code:
    <form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post" enctype="multipart/form-data"  onSubmit="return chkFormular()">
    
    
       <input type="hidden" name="MAX_FILE_SIZE" value="100000">
       <table border="1" cellpadding="2" cellspacing="2"  width="40%">
         <colgroup>
        <col width="30%">
    
      </colgroup>
    
       <tr>
    		 <td>Firma: </td> <td><input name="firma" type="text" size="40" maxlength="40"> </td>
       </div>
    	<tr>
    		 <td>PLZ: </td> <td><input name="plz" type="text" size="4" maxlength="4"> </td>
       </div>
    	<tr>
        <td>Strasse: </td> <td><input name="strasse" type="text" size="40" maxlength="40">  </td>
    	 <td>Nr: </td>  <td><input name="nr" type="text" size="6" maxlength="6">  </td>
       </div>
    	<tr>
        <td>email: </td> <td> <input name="email" type="text" size="40" maxlength="40"> </td>
       </div>
       <tr>
        <td>Telefon: </td>  <td><input name="tel" type="text" size="40" maxlength="40"> </td>
       </div>
       <tr>
        <td> Homepage: </td> <td><input name="url" type="text" size="40" maxlength="40"></td>
       </div>
    	<tr>
        <td>Ihr Werbetext: </td>  <td><textarea name="wtext" cols="40" rows="10"></textarea> </td>
    	</div>
    	<tr>
        <td colspan="2"><input name="datei" type="file" maxlength="100"></tr>
    	<tr><td colspan="2"><input type="submit" value="Senden"> </td>
       </tr>

  • #2
    Zitat von meskalin Beitrag anzeigen
    bei meinen affenformular wird erst alles überprüft und dann der eintrag per header location weitergeleitet, dort scheinen die postr daten nicht angekommen zu sein
    Natürlich nicht - POST-Daten „überleben“ eine Weiterleitung nun mal nicht.

    Die Verwendung eines Location-Headers (der übrigens ohne einen vollständigen, absoluten URL dahinter falsch ist) ohne weitere Angaben geht mit einem HTTP Statuscode 302 Found einher, und für den ist definiert:
    If the 302 status code is received in response to a request other than GET or HEAD, the user agent MUST NOT automatically redirect the request unless it can be confirmed by the user, since this might change the conditions under which the request was issued.
    Ausserdem wird noch in Bezug auf die Praxis angemerkt:
    Note: RFC 1945 and RFC 2068 specify that the client is not allowed to change the method on the redirected request. However, most existing user agent implementations treat 302 as if it were a 303 response, performing a GET on the Location field-value regardless of the original request method.

    Ausserdem widerspricht die Weiterleitung dem Prinzip des Affenformulars.
    Verzichte also auf die Weiterleitung, und verarbeite die Daten nach ihrer erfolgreichen Validierung direkt in dem Script, an welches sie gesendet wurden - und schon hat sich dein Problem in Luft aufgelöst.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Eine Anmerkung noch abseits des Themas: Man sollte HTML-Tabellen nicht für Layoutzwecke missbrauchen.

      Kommentar

      Lädt...
      X