首页 > 解决方案 > 如何检查用户是否存在于php中的数据库(ms sql)中?

问题描述

我正在用 php 和 ms sql 开发一个应用程序。应用程序中有这个页面,它只有一个用户输入字段,该字段采用用户的用户名。不是我想添加一个功能来检查用户是否存在于数据库中,然后将他引导到下一页,否则会出错。

<?php
require_once './pages/header.php';
require_once './functions/queries.php';



?>
<div class="container" >
            <form class="cmxform" id="Form">
                <div id="FormResult" class="hide" role="alert">
                    <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                    <div id="resultFormContent"></div>
                </div>  
                <div class="form-group col-md-12">
                    * Indicates required field
                </div>
                <div class="form-row">
                    <div class="form-group col-md-4">
                        <label for="fName">First Name *</label>
                        <input type="text" class="form-control" id="User" name="User" required>
                    </div>
                </div>
                <div class="form-group col-md-12">
                    <button class="btn btn-info btn-primary" id="registerSubmit" type="submit">Submit</button>
                </div> 
            </form>


</div>

查询.php

<?php

require_once("db-connect.php");
class Queries{

public static function getUser($Id){
           $conn = DB::databaseConnection();
        $sql = "SELECT User FROM Admins WHERE Id = :Id";
        $stmt = $conn->prepare($sql);
        $stmt->bindParam(':Id', $Id);
        if ($stmt->execute()) {
            return $stmt->fetch(PDO::FETCH_ASSOC);
        } else {
            return null;
        } 

        }
}

如果他存在于数据库中,我想要引导用户访问的页面是“read.php”。

标签: phpsql-server

解决方案


您的表单需要一个属性操作来将数据发送到 php 页面。

<form action='some-file.php'>...</form>

您需要创建此文件并从请求中获取参数并在您的函数中使用。

$userName = $_REQUEST['User'];

if (getUser($userName)) {
...
} else {
...
}

检查http://www.php.net/manual/pt_BR/function.header.php进行重定向。


推荐阅读