Formular überprüfen

Hallo, du musst in deinem Formular auch die Variable "send" als true beim senden setzen, oder als verstecktes Feld im Formular integrieren, deswegen t das gane nicht.
 
Du kannst auch an die URL auch &send=true setzen und dann sollte es wieder funktionieren. Sieht dann so aus:
<form method="post" action="new_user.php?send=true">, wenn ich mich recht entsinne.
 
Irgendwann braucht man auch mal PC-freie Zeit ^^

PHP:
<form method="post" action="add_user.php?send=true">

dann musst du aber die Formularprüfung auch in diese Datei übertragen. Einfacher wäre es für dich, glaube ich zumindest, die Eintragungen in die Datenbank gleich mit in der selben Datei zu machen, die dein Formular enthält.

mfg
 
Dann ist da was verkehrt mit deinen Pfaden, wo liegt denn die Datei new_user.php? Liegt diese im selben Ordner, wie das Formular? Liegt sie ausserhalb? Bist du dir sicher, dass deine Prüfung auch in der Datei gespeichert ist? Schau nach, wie der Pfad dazu ist.
 
Die 2 Variable die vorher mit übergeben wurden müssen jetzt evtl. auch mit übergeben werden? Was da wäre topic und send und das kannst du entweder per GET machen indem du die beiden wieder in die `action`-Url einfügst mit .php?topic=$topic&send=send oder du schickst sie über ein `hidden`-Feld mit, dann mußt du sie allerdings mit POST abfragen.

[edit]
ähm... mal ne frage, wird die `new_user.php` zufällig irgendwo includiert? Weil das fällt mir so auf mit dem:
PHP:
<form method="post" action="<?=$_SERVER['PHP_SELF']?>?topic=<?=$_GET['topic']?>&send=true">
dann MU?T du natürlich dein `<form action` wieder genauso machen wie vorher...
[/edit]
 
Zuletzt bearbeitet:
Nur kleine Anmerkung am Rande @SasserVirus:

Es bringt nicht wirklich was, wenn du zu ein und dem selben Thema immer neue Threads erstellst. Ich habe dir auf deine Frage im Ursprungsthread geantwortet.
Versuch zumindest zu verstehen, dass wir "Helfer" auch mal Zeit ohne einen PC verbringen wollen oder berufstätig sind usw. daher ist dein "nerven" relativ unhöflich. Manche Sachen brauchen halt Zeit.

mfg
 
Das funktioniert nicht! Der leitet gleich weiter! Eigentlich müsste er erst prüfen, ob alles ausgefüllt ist und dann weiterleiten!

