Проверка php электронной почты и номера телефона

В настоящее время у меня есть следующий рабочий код, но мне нужно использовать эту проверку электронной почты и номера телефона, чтобы убедиться, что это фактический адрес электронной почты и номер телефона, а не другие данные. Я нашел код для использования

function valid_email($email) {
return !!filter_var($email, FILTER_VALIDATE_EMAIL);
}

но я не уверен, как включить это в мой текущий код. Я хотел бы помочь с этим.

Это мой текущий код PHP

//load form validate
$firstName= $_POST['firstName'];
$lastName= $_POST['lastName'];
$address = $_POST['address'];
$phoneNumber = $_POST['phoneNumber'];
$email= $_POST['email'];
$username= $_POST['username'];
$password = sha1 ($_POST['password']);
$role = 1;//prepare input data in an array
$userdata = array($firstName, $lastName, $address, $phoneNumber, $email, $username, $password,$role);//prepare error list
$errors = array ();

//Validation tests and store list
if ($firstName == "" || $lastName == "" ||
$address == "" || $phoneNumber == "" ||
$email == "" || $username == "" ||
$password == "" || $role == "" ) {
array_push($errors, "All form fields must be filled out before submitting.");
}

//if errors redirect back to form page and save attempted data.
if (count($errors) > 0) {
$_SESSION['userdata'] = $userdata;
$_SESSION['errors'] = $errors;
header("Location: ../register.php");
}else{
unset($_SESSION['userdata']);
unset($_SESSION['errors']);
$query = "INSERT INTO customers (firstName, lastName, address, phoneNumber, email, username, password) VALUES ('$firstName','$lastName', '$address', '$phoneNumber', '$email', '$username', '$password')";

//die (print_r($query));
if (mysqli_query($mysqli, $query)) {
$last_id = $mysqli->insert_id;
$query2 = "INSERT INTO users_in_roles (userID, roleID) VALUES ('$last_id', 1);";

if ($mysqli->query($query2)) {
header("Location: ../Login.php");
}else {
die(print_r($mysqli->error));
}
}
}

1

Решение

Это один из примеров.
Я сделал foreach с массивом, чтобы показать вам оба вывода.

$email = ["abc@gmail.com","abc@gmailcom"];
Foreach($email as $e){
If(filter_var($e, FILTER_VALIDATE_EMAIL)){
Echo "valid";
}Else{
Echo "not valid";
}
}

https://3v4l.org/GcKRp

В вашем случае вы, вероятно, должны иметь его после того, как проверите, не заполнены ли какие-либо поля:

if ($firstName == "" || $lastName == "" ||
$address == "" || $phoneNumber == "" ||
$email == "" || $username == "" ||
$password == "" || $role == "" ) {
array_push($errors, "All form fields must be filled out before submitting.");
}

If(!filter_var($email, FILTER_VALIDATE_EMAIL)){
array_push($errors, "Email is not valid.");
}$phone = "11-331-11111";
$phone = Preg_replace("/[^\d]/", "", $phone);
If(strlen($phone) <= 10){
array_push($errors, "Phone not valid.");
}

Удаляет не цифры и проверяет длину 10.

Редактировать извините, не 10, меньше или равно 10.

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector