想实现注册后才能登陆
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }$u=$_POST['UN'];
$p=$_POST['PSD'];
$result = mysql_query("SELECT UserName, password FROM person WHERE UserName='$u'and password='$p'");
if($result=="TRUE")  echo "<script language=javascript>
  alert('登陆成功');
  history.back();</script>";
else echo "<script language=javascript>
  alert('请填写正确的用户名和密码');
  history.back();
  </script>";
?>
前台登陆界面:
<table width=215   border="0">
  <tr>
    <td>&nbsp;<form name="formName" action="denglu.php" onsubmit="return checkData()" method=post>
<h5>用户登录:</h5>
<label>用户名: <input type="text" name="UN" size="11"/></label><br />
<label>密 &nbsp;码:  <input type ="password" name="PSD" size="10" /></label><br /><br /><a href="#">忘记密码</a><br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" name="submit" value="登陆" / ></form> </td></tr>
 <tr><td align="middle"><form action="other/会员注册条款.htm">
 <input name="submit" type="submit" value="注册" />
 </form></td></tr>
 </table>
为什么用户名和密码正确了也一直显示“请填写正确的用户名和密码”啊??
我是新手~~求助啊~~

解决方案 »

  1.   

    $result = mysql_query("SELECT UserName, password FROM person WHERE UserName='$u'and password='$p'");  //执行错误时返回false,执行正确时返回的是一个资源
    //判断输入的用户名、密码是否正确
    if (mysql_num_rows($result) > 0) {
        echo "<script language=javascript>
        alert('登陆成功');
        history.back();</script>";
    }
    else {}
    //你的if else控制结构中进行条件判断后显然要执行的是一个代码块,而不是判断后只执行一条语句
    //所以 if {} else {} 花括号不能省略
      

  2.   

    你应该判断 是否点击了 submit按钮
    denglu.php 中if($_POST['submit'])
    {
       $u=$_POST['UN'];
       $p=$_POST['PSD'];
    <form name="formName" action="denglu.php" method="post"> 去掉onsubmit,你用不到它....
    ....
    全部
    }
      

  3.   

    if($result=="TRUE")  echo "<script language=javascript>
      alert('登陆成功');
      history.back();</script>";
    else echo "<script language=javascript>
      alert('请填写正确的用户名和密码');
      history.back();
      </script>";应写成
    if($result=="TRUE"){  echo "<script language=javascript>
      alert('登陆成功');
      history.back();</script>";
    }else{ echo "<script language=javascript>
      alert('请填写正确的用户名和密码');
      history.back();
      </script>";
    }
      

  4.   

    1 首先验证是否输入了正确的信息(js判断,去除非法字符和长短不符合要求的)
    2 然后验证是否在数据库中(判断是否注册过)
    3 接着核对帐号密码是否正确(跟2后面判断即可)
    4 写session
    5 进入系统给我点分吧,我穷
      

  5.   

    $res=mysql_query("select username,passwd from person where username='$username'");
    $res1=mysql_fetch_array($res);
     if($username==$res1['username']&&$passwd=$res1['passwd']){}
    这样 应该可以了