PHP:
<?php
    if ( $_GET['send'] == true ) 
    {

        $msg['vorname'][1]         = "<b>Vorname</b> fehlt<br>";
        $msg['vorname'][2]         = "<b>Vorname</b> (nur Buchstaben erlaubt)<br>";
        $msg['name'][1]            = "<b>Name</b> fehlt<br>";
        $msg['name'][2]            = "<b>Name</b> (nur Buchstaben erlaubt)<br>";
        $msg['anschrift'][1]       = "<b>Anschrift</b> fehlt<br>";
        $msg['plz'][1]             = "<b>Postleitzahl</b> fehlt<br>";
        $msg['plz'][2]             = "<b>Postleitzahlt</b> (5 Zahlen erlaubt)<br>";
        $msg['ort'][1]             = "<b>Ort</b> fehlt<br>";
        $msg['ort'][2]             = "<b>Ort</b> (nur Buchstaben erlaubt)<br>";
        $msg['user'][1]            = "<b>Benutzername</b> fehlt<br>";
        $msg['password'][1]        = "<b>Passwort</b> fehlt<br>";
        $msg['email'][1]           = "<b>Emailadresse</b> fehlt<br>";
        $msg['email'][2]           = "<b>Emailadresse</b> falsch<br>";


        # Vorname
        if ( ( !preg_match("/^[a-zäöüA-ZÄÖÜ\- ]*$/", $_POST['vorname'], $matches) ) && ( $_POST['vorname'] != "" ) )
        {
            $error['vorname'] = 2;
        }
        elseif ( $_POST['vorname'] == "" )
        {
            $error['vorname'] = 1;
        }
        # Name

        if ( ( !preg_match("/^[a-zäöüA-ZÄÖÜ\- ]*$/", $_POST['name'], $matches) ) && ( $_POST['name'] != "" ) )
        {
            $error['name'] = 2;
        }
        elseif ( $_POST['name'] == "" )
        {
            $error['name'] = 1;
        }

        # Geburtsdatum
        if ( $_POST['geburtsdatum'] == "" )
        {
            $error['geburtsdatum'] = 1;
        }

        # Anschrift
        if ( $_POST['anschrift'] == "" )
        {
            $error['anschrift'] = 1;
        }

        # PLZ
        if ( ( !preg_match("/^[0-9]{5}$/", $_POST['plz'], $matches) ) && ( $_POST['plz'] != "" ) )
        {
            $error['plz'] = 2;
        }
        elseif ( $_POST['plz'] == "" )
        {
            $error['plz'] = 1;
        }

        # Ort
        if ( ( !preg_match("/^[a-zäöüßA-ZÄÖÜ\.\- ]*$/", $_POST['ort'], $matches) ) && ( $_POST['ort'] != "" ) )
        {
            $error['ort'] = 2;
        }
        elseif ( $_POST['ort'] == "" )
        {
            $error['ort'] = 1;
        }

        # Benutzername
        if ( $_POST['user'] == "" )
        {
            $error['user'] = 1;
        }

        # Passwort
        if ( $_POST['password'] == "" )
        {
            $error['password'] = 1;
        }

        # E-Mail-Addresse
        if ( ( !preg_match("/^[\w\-\.]+@[\w\-\.]+\.[^\d]{2,4}$/", $_POST['email'], $matches) ) && ( $_POST['email'] != "" ) )
        {
            $error['email'] = 2;
        }
        elseif ( $_POST['email'] == "" )
        {
            $error['email'] = 1;
        }
    }
?>









   <HEAD>
      <title>Anmelden</title>
      <link rel="stylesheet" href="format.css" type="text/css">
   </HEAD>
      <form method="post" action="add_user.php?send=true">
      <table border="0" width="100%"><tr>
      <td height="350" align="center" valign="middle">
      <table border="0">
         <tr>
            <td colspan="4" align="center" valign="middle" class="submit">
               <img src="http://www.tutorials.de/forum/images/submit.png"></img>
            </td>
	 <tr>
	    <td align="left" class="submit"><b>Vorname:</b></td>
	    <td class="submit">
               <select name="geschlecht" value="<?=$_POST['geschlecht']?>" size="1">
                  <option>
                  <option>Herr
                  <option>Frau
               </select>
               <input class="inp260<?=$error['vorname'] != "" ? "error" : ""?>" type="text" name="vorname" value="<?=$_POST['vorname']?>" size="19"></td>
            <td align="left" class="submit"><b>Benutzername:</b></td>
            <td class="submit"><input class="inp260<?=$error['user'] != "" ? "error" : ""?>" type="text" name="user" value="<?=$_POST['user']?>" size="30"></td>
         <tr>
            <td align="left" class="submit"><b>Name:</b></td>
            <td class="submit"><input class="inp260<?=$error['name'] != "" ? "error" : ""?>" type="text" name="name" value="<?=$_POST['name']?>" size="30"></td>
            <td valign="top" align="left" class="submit"><b>Passwort:</b></td>
            <td class="submit"><input class="inp260<?=$error['password'] != "" ? "error" : ""?>" type="password" name="password" value="<?=$_POST['password']?>" size="30"></td>
         <tr>
            <td align="left" class="submit"><b>Geburtsdatum:</b></td>
            <td class="submit">
	       <select name="geburtsdatum_tag" value="<?=$_POST['geburtsdatum_tag']?>" size="1">
                  <option>
                  <option>01
                  <option>02
                  <option>03
                  <option>04
                  <option>05
                  <option>06
                  <option>07
                  <option>08
                  <option>09
                  <option>10
                  <option>11
                  <option>12
                  <option>13
                  <option>14
                  <option>15
                  <option>16
                  <option>17
                  <option>18
                  <option>19
                  <option>20
                  <option>21
                  <option>22
                  <option>23
                  <option>24
                  <option>25
                  <option>26
                  <option>27
                  <option>28
                  <option>29
                  <option>30
                  <option>31
	       </select>
               <b>.</b>
               <select name="geburtsdatum_monat" value="<?=$_POST['geburtsdatum_monat']?>" size="1">
                  <option>
                  <option>01
                  <option>02
                  <option>03
                  <option>04
                  <option>05
                  <option>06
                  <option>07
                  <option>08
                  <option>09
                  <option>10
                  <option>11
                  <option>12
	       </select>
               <b>.</b>
               <input name="geburtsdatum_jahr" size="4" value="<?=$_POST['geburtsdatum_jahr']?>" maxlength="4">
	    </td>
            <td valign="top" align="left" class="submit"><font color="#E6E6FA">(Wiederholen)</font></td>
            <td class="submit"><input type="password" name="password2" value="<?=$_POST['password2']?>" size="30"></td>
         <tr>
            <td align="left" class="submit"><b>Anschrift:</b></td>
            <td class="submit"><input class="inp260<?=$error['anschrift'] != "" ? "error" : ""?>" type="text" name="anschrift" value="<?=$_POST['anschrift']?>" size="30"></td>
            <td valign="top" align="left" class="submit"><b>Emailadresse:</b></td>
            <td class="submit"><input class="inp260<?=$error['email'] != "" ? "error" : ""?>" type="text" name="email" value="<?=$_POST['email']?>" size="30"></td>
         <tr>
            <td align="left" class="submit"><b>PLZ, Ort:</b></td>
            <td class="submit"><input class="inp260<?=$error['plz'] != "" ? "error" : ""?>" type="text" name="plz" value="<?=$_POST['plz']?>" size="5" maxlength="5">&nbsp;<input class="inp260<?=$error['ort'] != "" ? "error" : ""?>" name="ort" value="<?=$_POST['ort']?>" size="20"></td>
            <td valign="top" align="left" class="submit"><font color="#E6E6FA">(Wiederholen)</font></td>
            <td class="submit"><input type="text" name="email2" value="<?=$_POST['email2']?>" size="30"></td>
         <tr>
            <td colspan="4" align="right" valign="top" class="submit">
               <input type="submit" name="anmelden" value="Anmelden" class="button">
            </td>
      </table>
      </td>
      <td height="350" align="left" valign="middle">
         <?php
                  if ( is_array($error) )
                  {
                  echo "<span style='color: #FF0000; font-weight: bold;'>";
                  echo "Folgende Fehler sind aufgetreten:";
                  echo "</span>";
                  }
               ?><br><br>               
               <?=$error['vorname'] != "" ? $msg['vorname'][$error['vorname']] : ""?>
               <?=$error['name'] != "" ? $msg['name'][$error['name']] : ""?>
               <?=$error['anschrift'] != "" ? $msg['anschrift'][$error['anschrift']] : ""?>
               <?=$error['plz'] != "" ? $msg['plz'][$error['plz']] : ""?>
               <?=$error['ort'] != "" ? $msg['ort'][$error['ort']] : ""?>
               <?=$error['user'] != "" ? $msg['user'][$error['user']] : ""?>
               <?=$error['password'] != "" ? $msg['password'][$error['password']] : ""?>
               <?=$error['email'] != "" ? $msg['email'][$error['email']] : ""?>
      </td>
   </tr></table>
   </form>



Und ja die add_user.php ist im gleichen Verzeichnis!

Mit;

PHP:
<form method="post" action="<?=$_SERVER['PHP_SELF']?>?topic=<?=$_GET['topic']?>&send=true">

prüft er zwar, aber leitet nicht weiter!

Er schickt einfach weiter, ohne zu prüfen...

Und das hier;

PHP:
<form method="post" action="<?=$_SERVER['PHP_SELF']?>?topic=<?=$_GET['topic']?>&send=true">

hatte ich kopiert (siehe POST am Anfang!)
 
@SasserVirus: Bitte unterlasse zukünftig das mehrfache Starten eines Threads mit derselben Problemstellung - siehe hierzu auch die Netiquette Nr.12.

Oder willst du hier im Board für Chaos und ein kollektives "Déjà-vu"-Erlebnis sorgen?

Aus diesem Grund wurden die beiden Themen an dieser Stelle zusammengetackert.
 
Zurück