<?
error_reporting(0);
$conn = mysql_connect("localhost", "root", "root") or die("connect err.".mysql_error());
mysql_select_db("xssf");
$name = trim($_POST['name']);
$studentid = trim($_POST['studentid']);if($_POST['ok']==1){
if ($name && $studentid){
$sql = "SELECT * FROM xueshengjibenxinxib WHERE 姓名 = '$name' and 学号='$studentid'";
$res = mysql_query($sql);
$rows = mysql_num_rows($res);
if($rows){
header("refresh:0;url=a.htm");//跳转页面
exit;
}
else echo "<script language=javascript>alert('用户名密码错误');history.back();</script>";
}
else echo "<script language=javascript>alert('用户名密码不能为空');history.back();</script>";
}
?>数据库是可以链接的已测,SQL语句也可以执行,但是无论输入什么用户名和密码总显示“用户名密码错误”,数据库里有相关姓名和学号信息(执行SQL语句的时候可以查询到记录)
error_reporting(0);
$conn = mysql_connect("localhost", "root", "root") or die("connect err.".mysql_error());
mysql_select_db("xssf");
$name = trim($_POST['name']);
$studentid = trim($_POST['studentid']);if($_POST['ok']==1){
if ($name && $studentid){
$sql = "SELECT * FROM xueshengjibenxinxib WHERE 姓名 = '$name' and 学号='$studentid'";
$res = mysql_query($sql);
$rows = mysql_num_rows($res);
if($rows){
header("refresh:0;url=a.htm");//跳转页面
exit;
}
else echo "<script language=javascript>alert('用户名密码错误');history.back();</script>";
}
else echo "<script language=javascript>alert('用户名密码不能为空');history.back();</script>";
}
?>数据库是可以链接的已测,SQL语句也可以执行,但是无论输入什么用户名和密码总显示“用户名密码错误”,数据库里有相关姓名和学号信息(执行SQL语句的时候可以查询到记录)
$rows>0 肯定就执行 else echo "<script language=javascript>alert('用户名密码错误');history.back
直接这样写
if($rows){
header("refresh:0;url=a.htm");//跳转页面
exit;
}
else echo "<script language=javascript>alert('登陆成功');history.back();</script>";
}还有判断用户名和密码不能为空,直接在前端用JS判断,也可以在查询之前判断。
if($rows){
header("location:a.htm");//跳转页面
exit;
}
else echo "<script language=javascript>alert('用户名密码错误');history.back();</script>";
}把查询语句打印出来然后执行一下,看是什么结果
$sql = "SELECT * FROM xueshengjibenxinxib WHERE 姓名 = '$name' and 学号='$studentid'";可能是你的 sql 出现问题。。字段为中文可能搜索不出来的,把字段名改为英文,,,,,
你所执行的sql语句是上程序的出来的sql还是直接在数据库中写的?
if($rows>0){}
可能没有进判断
$rows = mysql_num_rows($res);
var_dump($rows);//看下这个有没数据
mysql_query($sql) or die(mysql_error());
正确执行没
if ($name && $studentid){
$sql = "SELECT * FROM xueshengjibenxinxib WHERE 姓名 = '$name' and 学号='$studentid'";
$res = mysql_query($sql);
$rows = mysql_num_rows($res);
if($rows){
header("refresh:0;url=a.htm");//跳转页面
exit;
}
else echo "<script language=javascript>alert('用户名密码错误');history.back();</script>";
}
else echo "<script language=javascript>alert('用户名密码不能为空');history.back();</script>";
}
?>类似判断语句的问题,
在else echo "<script language=javascript>alert('用户名密码错误');history.back();</script>";
前面加上}
if ($name && $studentid){
$sql = "SELECT * FROM xueshengjibenxinxib WHERE 姓名 = '$name' and 学号='$studentid'";
$res = mysql_query($sql);
$rows = mysql_num_rows($res);
if($rows){
header("refresh:0;url=a.htm");//跳转页面
exit;
}
else
{
echo "<script language=javascript>alert('用户名密码错误');history.back ();</script>";
}
}else
{
echo "<script language=javascript>alert('用户名密码不能为空');history.back();</script>";
}
}
?>
也就是说查询语句之前要执行一下set names语句。