Mysqli和php登录脚本

时间:2015-09-30 07:39:58

标签: php mysql mysqli

我的登录脚本有点问题,我看不出问题出在哪里。具有mysql连接的整个脚本发布在下面:

 error_reporting(E_ALL ^E_NOTICE ^E_WARNING);
 $connection = mysqli_connect("localhost", "root", "");
 $db = mysqli_select_db("evaluatori", $connection);

登录脚本

include 'config/db-connect-login.php';

session_start(); // Starting Session

$error = ''; // Variable To Store Error Message

if (isset($_POST['submit'])) {
    if (empty($_POST['register_email']) ||     empty($_POST['register_password'])) {
        $error = "Email-ul sau parola introduse nu sunt corecte.";
    } else {
        // Define $email and $password
        $register_email = $_POST['register_email'];
        $register_password = $_POST['register_password'];
        // To protect MySQL injection for Security purpose
        $register_email = stripslashes($register_email);
        $register_password = stripslashes($register_password);
        $register_email = mysqli_real_escape_string($register_email);
        $register_password = mysqli_real_escape_string($register_password);
        // SQL query to fetch information of registerd users and finds user match.
        $query = mysqli_query("SELECT * FROM evaluatori_users WHERE (register_password='$register_password' AND register_email='$register_email') AND register_activation IS NULL", $connection);
        $rows = mysqli_num_rows($query);
        if ($rows == 1) {
            $_SESSION['login_user'] = $register_email; // Initializing Session
            $success = '<div class="alert alert-success" role="alert"><i class="fa fa-spinner fa-spin"></i> V-ati autentificat cu success! Asteptati 3 secunde.</div></script><meta http-equiv="refresh" content="3; url=profile.php">';
        } else {
            $error = '<div class="alert alert-danger" role="alert">Email-ul sau parola introduse nu sunt corecte.</div>';
        }
    }
}

mysqli_close($connection);

1 个答案:

答案 0 :(得分:-1)

您没有向我们提供大量信息。

但试试这个:

替换

$query = mysqli_query("SELECT * FROM evaluatori_users WHERE (register_password='$register_password' AND register_email='$register_email') AND register_activation IS NULL", $connection);

有了这个:

$query = mysqli_query("SELECT * FROM evaluatori_users WHERE (register_password='$register_password' AND register_email='$register_email') AND register_activation IS NULL", $connection) or die(mysqli_error($connection));

这应该会显示详细的错误消息。从那里开始应该更容易解决。

修改

也许问题更严重。

替换

$connection = mysqli_connect("localhost", "root", ""); $db = mysqli_select_db("evaluatori", $connection);

使用

$connection = mysqli_connect("localhost", "root", "") or die(mysqli_error($connection)); $db = mysqli_select_db("evaluatori", $connection) or die(mysqli_error($connection));