一个我2天都没搞定的问题!!! 到底报什么错,把出错信息放上来看一看。用下边的语句看一看$query="select username from admin where username='$username'"; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <head><? require("conn.inc");?><script language="JavaScript"><!--function MM_popupMsg(msg) { //v1.0 alert(msg);}//--></script></head><body><?if($username=="") { $chkinfo="对不起,请输入用户名"; } else { $query="select username from admin where username=$username"; $result=mysql_query($query); while($row="mysql_fetch_array($result)") { if ($row[username]==$username) $chkinfo="该用户名已经被注册"; break; }}?><input type="button" name="chk" value="检测用户名" onClick="MM_popupMsg('<? echo "$chkinfo";?>')"></body> 报错到没有。可不无论你往username的文本框你输入什么 ,都提示说“该用户名已经被注册 ”还有个问题就是:想在这样的判断中({ if ($row[username]==$username) $chkinfo= "该用户名已经被注册 "; break; } )是不是就不用else语句了啊?? 报错到没有。可不无论你往username的文本框你输入什么 ,都提示说“该用户名已经被注册 ” while($row="mysql_fetch_array($result)"){if ($row[username]==$username)$chkinfo="该用户名已经被注册";break;}有错!$row="mysql_fetch_array($result)"是把字串"mysql_fetch_array($result)"赋给$row,应该不加引号。while($row=mysql_fetch_array($result))$row[username]==>$row['username']这样写较规范。 $query="select username from admin where username='$username'"; 改为:while($row=mysql_fetch_object($result)){ if($row->username==$username) $chkinfo = "该用户名已经被注册"; break;} 我们一般是这样判断。你试试看!我们都是这么用<head><? require("conn.inc");?><script language="JavaScript"><!--function MM_popupMsg(msg) { //v1.0 alert(msg);}//--></script></head><body><?if($username=="") { $chkinfo="对不起,请输入用户名"; } else $query="select username from admin where username='".$username."'"(最好是这么写); $result=mysql_query($query); if ($result) { $chkinfo="该用户名已经被注册"; }?><input type="button" name="chk" value="检测用户名" onClick="MM_popupMsg('<? echo "$chkinfo";?>')"></body> 我把核心的地方改成下面这个了,可是还不行啊,不管用户名那填什么,点击检测按扭后的提示都是:对不起,请输入用户名!<?if($username=="") { $chkinfo="对不起,请输入用户名"; } else $query="select username from admin where username='".$username."'"(最好是这么写); $result=mysql_query($query); if ($result) { $chkinfo="该用户名已经被注册"; }?>而当我去掉:if($username=="") { $chkinfo="对不起,请输入用户名"; } else只剩下: $query="select username from admin where username='".$username."'"(最好是这么写); $result=mysql_query($query); if ($result) { $chkinfo="该用户名已经被注册"; }的时候呢,不管填什么,都提示说:用户名已经被注册!真不知道是怎么回事!!! 还有4分钟,这个问题就捆饶我3天啦~~~同志们那,~~~~help~~~~~~~~~ 你的else后面有{}吗?把你完整的代码帖出来看看。 看这样怎么样!<head><?require("conn.inc");?><script language="JavaScript"><!--function MM_popupMsg(msg) { //v1.0 alert(msg);}//--></script></head><body><?if($username==""){ $chkinfo="对不起,请输入用户名";}else{ $query="select username from admin where username='$username'"; $result=mysql_query($query); while($row=mysql_fetch_array($result)) { if ($row[username]==$username){ $chkinfo="该用户名已经被注册"; break; }else{ $chkinfo="该用户名没有被注册"; return; } }}?><input type="button" name="chk" value="检测用户名" onClick="MM_popupMsg('<? echo $chkinfo;?>')"></body> echo一下sql语句,这样很有帮助。 根据你最后一个帖子我觉得是因为$username 一直是 "";这样if()总是返回true;你可以试着用$username = $_GET["username"] or $_POST["username];取决于你的form里面的method你去掉if以后,用result来判断是否用户存在是不可取的,因为即使$username == "", 但你的sql statement一直正确,if($result)也是总返回true, 即使结果为空。所以你会一直受到“用户已经注册“的结果。你可以用 if(mysql_num_rows($result)) 来判断. 根据你最后一个帖子我觉得是因为$username 一直是 "";这样if()总是返回true;你可以试着用$username = $_GET["username"] or $_POST["username];取决于你的form里面的method你去掉if以后,用result来判断是否用户存在是不可取的,因为即使$username == "", 但你的sql statement一直正确,if($result)也是总返回true, 即使结果为空。所以你会一直受到“用户已经注册“的结果。你可以用 if(mysql_num_rows($result)) 来判断. 把$row[username]改为$row["username"]。 他这段代码有一个逻辑错误。你们看:他首先查询到所有与填写名称相同的数据。然后在这个结果内查询是不是有相同的用户。 结果,只能是“该用户名已经被注册”。$query="select username from admin where username=$username";$result=mysql_query($query);while($row="mysql_fetch_array($result)") { if ($row[username]==$username) $chkinfo="该用户名已经被注册"; break; }不知是不是这样。 急求帮助添加几句代码 请教一个PHP最简单的问题 新手问题 如何将以下数组分开同时显示出来 求助:PHP调试 看看我这个function出问题在哪里? smarty的小问题 php如何用oci连接oracle? 帮我看看! Eclipse单步调试PHP代码,光标不移动 如何打包网页,就好象一个zip一样,自动生成zip格式,包含多个网页,及他们之间的连接都不会变,有好象一个整体一样。 为什么我在用ftp_connect()的时候,出现没有定意这个函数的错误?
<?
require("conn.inc");
?>
<script language="JavaScript">
<!--
function MM_popupMsg(msg) { //v1.0
alert(msg);
}
//-->
</script>
</head>
<body>
<?
if($username=="")
{
$chkinfo="对不起,请输入用户名";
}
else {
$query="select username from admin where username=$username";
$result=mysql_query($query);
while($row="mysql_fetch_array($result)")
{
if ($row[username]==$username)
$chkinfo="该用户名已经被注册";
break;
}
}
?><input type="button" name="chk" value="检测用户名" onClick="MM_popupMsg('<? echo "$chkinfo";?>')">
</body>
还有个问题就是:想在这样的判断中({
if ($row[username]==$username)
$chkinfo= "该用户名已经被注册 ";
break;
} )是不是就不用else语句了啊??
if ($row[username]==$username)
$chkinfo="该用户名已经被注册";
break;
}
有错!
$row="mysql_fetch_array($result)"是把字串"mysql_fetch_array($result)"赋给$row,应该不加引号。
while($row=mysql_fetch_array($result))$row[username]
==>
$row['username']
这样写较规范。
while($row=mysql_fetch_object($result))
{
if($row->username==$username)
$chkinfo = "该用户名已经被注册";
break;
}
<head>
<?
require("conn.inc");
?>
<script language="JavaScript">
<!--
function MM_popupMsg(msg) { //v1.0
alert(msg);
}
//-->
</script>
</head>
<body>
<?
if($username=="")
{
$chkinfo="对不起,请输入用户名";
}
else
$query="select username from admin where username='".$username."'"(最好是这么写);
$result=mysql_query($query);
if ($result)
{
$chkinfo="该用户名已经被注册";
}
?><input type="button" name="chk" value="检测用户名" onClick="MM_popupMsg('<? echo "$chkinfo";?>')">
</body>
<?
if($username=="")
{
$chkinfo="对不起,请输入用户名";
}
else
$query="select username from admin where username='".$username."'"(最好是这么写);
$result=mysql_query($query);
if ($result)
{
$chkinfo="该用户名已经被注册";
}
?>
而当我去掉:
if($username=="")
{
$chkinfo="对不起,请输入用户名";
}
else只剩下:
$query="select username from admin where username='".$username."'"(最好是这么写);
$result=mysql_query($query);
if ($result)
{
$chkinfo="该用户名已经被注册";
}
的时候呢,不管填什么,都提示说:用户名已经被注册!
真不知道是怎么回事!!!
把你完整的代码帖出来看看。
<head>
<?require("conn.inc");?>
<script language="JavaScript">
<!--
function MM_popupMsg(msg) { //v1.0
alert(msg);
}
//-->
</script>
</head>
<body>
<?
if($username==""){ $chkinfo="对不起,请输入用户名";}
else{
$query="select username from admin where username='$username'";
$result=mysql_query($query);
while($row=mysql_fetch_array($result))
{
if ($row[username]==$username){
$chkinfo="该用户名已经被注册";
break;
}else{
$chkinfo="该用户名没有被注册";
return;
}
}
}
?><input type="button" name="chk" value="检测用户名" onClick="MM_popupMsg('<? echo $chkinfo;?>')">
</body>
我觉得是因为$username 一直是 "";
这样if()总是返回true;
你可以试着用$username = $_GET["username"] or $_POST["username];取决于你的form里面的method你去掉if以后,用result来判断是否用户存在是不可取的,因为即使$username == "", 但你的sql statement一直正确,if($result)也是总返回true, 即使结果为空。所以你会一直受到“用户已经注册“的结果。你可以用 if(mysql_num_rows($result)) 来判断.
我觉得是因为$username 一直是 "";
这样if()总是返回true;
你可以试着用$username = $_GET["username"] or $_POST["username];取决于你的form里面的method你去掉if以后,用result来判断是否用户存在是不可取的,因为即使$username == "", 但你的sql statement一直正确,if($result)也是总返回true, 即使结果为空。所以你会一直受到“用户已经注册“的结果。你可以用 if(mysql_num_rows($result)) 来判断.
你们看:他首先查询到所有与填写名称相同的数据。然后在这个结果内查询是不是有相同的用户。 结果,只能是“该用户名已经被注册”。
$query="select username from admin where username=$username";
$result=mysql_query($query);
while($row="mysql_fetch_array($result)")
{
if ($row[username]==$username)
$chkinfo="该用户名已经被注册";
break;
}
不知是不是这样。