我一点也不理解这段代码的问题!它确实起作用了,但现在它不起作用了。我无法登录到任何人都能看到和发布的‘个人资料页面’。
<?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);
}
?>正如我已经说过的,它确实起作用了,不管是什么原因,它似乎不再有效了。
发布于 2015-05-06 03:01:06
Ok发现了一些问题。
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);
}
?>https://stackoverflow.com/questions/30059996
复制相似问题