#数据库名 db_admin 表内有 user and password
#login.php
<?php
session_start();
$submit=$_POST["a1"];
$username=$_POST["Username"];
$pwd=$_POST["Pwd"];
if($submit=="登陆")
{
$conn=mysqli_connect("localhost","root","122311620","db_admin");
if(empty($conn))
{
die("数据库连接失败");
}
else
{ $conn->query('set names gb2312');
$str="select * from user where 用户名='".$user."'and 密码='".$password."'";
$result=$conn->query($str);
$row=$result->fetch_row();
if($row)
{
$_SESSION["Username"]=$user;
$_SESSION["Passed"]=True;
echo "<script>window.location.href='loginOK.php'</script>";
}
else
{
$msg="用户名或密码错误";
$_SESSION['msg']=$msg;
echo "<script>window.location.href='login1.php'</script>";
}
}
}
?>#返回错误提示
Fatal error: Call to a member function fetch_row() on a non-object in E:\myweb\denglu\login.php on line 17
#login.php
<?php
session_start();
$submit=$_POST["a1"];
$username=$_POST["Username"];
$pwd=$_POST["Pwd"];
if($submit=="登陆")
{
$conn=mysqli_connect("localhost","root","122311620","db_admin");
if(empty($conn))
{
die("数据库连接失败");
}
else
{ $conn->query('set names gb2312');
$str="select * from user where 用户名='".$user."'and 密码='".$password."'";
$result=$conn->query($str);
$row=$result->fetch_row();
if($row)
{
$_SESSION["Username"]=$user;
$_SESSION["Passed"]=True;
echo "<script>window.location.href='loginOK.php'</script>";
}
else
{
$msg="用户名或密码错误";
$_SESSION['msg']=$msg;
echo "<script>window.location.href='login1.php'</script>";
}
}
}
?>#返回错误提示
Fatal error: Call to a member function fetch_row() on a non-object in E:\myweb\denglu\login.php on line 17
$result应该是mysql_query()返回的资源吧,不知道你是怎么封装的,不过这只能作为一个参数而不像javascript那样。$conn->fetch_row( $result);
echo $_SESSION['msg'];
?>
<html>
<head></head>
<body>
<form method="POST" action="login.php" name="send" onsubmit="return ChkFields()"><p align="center">用户名: <input type="text" name="Username"><a href=zhuce.php>注册用户</a></p>
<p align="center">密 码: <input type="password" name="Pwd"><a href=findpwd.php>忘记密码?</a></p>
<p align="center"><input type="submit" value="登陆" name="a1"><input type="reset" value="重写" name="b2"></p></form><script language="javascript">
function ChkFields(){
if(document.send.Username.value==""){
window.alert("请输入姓名")
return false
}
if(document.send.Pwd.value==""){
window.alert("请输入密码")
return false
}
return true
}
</script>
</body>
</html>#希望验证成功,返回loginok.PHP#感谢大家!!
我测试的时候
字段名不匹配就会出现你看到的这种错误,但只要字段匹配就都不会报错,输出只会返回null
因此这可能是你字段名的问题,请用英文为字段命名
$sql = "SELECT * FROM USER WHERE username = '.$user.' AND password = '.$password.'";
$result= mysql_query($sql);
如果返回行数是1的话,就说明存在这个用户,是0的话说明不存在这个用户,提示用户名或密码错误。具体代码网上查,很多。
有本书,Reilly.Learning.PHP.MySQL.and.JavaScript 有兴趣我发给你。
[email protected]