Checken ob Variable von Formular leer ist

maxikey

Erfahrenes Mitglied
Hihooo,
Ich brauche einen PHP-Code, der checkt ob eine Variable (von Formular) einen Inhalt hat oder leer ist und einen Code der checkt ob eine Variable zum Beispiel ein @ enthält...
Gibt es dar was?

P.S: Falls möglich keine allzu langen Codes :)

DANKE IM VORRAUS!

MFG Maxi
 
-Hä, aber ich will dann auch eine Fehlermeldung ausgeben können.
-und wie check ich ob sie ein @enthält?

MFG Maxi
 
var_dump liefert dir den Typ und den Inhalt der Variable, ist aber nur fürs debuggen gedacht. Wenn du dein @ in einer Zeichenkette suchst, dann nehm strstr
Das Beispiel im Link enthält alles was du brauchst. :)
 
Falls es sich um ein Formular handelt er der isch jemand mit einer eMail Adresse anmelden oder registrieren soll nimm mal das:

PHP:
$email = $_POST['email'];

// eMail Adresse wird auf Richtigkeit überprüft
$pruefung = "^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$"; 

// Prüfung ob eine eMail Adresse eingegeben worden ist und ob die eMail Adresse das richtige Format hat
if($email == "" OR !ereg($pruefung,$email)) 
    {                 
    echo "keine eMail Adresse eingegeben oder falsches eMail-Format";
    }
else
    {
    echo "Alles richtig!";
    }
?>
 
@ Christoph Haas:
Genau das brauche ich. Kann ich damit auch checken ob der Wert einfach eine Textbox ohne Inhalt (also garnichts) ist?

MFG Maxi
 
Der Code von Christopher wird aber trotzdem eine Warnung erzeugen, falls $email leer ist.

Sauberer wäre das hier:

PHP:
$email = $_POST['email'];

// eMail Adresse wird auf Richtigkeit überprüft
$pruefung = "^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$"; 

// Prüfung ob eine eMail Adresse eingegeben worden ist und ob die eMail Adresse das richtige Format hat
if(empty($email) OR !ereg($pruefung,$email)) 
    {                 
    echo "keine eMail Adresse eingegeben oder falsches eMail-Format";
    }
else
    {
    echo "Alles richtig!";
    }
?>

Übrigens ist der reguläre Ausdrück nicht mehr "zeitgemäß", da es mittlerweile auch 6-stellige Domains gibt (.museum)
 
PERFEKT! Nur noch ein Problem: Ich müsste die codes ineinander "verschachteln"...
Also: else
{
Nächster Code
}
...Und das geht immer so weiter. aber das funktioniert nicht. Ich muss nämlich insgesamt 7 Verschachtelungen machen...

MFG Maxi
 
Arbeite ohne Verschachtelungen, sondern mit einem $error Array.

PHP:
$error = array();
$email = $_POST['email'];

// eMail Adresse wird auf Richtigkeit überprüft
$pruefung = "^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$"; 

// Prüfung ob eine eMail Adresse eingegeben worden ist und ob die eMail Adresse das richtige Format hat
if(empty($email) OR !ereg($pruefung,$email)) 
{                 
  $error[] = "keine eMail Adresse eingegeben oder falsches eMail-Format";
}

// alle anderen Prüfungen

if(!empty($error))
{
  foreach($error as $value)
  {
    echo $value;
  }
}
 
Zurück