这段代码有问题吗?为什麽登录时总出现“登录失败”?
<?php session_start(); ?>
<!--上方语法为启用session,此语法要放在网页最前方-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
//连接资料库
//只要此页面上有用到连接MySQL就要include它
include("mysql_connect.inc.php");
$id = $_POST['id'];
$pw = $_POST['pw'];
//搜寻资料库资料
$sql = "SELECT * FROM register where username = '$id'";
$result = mysql_query($sql);
$row = @mysql_fetch_row($result);
//判断帐号与密码是否为空白
//以及MySQL资料库里是否有这个会员
if($id != null && $pw != null && $row[1] == $id && $row[2] == $pw)
{
//将帐号写入session,方便验证使用者身份
$_SESSION['username'] = $id;
echo '登入成功!';
echo '<meta http-equiv=REFRESH CONTENT=1;url=member.php>';
}
else
{
echo '登入失败!';
echo '<meta http-equiv=REFRESH CONTENT=1;url=index.php>';
}
?>
你可以输出$row[1],$id,$row[2],$pw试试看看追问
试过,显示你的if语句有语法问题。再帮帮忙。
我象你讲的这样试过,还是不行
追答mysql_fetch_array 试试, 最好让他显示的 数据库字段 关联数组
如果不行 打印一下 $row、
$id != null 跟 !empty($id) 他一样
//为什么是$id=usernamene ?
这个是怎么设计的呢?追问
我是从网上找来的这段代码,不是我写的,username = '$id'这一句我理解是“当表单提交的变量$id与数据库里的字段username一致时”这么一个条件。
追答一般都是对应的变量等于对应的东西 username应该等于$username吧 可能他网上的代码有点错误吧!你可以试试看