[英]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.