PHP:验证表单并显示警报

时间:2012-05-24 04:58:19

标签: php javascript html

我有一个注册表单,其中我有一个字段登录名。我想为每个用户提供唯一的登录名,所以每当用户点击我想检查数据库的按钮时。如果用户输入的登录名已经存在,我想显示一个警告框,要求他尝试另一个登录名。我写了下面的代码。

if($login != '')
{
$query = "Select LoginName from register where LoginName='".$login."'";
$result = mysql_query($query);
if($result)
{
?>
<script type="text/javascript">
alert("Login name exist");
</script>
<?php
}
else
{
insert into database
}
}

这里的问题是每当它向我显示已经存在的名称的警报时。它永远不会进入其他部分。 请帮帮我这个

4 个答案:

答案 0 :(得分:5)

即使没有返回任何行,mysql_query($ query)返回的$ result也将存在。只有在查询无效或包含错误且无法执行时才会失败。

尝试使用以下内容:

if( mysql_num_rows($result) > 0 )

mysql_num_rows将返回查询返回的行数。

友情提醒:不要忘记清理用户输入以防止SQL注入。

答案 1 :(得分:0)

首先获取数据然后计算$ rows数组 检查count是否大于0然后显示错误消息“用户名已存在”

如果条件和其他内容写入插入数据

享受:)

答案 2 :(得分:0)

你的流程应该是这样的:

<?php
if($login != ''){
  $query = "Select LoginName from register where LoginName='".$login."'";
  $result = mysql_query($query);
  if($result){
    if(mysql_num_rows($result) > 0) {
?>
        <!-- LoginName already exists, do something here -->
        <script type="text/javascript">
          alert("Login name exist");
        </script>
<?php
   }
   else {
     // LoginName avaialable
     // your logic for registering user goes here
   }
 }
 else
 {
   // query not executed, handle this issue properly
 }
}

答案 3 :(得分:0)

检查if($ result ['LoginName]){ }