"Formular" Meldung

LoMo

Erfahrenes Mitglied
Hi,

ich hab ein rießen Problem und zwar möchte ich bei einen Formular Pflichtfelder abprüfen und wenn er es nicht ausgefüllt hat eine Warnung ausgeben. Wie kann ich in php ihn dann eine Warnung ausgeben? Hat jemand ne Idee ?

mfg lomo
 
Du pruefst jedes Feld einzeln, und wenn es leer ist gibst Du eine entsprechende Warnung aus.

Zum Beispiel so:
PHP:
$error=false;
if (!$_POST["var1"])
 {
  printf("Ey, var1 ist leer. Musst Du ausfuellen<br>");
  $error=true;
 }
if (!$_POST["var2"])
 {
  printf("Ey, var2 ist leer. Musst Du ausfuellen<br>");
  $error=true;
 }
...
if ($error==false)
 {
  printf("Klasse Sache, alles ausgefuellt.");
 }
 
vielen dank

Hab noch ne Frage gefunden. Wenn er alle Pflichtfelder ausgefüllt hat soll er z.B. wie bei deinen Code hier:

PHP:
if ($error==false) 
{ 
  printf("Klasse Sache, alles ausgefuellt."); 
}

eine nächste php datei Laden ohne dass der User irgend ne weitere Atkion ausführen muss.

Hat da jemand ne Idee ?

mfg lomo
 
Sollen die Variablen auch mit uebergeben werden?
Wenn nicht, dann einfach so:
PHP:
ob_start();
$error=false;
if (!$_POST["var1"])
{
  printf("Ey, var1 ist leer. Musst Du ausfuellen<br>");
  $error=true;
}
if (!$_POST["var2"])
{
  printf("Ey, var2 ist leer. Musst Du ausfuellen<br>");
  $error=true;
}
...
if ($error==false)
{
 //mach was
 header("Location:andereseite.php");
}
ob_end_flush();
Ansonsten musst du halt noch an andereseite.php den ueblichen Kram fuer eine GET-Uebertragung haengen, also ?var1=...&var2=... etc.
 
Des is optimal. Danke

Aber bei deinen Lösungsvorschlag bringt er die Meldung bei den Pflichtfeldern auch wenn ich die Seite nur Lade. Kann man des irgendwie umgehen ?

Dann hab ich noch ein Problem wenn er das Formular ausfüllt und er sendet es ab und er hat ein Pflichtfeld nicht ausgefüllt dann soll er den Inhalt des Formulars stehen lassen.

Ich hab es versucht so zu lösen:

z.B. mit den Feld Name1:
PHP:
<input name="Name1" type="text" id="Name1" value="<? if (isset($_POST['Name1']))
																{echo $_POST['Name1'];}?>" size="50">

Aber es funktioniert irgendwie nicht. Weiss jemand warum ?
 
PHP:
ob_start();
if ($_POST["submit"])
 {
  $error=false;
  if (!$_POST["var1"])
   {
    printf("Ey, var1 ist leer. Musst Du ausfuellen<br>");
    $error=true;
   }
  if (!$_POST["var2"])
   {
    printf("Ey, var2 ist leer. Musst Du ausfuellen<br>");
    $error=true;
   }
  ...
  if ($error==false)
   {
    //mach was
    header("Location:andereseite.php");
   }
 }
ob_end_flush();

Dabei geh ich jetzt davon aus, dass der Name Deines Submit-Button auch submit ist.
 
Ok geht. Nochmals vielen vielen Dank.

Jetzt hab ich nur noch des Problem mit den Feldinhalt, dass er wenn das Formular gesendet wird und ein Pflichtfeld fehlt. Das er dann den Feldinhalt von vorm senden drin lässt.
 
bla.php
PHP:
<?
ob_start();
?>
<html>
<body>
<?
if ($_POST["submit"])
{
  $error=false;
  if (!$_POST["var1"])
   {
    printf("Ey, var1 ist leer. Musst Du ausfuellen<br>");
    $error=true;
   }
  if (!$_POST["var2"])
   {
    printf("Ey, var2 ist leer. Musst Du ausfuellen<br>");
    $error=true;
   }
  ...
  if ($error==false)
   {
    //mach was
    header("Location:andereseite.php");
   }
}
?>
<form method="post" action="bla.php">
<input type="text" name="var1" value="<? printf($_POST['var1']); ?>">
<input type="text" name="var2" value="<? printf($_POST['var2']); ?>">
...
<input type="submit" name="submit" value="Und ab geht die Post!">
</form>
</body>
</html>
<?
ob_end_flush();
?>

Jetzt solltest Du eigentlich alles haben. ;)
 
vielen vielen vielen Dank.

sorry wenn ich jetzt nochmal was frag aber eins ist mir noch eingefallen ;) . Wie kann ich des machen mit radio buttons, checkboxen und comboboxen ? Da geht des mit der Value Eigenschaft und den printf nicht. (glaub ich zumindestens)

PHP:
?>
<input type="checkbox" name="AGB">
<input type="radio" name="VAuswahl" value="<? printf($_POST['VAuswahl']);?>" onClick="einblenden('V1','V2',1);"> <<<<< geht so leider nicht.

<select name="Landkreis" id="Landkreis" >
        <?php
	 	$db = datenbank_verbinden("xxx","xxxx","xxxxx");
		$query = 'select * from Parameter_Landkreise where Landkreis <> "" order by Landkreis asc';
		$rs = mysql_query($query,$db);
		if ($rs)
		{
			echo '<option selected></option>';
			while($objekt = mysql_fetch_object($rs))
			{	
				if ($objekt->Landkreis != '')
				{
					echo '<option>'.$objekt->Landkreis.'</option>';
				}
			}
		}
		mysql_close($db);
	 ?>
      </select>


Hast du darauf vielleicht auch noch nen Lösungsvorschlag :) .

mfg lomo
 
Hab im Moment leider keinen Plan. Totale Denkblokade wegen den Idioten hier im Buero. Ich will Feierabend machen und die ueberschuetten mich nochmal mit Arbeit.
 
Zurück