Ich hab nun mein Script optimiert....
[PHP]
<?php
error_reporting(E_ALL); // PHP Meldungen anzeigen (0/1)
// Weiterleitung - Nach dem absenden des Formulars,
// gelangt der Benutzer über einen Link auf folgende Seite:
$Weiterleitung = "versuch.dietotenkoepfe.de/neu/gaesteb.php";
// Automatische Weiterleitung
$Autoweiterleitung = 2; // Zeit in Sekunden
$name = isset($_POST["name"]) ? $_POST["name"] : ""; // Name
$email = isset($_POST["mail"]) ? $_POST["mail"] : ""; // E-Mail
$homepage = isset($_POST["homepage"]); // Homepage
$nachricht = isset($_POST["nachricht"]) ? $_POST["nachricht"] : ""; // Nachricht
// Benutzereingaben überprüfen
$Fehler = array("name"=>"","mail"=>"","nachricht"=>"","sicherheit"=>"");
if (isset($_POST["submit"])){
$Fehler["name"] = strlen($_POST["name"]) < 1 ? "Bitte fülle dieses Feld aus!" : "";
if(isset($_POST["mail"])): $Fehler["mail"] = filter_var($email, FILTER_VALIDATE_EMAIL) === false ? "Gib eine gültige E-Mail-Adresse ein!" :"";endif;
$Fehler["nachricht"] = strlen($_POST["nachricht"]) < 5 ? "Bitte fülle dieses Feld aus (min. 5 Zeichen)!" : "";
$Fehler["sicherheit"] = (md5($_POST["zip"]) != $_POST["zip2"]) ? "Die Rechenaufgabe ist leider falsch!" : "";
}
// Sicherheitsabfrage - Zufallszahlen generieren
$Z0 = array(mt_rand(1, 9), mt_rand(1, 9));
$Z1 = max($Z0); $Z2 = min($Z0);
$Spam = $Z1 . " + &#" . (48 + $Z2) . ";";
$Schutz = md5($Z1 + $Z2);
// Formular erstellen
$Formular = "<fieldset class='border-radius border'>
<legend class='border-radius border'>Eintragen</legend>
<form action='" . $_SERVER['SCRIPT_NAME'] . "' method='post'>
<br>
<label for='name'>Dein Name <span class='pflichtfeld'>✲</span> :</label>
<br>
<input class='input' placeholder='Dein Name' value='" . $name . "' type='text' name='name'/>
<br>
<span class='pflichtfeld'> " . $Fehler["name"] . "</span>
<br>
<br>
<label for='mail'>Deine E-Mail:</label>
<br>
<input class='input' placeholder='Deine E-Mail' value='" . $email . "' type='text' name='mail' />
<br>
<span class='pflichtfeld'> " . $Fehler["mail"] . "</span>
<br>
<br>
<label for='homepage'>Deine Homepage: (ohne http:// eintragen)</label>
<br>
<input type='text' name='homepage' class='input' placeholder='www.musterwebsite.de' value='" . $homepage . "' />
<br>
<br>
<br>
<label for='nachricht'>Deine Nachrichht <span class='pflichtfeld'>✲</span> :</label>
<br>
<textarea id='area' placeholder='Deine Nachricht' name='nachricht'>" . $nachricht . "</textarea>
<br>
<span class='pflichtfeld'>" . $Fehler["nachricht"] . "</span>
<br>
<br>
<label for='zip'>Sicherheitsabfrage <span class='pflichtfeld'>✲</span> : </label>
<br>
<em>" . $Spam . "</em> =
<input type='number' name='zip' size='4' class='border-radius' autocomplete='off'>
<input type='hidden' name='zip2' value='" . $Schutz . "'>
<br>
<span class='pflichtfeld'>" . $Fehler["sicherheit"] . "</span>
<br>
<br>
<a href='" . $_SERVER['SCRIPT_NAME'] . "'><input type='reset' value='Abbrechen' class='tereintragen'></a>
<input type='submit' name='submit' value='Absenden' class='tereintragen'>
<p><small>Bitte alle mit <span class='pflichtfeld'>✲</span> markierten Felder ausfüllen.</small></p>
<br>
</form>
";
?>
[/PHP]
Nun ist mein Problem, dass die mail und die Homepage nicht unbedingt angegeben werden müssen...
Wie stelle ich das nun an, dass wenn keine email angegeben ist und das form abgesendet wird, kein fehler daraus gemacht wird?