如何验证PHP脚本上的电子邮件地址

时间:2013-04-30 16:20:11

标签: php html validation

如何为此pdo脚本添加电子邮件验证。用户在“textfield”中输入他们的电子邮件地址。如果输入的电子邮件地址不在数据库中,我希望它重定向到fail.html

<?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'];


  ?>

1 个答案:

答案 0 :(得分:2)

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'] . '>';

该字段的名称属性设置为登录,因此您可以在提交表单后引用它。