私は現在以下の作業コードを持っていますが、実際の電子メールと電話番号であることを確認するために、この電子メールと電話番号の検証を行う必要があります。私は使用するコードが見つかりました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));
}
}
}
電子メール変数のサニタイズと検証。次に、値をエスケープしてデータベースに挿入する方法を学ぶ必要があります。 準備文を使用することを忘れないでください。 http://php.net/manual/en/filter.filters.validate.php || http://php.net/manual/en/filter.filters.sanitize.php || http://php.net/manual/en/function.mysql-escape-string.php –
@Thomas PHPに組み込まれている関数があるときにregexを使う理由は何ですか?電子メールのすべてのバリエーションをキャプチャするための正規表現を作成することは非常に面倒です。 – Andreas