检查用户输入的值是否存在于数据库中,然后重定向到页面

时间:2015-06-26 15:01:07

标签: php mysql database

我是PHP和MySQL的新手,所以我不知道从哪里开始并需要一些指导。

我希望创建一个简单的页面,其中查看者可以输入他们的姓氏和收据编号,如果该值存在于MySQL数据库中,我希望它重定向到特定页面。如果没有,那么它可以显示正常的错误消息。

如何开始这样的编码?

1 个答案:

答案 0 :(得分:0)

我会很高兴,这是非常基本的,需要很多工作,但它是一个起点。

<?php


    if(isset($_POST['lastName']) && isset($_POST['receiptNumber'])){
        try{
            $db = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8', 'username', 'password');
            $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        } catch(PDOException $e){
            error_log('ERROR: ' . $e->getMessage());
        }

        try{
            $stmt = $db->prepare("SELECT * FROM table WHERE last_name=? AND receipt_number=?");
            $stmt->execute(array($_POST['lastName'], $_POST['receiptNumber']));

            $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);  
        } catch(PDOException $e){
            error_log('ERROR: ' . $e->getMessage());
        }

        if(count($rows)){
            header('Location: some_page.php');
            die();  
        } else {
            $error = 'No Results Found';    
        }

    }

?>
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Untitled Document</title>
</head>

<body>
    <?php if(isset($error)){ echo $error; } ?>
    <form action="" method="post">
        <input type="text" name="lastName" placeholder="Last Name" /><br />
        <input type="text" name="reciptNumber" placeholder="Receipt Number" /><br />
        <input type="submit" value="Submit" />
    </form>
</body>
</html>