我最近做了一个项目 - 一个在线测验,所以我决定建立一个注册/登录系统。我遇到了登录部分的一些问题,所以我决定从头开始做所有事情,但问题仍然存在。
注册工作正常,我设法注册10个用户没有问题,但当我尝试登录时总是显示 - 错误的登录或密码!虽然一切都输入正确,但我的数据库中没有重复的记录。
以下是与数据库的连接:
<?php
$hostname = "localhost";
$username = "user";
$pass = "pass";
$db = "testdb";
$connect = mysqli_connect($hostname, $username, $pass) or die("Something went wrong!");
mysqli_select_db($connect, $db) or die("Couldn`t connect to database!");
?>`
的login.php
<html>
<head>
<?php
require ('db.php');
if(isset($_POST['login']))
{
$login = mysqli_real_escape_string($connect, $_POST['login']);
$password = mysqli_real_escape_string($connect, $_POST['password']);
if($login == NULL || $password == NULL)
{
echo "All fields must be completed!";
exit();
}
else
{
$sql = "SELECT * FROM `users` WHERE `login` = '".$login."' AND `password` = '".$password."'";
$result = mysqli_query($connect, $sql);
if($sql->num_rows > 0)
{
echo "Successfully logged in!";
}
else
{
echo "Wrong login or password!";
}
}
}
?>
</head>
<body>
<div align="center">
<h1>Login</h1>
</div>
<form action="login.php" method="post" align="center">
<input name="login" type="text" placeholder="Login"><br><br>
<input name="password" type="password" placeholder="Password"><br><br>
<input name="login" type="submit" value="Login">
</form>
</body>
</html>
我非常绝望,我一直在寻找解决方案!我真的不知道为什么会这样。我将不胜感激任何帮助!
答案 0 :(得分:1)
$sql
是字符串,您需要对resultSet执行检查
更改
if($sql->num_rows > 0)
到
if($result->num_rows > 0)
答案 1 :(得分:1)
您的提交按钮与您的用户名字段具有相同的名称。
NReco.PdfGenerator.HtmlToPdfConverter nPdf = new NReco.PdfGenerator.HtmlToPdfConverter();
nPdf.Size = PageSize.Letter;
PageMargins mar = new PageMargins();
mar.Bottom = -5;
mar.Left = -5;
mar.Top = -5;
mar.Right = -5;
nPdf.Margins = mar;
nPdf.Orientation = PageOrientation.Landscape;
var pdffilename = "D:\Documents"+"filename" + ".pdf";
var htmltext="this testing pdf"
var pdfBytes = nPdf.GeneratePdf(htmltext);
File.WriteAllBytes(pdffilename, pdfBytes);
将其更改为其他内容。
例如:
<input name="login" type="submit" value="Login">
并且还要改变
<input name="loginBtn" type="submit" value="Login">
到
if($sql->num_rows > 0)