如何在php脚本上验证电子邮件地址
如何向此pdo脚本添加电子邮件验证。用户在'textfield'中输入他们的电子邮件地址。只是,如果输入的电子邮件地址是不是我想要的数据库,它重定向到fail.html如何在php脚本上验证电子邮件地址
<?php
$host=""; // Host name
$username=""; // Mysql username
$password=""; // Mysql password
$db_name=""; // Database name
$tbl_name="orders"; // Table name
$email = $_POST['textfield'];
$db = new PDO('mysql:host='.$host.
';dbname='.$db_name.
';charset=UTF-8',
$username, $password);
$stmt = $db->prepare('SELECT * FROM `orders` WHERE `email`=:email LIMIT 1');
$stmt->bindValue(':email', $email, PDO::PARAM_STR);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
echo "The is: ".$result['name'].", and mail is: ".$result['email']." . Status: ".$result['status'];
?>
if($stmt->rowCount()>0)
{
echo "The result is: ".$result['name'].", and mail is: ".$result['email']." . Status: ".$result['status'];
}
else
{
echo "Email not found in the database!";
}
代替echo
荷兰国际集团的错误信息,您可以重定向到另一个页面(只若无其事已经被发送到浏览器):
header('Location: fail.html');
或者您也可以在文件中包含当前页面显示出来:
require 'fail.html';
或者你可以在表单中输入字段使用它:
echo '<input name="login" type="text" value="' . $result['name'] . '>';
领域有其名属性设置为登录,这样你就可以一次提交表单来引用它。
谢谢。如果我想通过'”/>而不是echo“结果是:”。$ result ['名称'] .......我将如何去改变验证? – 2013-04-30 16:35:32
看我的编辑到答案。 – Jocelyn 2013-04-30 16:46:54
不知道为什么,但当我更换回声“在数据库中找不到电子邮件!”;与标题('Location:fail.html');它不会重定向,如果电子邮件是错误的 – 2013-04-30 16:50:46
[使用正则表达式验证电子邮件地址]可能的重复(http://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-an-email-address) – 2013-04-30 16:21:26
rowCount会告诉你它是否存在http://php.net/manual/en/pdostatement.rowcount.php – Waygood 2013-04-30 16:22:29
添加if-else条件... – raidenace 2013-04-30 16:22:33