这一大段代码我在2013年时是可以正常运行的,原来用的是windows XP。现在拿出来这段code想修改一下再用用。这段代码是当id和password未输入时留在当前的登录页面,当id和password有表单输入时,从数据库中核对id和password,如果正确就进入主页面的code。但是现在重新安装新版的appserv后,系统是win10,发现,id和password未设置时可以进入if(!isset($id)&&!isset($password))条件成立的部分,但是即使输入id和password也无法进入if(!isset($id)&&!isset($password))的else部分了。
请各位大神帮忙看看,是不是系统或者php有升级导致的还是会其他什么问题导致的,谢谢。
<?php
//登录界面
if(!isset($id)&&!isset($password))
{
?>
<body>
<!-- start page -->
<div id="page">
<!-- start content -->
<div id="content">
<div class="post">
<h1 class="title">ITT 866 barcode link</h1>
<div class="entry">
<p></p>
<div class="password"><p></div></p>
<div class="list">
</div>
</div>
</div>
<div class="post">
<h2 class="title"></h2>
<div class="entry">
</div>
</div>
</div>
<!-- end content -->
<!-- start sidebar -->
<div id="sidebar">
<ul>
<li id="search">
<h2>Login</h2>
<form method="post" action="login.php">
<fieldset>
<p>ID:</font></p><input type="text" id="s" name="id" maxlength="10"/>
<p>Password:</p><input type="password" id="s" name="password" maxlength="8"/>
<input type="submit" id="x" value="Login" />
</fieldset>
</form>
<table><tr>
</tr></table>
</li>
</ul>
</div>
<!-- end sidebar -->
<div style="clear: both;"> </div>
</div>
<!-- end page -->
<?php
}
else
{
//帐号不为5位时
if(strlen($id)<5)
{
echo "<script language=\"javascript\">\r\n";
echo "alert(\"Invalid ID length!\");\r\n";
echo "history.back();\r\n";
echo "</script>";
}
else
{
require ("mysql.php");
$query="select * from login where id='$id' and password='$password'";
$result=$mysql->query($query);
if($myrow = mysqli_fetch_array($result))
{
//定义全局变量:valid为中文姓名及判断是否为登录用户;pur为用户权限等级1,2,3
$_SESSION['valid'] =$myrow["name"];
$_SESSION['pur']=$myrow["purview"];
//跳转到主页
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
//echo '<meta http-equiv="refresh" content="0;URL=select_process.php">';
}
}
}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号