Пытаюсь подключить базу данных в php, но получаю синтаксическую ошибку - PullRequest
0 голосов
/ 07 мая 2020

Я пытаюсь создать страницу входа в систему, используя базу данных, созданную в PHPMyAdmin, но каждый раз, когда я запускаю ее, я получаю синтаксическую ошибку в строке 2 входа в систему. php, и я не знаю, почему это не сработает . Я уверен, что ввел код правильно. Когда я запускаю его, я получаю сообщение об ошибке:

Ошибка синтаксического анализа: синтаксическая ошибка, неожиданный ':' в логине. php в строке 2

логин. php

<?php
    $dsn = 'mysql:host=localhost;dbname=dbase';
    $username = 'user1';
    $password = 'pass';

    $error = "";

    try{
        $db = new PDO ($dsn, $username, $password);
    }

    catch (PDOException $e){
        $error = $e->getMessage();
    }
// end of database connect

    $user = $_POST['user'];
    $pass = $_POST['pass'];

    $query = 'SELECT * FROM users WHERE user = :user AND pass = :pass';

    $statement = $db->prepare($query);
    $statement->bindValue(':user', $user);
    $statement->bindValue(':pass', $pass);
    $statement->execute();
    $valid = ($statement->rowCount() == 1);
    $result = $statement->fetch();
    $statement->closeCursor();

    if ($valid){
        $greeting = $result['email'];
        $permit = ", login success";
    }

    else{
        $greeting = $user;
        $permit = ", invalid credentials";
    }

?>
<!DOCTYPE html>

<html>
    <head>
        <title>Scheduler</title>
    </head>

    <body>
        <h1><?php echo $greeting.$permit; ?></h1>
    </body>
</html>

страница входа. php

<html>
    <head>
        <title>Scheduler</title>
    </head>

    <body>
        <form action = 'login.php' method = "post">
            <h1>EZ-Scheduler</h1>

            <h2>Please login to view rosters</h2>

            <table>
                <tr>
                    <td>Username:</td>
                    <td><input name = "user" type = "text" size = "25"></td>    
                </tr>
                <tr>
                </tr>   
                <tr>
                    <td>Password:</td>
                    <td><input name = "pass" type = "password" size = "25"></td>
                </tr>
            </table>    
                <p><input type = "submit" name = "button" value = "Login"></p>
            </table>
        </form>
    </body>
</html>

1 Ответ

0 голосов
/ 07 мая 2020

попробуйте это и увидите

<?php
    $username = 'user1';
    $password = 'pass';

    $error = "";

    try{
        $db = new PDO ('mysql:host=localhost;dbname=dbase', $username, $password);
    }

    catch (PDOException $e){
        $error = $e->getMessage();
    }
// end of database connect
...