0

この pdo スクリプトに電子メール検証を追加するにはどうすればよいですか。ユーザーは「テキスト フィールド」に電子メール アドレスを入力します。入力したメールアドレスがデータベースにない場合、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'];


  ?>
4

1 に答える 1

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

このフィールドのname属性はloginに設定されているため、フォームが送信されると参照できるようになります。

于 2013-04-30T16:26:08.123 に答える