如果是php,则登录页面嵌套
通过使用嵌套if方法对代码进行分类,使用不同的用户登录php,但是,它将只运行第一个if,而不运行第二个if如果是php,则登录页面嵌套,php,html,mysql,Php,Html,Mysql,通过使用嵌套if方法对代码进行分类,使用不同的用户登录php,但是,它将只运行第一个if,而不运行第二个if $sql= mysql_query("SELECT * FROM user WHERE id= '$id' AND password= '$password'"); $sql1 = "SELECT position FROM user WHERE id ='$id' AND password = ' $password'"; if(mysql_num_rows($sql) &
$sql= mysql_query("SELECT * FROM user WHERE id= '$id' AND password= '$password'");
$sql1 = "SELECT position FROM user WHERE id ='$id' AND password = ' $password'";
if(mysql_num_rows($sql) > 0)
{
if($sql1 = "student" )
嵌套的if从何处开始
{
echo ("<SCRIPT LANGUAGE='JavaScript'>
window.alert('Login Succesfully!.')
window.location.href='google.com.my'
</SCRIPT>");
}
else if($sql1 = "lecturer" )**it will not run until this if **
{
echo ("<SCRIPT LANGUAGE='JavaScript'>
window.alert('Login Succesfully123!.')
window.location.href='www.yahoo.com'
</SCRIPT>");
}
exit();
}
else{
echo ("<SCRIPT LANGUAGE='JavaScript'>
window.alert('Wrong username password combination.Please re-enter.')
window.location.href='login.html'
</SCRIPT>");
exit();
}
}
?>
在第二条sql语句中,更改“$password”;至“$password” 您不是在比较,而是在给$sql1赋值 改为
if($sql1 == "student" )
为确保密码安全,请使用
$sql1 = mysql_query("SELECT position FROM user WHERE id ='$id' AND password = ' $password'");
而不是
$sql1 = "SELECT position FROM user WHERE id ='$id' AND password = '$password'";
您必须使用mysql\u fetch\u数组或mysql\u fetch\u assoc从表中获取数据
如果情况需要改善呢
if($something == "student" )
不是
编辑
像这样尝试..并进行必要的更改
$sql1 = mysql_query("SELECT position FROM user WHERE id ='$id' AND password = ' $password'");
if($row = mysql_fetch_array($sql1))
{
$result = $row['position'];
}
然后
您从未运行过将值返回到$sql1的查询。将mysql_查询放在$sql1查询周围,它将返回您想要的内容。此外,您没有中断查询以输入数据,您必须从id='的用户执行mysqli_querySELECT*$身份证。”密码=“$password” 另外,您应该转到mysqli\u查询,而不是mysql\u查询。
警告您的代码容易受到sql注入攻击,您不应以纯文本形式存储用户密码。首先,如果$sql1=student是赋值而不是比较,则需要a==。另外,$sql1不等于student。。这里有很多问题,@Alfie说,如果你写ifa=b,它会给a一个b的值。你应该写ifa==b,这意味着它会看到它们是否相等。在我全部更改之后,它将只显示空白页面,而不会显示google或yahoo站点。它仍然停留在php页面中。sql=mysql_querySELECT*FROM user,其中id='$id'和password='$password'$sql1=mysql_querySELECT position FROM user,其中id='$id'和password='$password';if$row=mysql_fetch_array$sql1{$result=$row['position'];}if mysql_num_rows$sql>0{if$result==student{echo'hi';echo window.alert'Login successfully.'window.location.href='google.com.my'}else{echo'hi1';最后关闭尾端的两个括号。同样,它仍然不起作用。我将直接运行if语句2,分别测试查询以确保它们起作用。如果查询工作正常,则以逐步方式转到每个if条件。感谢您的尝试:
if($something = "student" )
$sql1 = mysql_query("SELECT position FROM user WHERE id ='$id' AND password = ' $password'");
if($row = mysql_fetch_array($sql1))
{
$result = $row['position'];
}
if($result == "student")
{
//do something...
}