每当我尝试使用我制作的简单页面登录时。但是查找是否有问题,以查看该信息是否在数据库中。它只需要使用用户名和密码登录。
这是html表单:
<p> Login </p>
<form action='login.php' method='POST'>
<input type='text' name='username'/><br>
<input type='password' name='password'/><br>
<input type='submit' name='submit' value='Login'/>
</form>
以下是该表单的脚本:
<?php
error_reporting(0);
session_start();
$username = $_POST['username'];
$password = $_POST['password'];
include ("connect.php");
if ($username && $password) {
// Info Is Provided
$queryget = mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password'");
$numrow = mysql_numrows($queryget);
if ($numrow != 0) {
$_SESSION['username'] = $username;
echo "You Have Been Loggend In. | <a href='members.php'>Go To The Members Page</a>";
} else {
echo "Your Username Was Not Found";
}
} else {
echo "You Did Not Provide All OF The Neccesary Information.";
include ("index5.php");
}
?>
你能说出为什么它不会让我登录吗?
答案 0 :(得分:3)
改变这个:
$numrow = mysql_numrows($queryget);
要:
$numrow = mysql_num_rows($queryget);
并在if条件中使用isset函数:
if(isset($username) && isset($password)){
答案 1 :(得分:0)
结束后你可能有空格?&gt;
<?php
error_reporting(0);
session_start();
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
include ("connect.php");
if (isset($username) && isset($password)) {
// Info Is Provided
$queryget = mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password'");
$numrow = mysql_num_rows($queryget);
if ($numrow != 0) {
$_SESSION['username'] = $username;
echo "You Have Been Loggend In. | <a href='members.php'>Go To The Members Page</a>";
} else {
echo "Your Username Was Not Found";
}
} else {
echo "You Did Not Provide All OF The Neccesary Information.";
include ("index5.php");
}
?>
答案 2 :(得分:0)
您遇到的问题可能与您正在使用的PHP版本有关,MySQL已过时且无法在最新版本上运行,它已更改为类似的MySQL,因此它非常值得学习。下面的代码与您的代码类似,我已将include删除为connect.php并将其替换为MySQLi。我还对查询进行了更改,仅限制一个要返回的项目。
$username = $_POST['username'];
$password = $_POST['password'];
$Connect = mysqli_connect($host,$user,$pass,$database);
if (isset($username) && isset($password))
{
// Info Is Provided
$queryget = mysqli_query($Connect, "SELECT * FROM users WHERE username='$username' AND password='$password' LIMIT 1");
$numrow = mysqli_num_rows($queryget);
if ($numrow == 1)
{
$_SESSION['username'] = $username;
echo "You Have Been Logged In. | <a href='members.php'>Go To The Members Page</a>";
}
else
{
echo "Your Username Was Not Found";
}
}
else
{
echo "You Did Not Provide All OF The Neccesary Information.";
include ("index5.php");
}
?>