Как проверить, существует ли пользователь в базе данных (ms sql) на php?

Я разрабатываю приложение на php и ms sql. В приложении есть эта страница, в которой есть только одно поле ввода usser, которое принимает имя пользователя. Нет, я хочу добавить функцию, которая проверяет, существует ли пользователь в базе данных, а затем перенаправляет его на следующую страницу, иначе выдает ошибку.

<?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>

query.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.

Вы можете просто проверить, были ли возвращены какие-либо строки. Если возвращается одна строка, значит, вы знаете, что пользователь существует. Если вы получили более одного возврата, у вас есть дубликаты в ваших данных или ваш запрос неверен. Если строки не возвращаются, то либо ваш запрос неверен, либо в базе данных нет пользователей.

CaptainQuint 13.09.2018 18:39
0
1
62
1

Ответы 1

В вашей форме требуется действие атрибута для отправки данных на страницу php.

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

Вам необходимо создать этот файл и получить параметры из запроса и использовать их в своей функции.

$userName = $_REQUEST['User'];

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

Проверьте http://www.php.net/manual/pt_BR/function.header.php для перенаправления.

Да, страница атрибута действия должна быть read.php, но пользователь должен получить к ней доступ, только если он находится в базе данных.

MAM 13.09.2018 19:39

Другие вопросы по теме