繁体   English   中英

登录PHP时连接失败

[英]Connection Failure on login PHP

我的任何一方都不了解此代码的问题! 它确实起作用了,现在却没有了。 我无法登录到“个人资料页面”,任何人都可以看到并发出?

<?php
session_start(); 

$error=''; 
if (isset($_POST['submit'])) 
{
    if (empty($_POST['username']) || empty($_POST['password'])) 
    {
        $error = "Enter username & password";
    }
else {
    // Define $username and $password
    $username=$_POST['username'];
    $password=$_POST['password'];

    $connection = mysql_connect("localhost", "root", "");
    echo($connection);
    $username = stripslashes($username);
    $password = stripslashes($password);
    $username = mysql_real_escape_string($username);
    $password = mysql_real_escape_string($password);

    $db = mysql_select_db("Windsor", $connection);
        echo($db);      
        $sql = "SELECT * FROM PHP_Customer WHERE Email='$username' and Password='$password'";
        echo($sql);
        $result = mysql_query($sql);

            $count=mysql_num_rows($result);

            if ($count < 1) 
            {
                $error = "Username or Password is incorrect";
            }
            else
            {
                $_SESSION['user_login'] = $username; 
                header('location: profile.php');
                echo "hello world!"; // This is just for testing purposes

            }
        } 
mysql_close($connection); 
}

?>

正如我所说的,它确实可以工作,并且无论出于何种原因,它似乎都不再可用。

确定发现了几个问题。

1)您在语句中使用小写的“ AND”。 它应显示为:

 $sql = "SELECT * FROM PHP_Customer WHERE Email='$username' AND Password='$password'";

2)不要将mysql_select_db设置为变量并回显它。 该行应显示为:

mysql_select_db("Windsor", $connection);

3)不要回显连接细节。

4)在您的mysql语句中添加一些错误检查。

脚本现在应如下所示:

<?php
session_start(); 

$error=''; 
if (isset($_POST['submit'])) 
{
    if (empty($_POST['username']) || empty($_POST['password'])) 
    {
        $error = "Enter username & password";
    }
else {
    // Define $username and $password
    $username=$_POST['username'];
    $password=$_POST['password'];

    $connection = mysql_connect("localhost", "root", "") or die(mysql_error());
    $username = stripslashes($username);
    $password = stripslashes($password);
    $username = mysql_real_escape_string($username);
    $password = mysql_real_escape_string($password);

    mysql_select_db("Windsor", $connection) or die(mysql_error());      
        $sql = "SELECT * FROM PHP_Customer WHERE Email='$username' AND Password='$password'";
        $result = mysql_query($sql) or die(mysql_error());

            $count=mysql_num_rows($result);

            if ($count < 1) 
            {
                $error = "Username or Password is incorrect";
            }
            else
            {
                $_SESSION['user_login'] = $username; 
                header('location: profile.php');
                echo "hello world!"; // This is just for testing purposes

            }
        } 
mysql_close($connection); 
}

?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM