<?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>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</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><?php
require '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>';    
}
}
}
?>
以上代码,当我点击按钮提交之后,不输入东西的时候,首先是弹出用户名密码错误,然后就直接弹出了账户未激活。而且这个东西一直不停的弹出,页面根本没法用。
有的时候我不填写东西的时候,可以弹出框提示如“请输入密码”之类的。
试了很多次,都是这样子的。最主要的是感觉代码没错。

解决方案 »

  1.   

    location.href="login2.php" ;   //这么写
      

  2.   

    你是把处理用户提交的数据和登录放在同一个界面了,你在处理用户提交上来的POST数据后重新刷新本页面,其实这里的POST数据也已经跟着一起过来了,相当于是你重复在提交数据重复处理,所以会不停的弹出提示窗口。建议你把登录页面和处理用户提交数据页面分开就不会了。