Checken ob Variable von Formular leer ist

Wenn du es mit Verschachtelungen machen willst, sieht es in etwa so aus:
(Ist aus einem meiner kleinen Scripts)
PHP:
<?
include("conf/config.inc.php");
mysql_connect("$db_host", "$db_username", "$db_passwort");
mysql_select_db("$tab_name");

$massage	= "Vielen Dank für die Regestrierung";
$email 		= $_POST['email'];
$email 		= strtolower($email);
$name 		= $_POST['name'];
$art 		= $_POST['art'];
$pruefung 	= "^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$";

if($email == "" OR !ereg($pruefung,$email)) // Prüfung ob eine eMail Adresse eingegeben worden ist
	{									   // und ob die eMail Adresse das richtige Format hat
	print "$no_email_entered<br><br>";
	?><a href="javascript:history.back();">Zurück</a><?
	}
else
	{
	if($name == "") // Prüfung ob ein Name eingegeben worden ist
	{
	print "$no_name_entered<br><br>";
	?><a href="javascript:history.back();">Zurück</a><?
	}
	else
		{
		if($art == 1) // Eintragen
		{
		$abfrage = "SELECT `email` FROM `emails` WHERE `email` = '$email'"; // Prüfung ob die eMail Adresse bereits existiert
  		$ergebnis = mysql_query($abfrage);
		if(mysql_num_rows($ergebnis))
			{
			print "$exist_email<br><br>";
			?><a href="javascript:history.back();">Zurück</a><?
			}
		else
			{
			$eintrag = "INSERT INTO emails (email, name) VALUES ('$email', '$name')"; // Schreibt die eMail Adresse in die Datenbank
 			$eintragen = mysql_query($eintrag);
			print $register_email;
			mail("$email", Newsletter, $massage); 
			}
		}
		else // Austragen
			{
			$abfrage = "SELECT email AND name FROM emails WHERE email = '$email' AND name = '$name'"; // Prüfung ob die eMail Adresse
  			$ergebnis = mysql_query($abfrage);														  // eingetragen ist
			if(!mysql_num_rows($ergebnis))
				{
				print "$no_exist_email<br><br>";
				?><a href="javascript:history.back();">Zurück</a><?
				}
			else
				{		
				$loeschen = "DELETE FROM emails WHERE email = '$email' AND name = '$name'"; // Löscht die eMail Adresse aus der Datenbank
				$loesch = mysql_query($loeschen);
				print $delete_email;
				}
			}
		}
	}
?>
 
@ Felix Jacobi: Blöde Frage..Wo würde ich bei diesem Script eine Meldung ausgeben, welche bestätigt dass jedes feld ausgefüllt ist ?

MFG Maxi
 
Juhu! Endlich was zum Thema gefunden, denn weder Google noch diverse Foren brachten mir in den letzten zwei Tagen brauchbare Ergebnisse :)

Was ich möchte ist, dass das Formular checkt ob alles ausgefüllt ist. Nicht unbedingt wie es ausgefüllt ist, sondern nur ob. Und zwar bei allen Feldern.

Eure Codes hier sind ja schon sehr vielversprechend, da ich mich aber mit PHP kaum bis garnicht auskenne, weiß ich leider nicht wo genau ich diese einfügen soll ...

Hier mein Formular:

Code:
<form action="http://www.ekiz-gleisdorf.at/formailer1.php" method="post">

<div id="form_left">
<strong>Vorname</strong><input class="form" tabindex="1" name="vorname" type="text" />

<strong>E-Mail</strong><input id="email" class="form" tabindex="3" name="email" type="text" />
<div id="form_right">
<strong>Nachname</strong><input class="form" tabindex="2" name="nachname" type="text" />
</div>
<div><input style="color: #000000; margin-top: 10px; margin-right: 5px; font-family: arial; font-size: 8pt; border: 1px solid #000000; background-color: #FFFFFF" name="submit" tabindex="4" type="submit" value="Senden" /> <input style="color: #000000; font-size: 8pt; font-family: arial; font-weight: regular; border: 1px solid #000000; background-color: #FFFFFF" name="loeschen" type="reset" tabindex="5" value="Löschen" /></div></div>
</form>

und mein formailer:

Code:
<?php

$admin = "blabla@blabla.com";
$subject = "Newsletteranmeldung!";
$message = "$vorname $nachname hat sich für den Newsletter angemeldet. E-Mail Adresse: $email";

mail($admin,$subject,$message,"From: $email");


{
header("Location:http://ekiz-gleisdorf.at/wordpress/?page_id=158");
exit();
}
?>

wär super wenn mir jemand helfen könnte :)
 
Wenn du PHP5 oder höher nutzt und die filter-Extention (etc/filter) nutzen kannst, würde ich Mail-Addressen mit der filter()-Funktion anstatt mit RegExp überprüfen.
MfG, Andy
 
Zurück