Bitte überprüfen Sie meinen Code. Ich habe 2 Felder für validate E-MailNicht sicher Wie Sie dieses Problem beheben können FILTER_VALIDATE_EMAIL
ist
if ($email == NULL) {
$error['email'] = "email is missing";
}
ein anderer ist
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$error['emailfilter'] = "email is Invalid";
}
Aber mein Problem ist, wenn E-Mail-Feld leer/leer. Ich fand diese 2 Warring Show. "E-Mail fehlt" & "E-Mail ist ungültig"; Ich möchte nur einen Kampf zeigen. Zum Beispiel, wenn die E-Mail-Adresse leer ist. Es wird nur angezeigt, dass "E-Mail fehlt" nicht angezeigt wird "E-Mail ist ungültig" und wenn E-Mail nicht gültig ist, wird "E-Mail ist ungültig" angezeigt. Unten ist mein vollständiger Code.
<?php
if (isset($_POST['contact'])) {
$warning = array();
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$email = $_POST['email'];
$msg = $_POST['message'];
$to = "[email protected]";
$sub = "you got a msg";
$headers = "from: $email";
if ($firstname == NULL) {
$error['fname'] = "firstname is missing";
}
if($lastname == NULL){
$error['lname'] = "Last name is missing";
}
if ($email == NULL) {
$error['email'] = "email is missing";
}
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$error['emailfilter'] = "email is Invalid";
}
if ($msg == NULL) {
$error['msg'] = "message is required";
}
if (count($error) == 0) {
mail($to, $sub, $msg, $headers);
$success = "Message Submited";
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>conatact</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<form action="" method="POST">
<input type="text" name="firstname" Placeholder="First Name"><br />
<p class="error"><?php if (isset($error['fname'])) {
echo $error['fname'];
}?></p>
<input type="text" name="lastname" Placeholder="Last Name"><br />
<p class="error"><?php if (isset($error['lname'])) {
echo $error['lname'];
}?></p>
<input type="email" name="email" Placeholder="Email"><br />
<p class="error"><?php if (isset($error['email'])) {
echo $error['email'];
}?></p>
<p class="error"><?php if (isset($error['emailfilter'])) {
echo $error['emailfilter'];
}?></p>
<textarea name="message" cols="30" rows="10"></textarea><br />
<p class="error"><?php if (isset($error['msg'])) {
echo $error['msg'];
}?></p>
<input type="password" name="password" Placeholder="Password"><br />
<input type="submit" value="send" name="contact">
</form>
<h2 class="error"><?php if (isset($success)) {
echo $success;
}?></h2>
</body>
</html>
[elsef] (https://secure.php.net/manual/en/control-structures.elseif.php)? – FirstOne
Warum verwenden Sie keine Validierungsbibliothek? vlucas/valitron ist ein anständiger Code – geggleto
Zu Ihrer eigenen und anderen Sicherheit, lesen Sie bitte über den korrekten Umgang mit Benutzereingaben. Ein Ort zum Starten ist [w3schools] (https://www.w3schools.com/php/php_form_validation.asp). –