- PHP code
<?php//session_start();?><script language="JavaScript" type="text/javascript">function chk_login_input(form){ if(form.email.value=="") { alert("请输入邮箱"); form.email.focus(); return false; } if(form.password.value=="") { alert("请输入密码"); form.password.focus(); return false; } return true;}</script><style type="text/css"> td { border-right: 1px solid #C1DAD7; border-bottom: 1px dashed #C1DAD7; padding: 6px 6px 6px 6px; color: #4f6b72; font-family:"黑体";font-size:20px;} </style><div id="login" style="text-align:center;margin-top:80px;margin-left:150px;background-image:url(../images/login-bg.png);width:492px;height:395px;"> <form action ="login2.php" method="post" name="login" onsubmit="return chk_login_input(this)"> <p> </p> <p> </p> <p> </p> <table style="margin:auto"> <tr> <td>Email:</td> <td><input type="text" name="email" size="20"/></td> </tr> <tr></tr> <tr> <td>密码:</td> <td><input type="password" name="password" size="20"/> </td> </tr> <tr> <td><input type="image" name="submit" src="../images/login-icon.png" onClick="document.login.submit()"></td></td> </tr> </table> </form></div><?phprequire 'connect_to_database.php';$email=$_POST["email"];$password=$_POST["password"];$dt=mysql_query("select * from userinfo where email='".$email."' and password='".$password."'");if($dt == true ) //访问数据库成功{ $row = mysql_fetch_row($dt); if($row == false)//是否从数据库里提出到了东西 { echo '<script type="text/javascript"> alert("邮箱或密码错误,请重新输入"); location.href("login2.php");</script>'; } else if($row == true) { if($row[6]=='no') { echo '<script type="text/javascript"> alert("账户未激活,请到您的邮箱激活账户,账号需管理员审核后才可使用"); location.href("login2.php"); </script>'; } else { $_SESSION['email']=$email; $_SESSION['password']=$password; echo '<script type="text/javascript"> alert("登录成功"); location.href("index.php"); </script>'; } }}?>
以上代码,当我点击按钮提交之后,不输入东西的时候,首先是弹出用户名密码错误,然后就直接弹出了账户未激活。而且这个东西一直不停的弹出,页面根本没法用。
有的时候我不填写东西的时候,可以弹出框提示如“请输入密码”之类的。
试了很多次,都是这样子的。最主要的是感觉代码没错。
------解决方案--------------------
哪里不行? 请描述一下。
------解决方案--------------------
你是把处理用户提交的数据和登录放在同一个界面了,你在处理用户提交上来的POST数据后重新刷新本页面,其实这里的POST数据也已经跟着一起过来了,相当于是你重复在提交数据重复处理,所以会不停的弹出提示窗口。建议你把登录页面和处理用户提交数据页面分开就不会了。