留言板的一个注册登录模块,代码如下。问题是$_POST到的数据不能写入数据库表user,各位大侠帮我看看哪错了? require_once('conn.php');//conn.php就是数据库的一些配置文件,那个应该没问题
require_once('smarty_inc.php');
$link=connectDB();
$name=$_POST["user"];
$pwd=$_POST["pwd"];
$pwd_s=$_POST["pwd_s"];
if(!$pwd=$pwd_s){
echo "<script language=\"javascript\">
alert(\"两次输入的密码不一致\");
window.location=\"registr.php\";
</script>";
}else{
$query_user="SELECT use_name FROM user WHERE use_name='".$name."'";
$result=mysql_query($query_user);
if(mysql_num_rows($result)>0){
echo "<script language=\"javascript\">
alert(\"用户名已存在\");
window.location=\"registr.php\";
</script>";
}else{
$query="INSERT INTO user(user_name,user_pwd) VALUES('".$name."','".$pwd."')";
if(mysql_query($query)){
echo "<script language=\"javascript\">
alert(\"注册成功\")
window.location=\"login.php\";
</script>";
}else{
echo "<script language=\"javascript\">
alert(\"注册失败\");
window.location=\"registr.php\";
</script>";
}
}
}
$smarty=new Smarty;
$smarty->display('registr.html');
<html>
<head>
<title>注册页面</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<form name="form1" method="post" action="login.php" >
<p>用户名:
<input name="user" type="text" size="20">
</p>
<p>密码:
<input name="pwd" type="text" size="20">
</p>
<p>确认密码:
<input name="pwd_s" type="text" size="20">
</p>
<input type="button" value="提交" onclick="checksubmit()">
<input type="reset" value="取消">
<p>
<a href='login.php'>返回登陆页面</a>
</form>
{literal}
<script language="javascript">
function checksubmit(){
if(form1.user.value == ""){
alert("用户名不能为空");
form1.user.focus();
return false;
}
if(form1.pwd.value == ""){
alert("密码不能为空");
form1.pwd.focus();
return false;
}
if(form1.pwd_s.value == ""){
alert("确认密码不能为空");
form1.pwd_s.focus();
return false;
}
form1.submit();
return true;
}
</script>
{/literal}
require_once('smarty_inc.php');
$link=connectDB();
$name=$_POST["user"];
$pwd=$_POST["pwd"];
$pwd_s=$_POST["pwd_s"];
if(!$pwd=$pwd_s){
echo "<script language=\"javascript\">
alert(\"两次输入的密码不一致\");
window.location=\"registr.php\";
</script>";
}else{
$query_user="SELECT use_name FROM user WHERE use_name='".$name."'";
$result=mysql_query($query_user);
if(mysql_num_rows($result)>0){
echo "<script language=\"javascript\">
alert(\"用户名已存在\");
window.location=\"registr.php\";
</script>";
}else{
$query="INSERT INTO user(user_name,user_pwd) VALUES('".$name."','".$pwd."')";
if(mysql_query($query)){
echo "<script language=\"javascript\">
alert(\"注册成功\")
window.location=\"login.php\";
</script>";
}else{
echo "<script language=\"javascript\">
alert(\"注册失败\");
window.location=\"registr.php\";
</script>";
}
}
}
$smarty=new Smarty;
$smarty->display('registr.html');
<html>
<head>
<title>注册页面</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<form name="form1" method="post" action="login.php" >
<p>用户名:
<input name="user" type="text" size="20">
</p>
<p>密码:
<input name="pwd" type="text" size="20">
</p>
<p>确认密码:
<input name="pwd_s" type="text" size="20">
</p>
<input type="button" value="提交" onclick="checksubmit()">
<input type="reset" value="取消">
<p>
<a href='login.php'>返回登陆页面</a>
</form>
{literal}
<script language="javascript">
function checksubmit(){
if(form1.user.value == ""){
alert("用户名不能为空");
form1.user.focus();
return false;
}
if(form1.pwd.value == ""){
alert("密码不能为空");
form1.pwd.focus();
return false;
}
if(form1.pwd_s.value == ""){
alert("确认密码不能为空");
form1.pwd_s.focus();
return false;
}
form1.submit();
return true;
}
</script>
{/literal}
解决方案 »
- 请问CENTOS如何连接SQL SERVER呢?
- 求数组中最小的id
- 求一个简单代码ASP,php都行
- PHP连接oracle时老提示一下错误,怎么回事
- 关于pchart中文问题
- 偷偷扫描别人的网页需要定时跳转,不知道是从什么时候开始计时的?
- 关于XP2 apache+PHP+mysql+phpadmin+ZendOptimizer+Zend Studio Server+ZendStudio环境的配置
- linux下中PHP如何以root的身份运行程序?
- 新闻系统中:新闻都做成了html文件,怎么实现记录点击率?
- 这个语句是什么意思????
- 如何在我的项目中的任意一个文件中,都能加载根目录下的这个global.php文件呢?代码怎么写?
- 跨站提交和接收数据的问题
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /smb/xujun/registr.php on line 16
而且怎么会跳出“注册失败"??
但应该不是根本原因
我不知道你的运行结果是alert了什么
//在后面加入错误信息mysql_query($sql)or die(mysql_error());
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /smb/xujun/registr.php on line 16
INSERT INTO user(user_name,user_pwd) VALUES('','')Query was empty
echo $query_user;//看看是否可以查询出数据
$result=mysql_query($query_user);
SELECT use_name FROM user WHERE use_name=''
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /smb/xujun/registr.php on line 17
为什么接收不到啊?
问题还没解决啊!
我刷新一下registr.php页面就报错:Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /smb/xujun/registr.php on line 17
而且会有跳出”注册失败“!
$result=mysql_query($query_user);
if(mysql_num_rows($result)>0){
echo "<script language=\"javascript\">
alert(\"用户名已存在\");
window.location=\"registr.php\";
</script>";
}else{
$query="INSERT INTO user(user_name,user_pwd) VALUES('".$name."','".$pwd."')";
前面查询的语句字段是use_name,但后面写入的却是user_name
<form name="form1" method="post" action="registr.php" >
//注册页要这样
将这句$query_user="SELECT use_name FROM user WHERE use_name='".$name."'";
改为:$query_user="SELECT use_name FROM user WHERE user_name='".$name."'";
当你执行到这句话时 他会定向到login.php页面,也就是你的php代码 根据逻辑 它还会走到注册成功 你看你数据库执行这句话 INSERT INTO user(user_name,user_pwd) VALUES('','') 能成功不
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
require_once('conn.php');//conn.php就是数据库的一些配置文件,那个应该没问题
require_once('smarty_inc.php');
$link=connectDB();
$name=$_POST["user"];
$pwd=$_POST["pwd"];
$pwd_s=$_POST["pwd_s"];
if(!$pwd==$pwd_s){
echo "<script language=\"javascript\">
alert(\"两次输入的密码不一致\");
window.location=\"registr.php\";
</script>";
}else{
$query_user="SELECT use_name FROM user WHERE user_name='".$name."'";
$result=mysql_query($query_user);
if(mysql_num_rows($result)>0){
echo "<script language=\"javascript\">
alert(\"用户名已存在\");
window.location=\"registr.php\";
</script>";
}else{
$query="INSERT INTO user(user_name,user_pwd) VALUES('".$name."','".$pwd."')";
if(mysql_query($query)){
echo "<script language=\"javascript\">
alert(\"注册成功\")
window.location=\"login.php\";
</script>";
}else{
echo "<script language=\"javascript\">
alert(\"注册失败\");
window.location=\"registr.php\";
</script>";
}
}
}
}
$smarty=new Smarty;
$smarty->display('registr.html');
?>
你在后面加一个value看看
$pwd=$_POST["pwd"];
$pwd_s=$_POST["pwd_s"];
echo $pwd; 分别看看有没有值
mysql_num_rows()加一个@即 @mysql_num_rows()就不会出现上面的错误
require_once('smarty_inc.php');
$link=connectDB();
$name=$_POST["user"];
$pwd=$_POST["pwd"];
$pwd_s=$_POST["pwd_s"];
if(!$pwd=$pwd_s){
echo "<script language=\"javascript\">
alert(\"两次输入的密码不一致\");
window.location=\"registr.php\";
</script>";
}else{
$query_user="SELECT user_name FROM user WHERE user_name='".$name."'";
$result=mysql_query($query_user);
if(!empty($result)){
echo "<script language=\"javascript\">
alert(\"用户名已存在\");
window.location=\"registr.php\";
</script>";
}else{
$query="INSERT INTO user(user_name,user_pwd) VALUES('".$name."','".$pwd."')";
if(mysql_query($query)){
echo "<script language=\"javascript\">
alert(\"注册成功\")
window.location=\"login.php\";
</script>";
}else{
echo "<script language=\"javascript\">
alert(\"注册失败\");
window.location=\"registr.php\";
</script>";
}
}
}
$smarty=new Smarty;
$smarty->display('registr.html');
$query_user="SELECT use_name FROM user WHERE use_name='".$name."'";
和
$query="INSERT INTO user(user_name,user_pwd) VALUES('".$name."','".$pwd."')";
这一句 里面的键名都不一样 一个叫 use_name 一个叫user_name
echo "<script language=\"javascript\">
alert(\"两次输入的密码不一致\");
window.location=\"registr.php\";
</script>";
}else{
$query_user="SELECT use_name FROM user WHERE use_name='".$name."'";
$result=mysql_query($query_user);
if(mysql_num_rows($result)>0){
echo "<script language=\"javascript\">
alert(\"用户名已存在\");
window.location=\"registr.php\";
</script>";
}else{
$query="INSERT INTO user(user_name,user_pwd) VALUES('".$name."','".$pwd."')";
if(mysql_query($query)){
echo "<script language=\"javascript\">
alert(\"注册成功\")
window.location=\"login.php\";
</script>";
}else{
echo "<script language=\"javascript\">
alert(\"注册失败\");
window.location=\"registr.php\";
</script>";
}
}
}
改为
if($pwd!=$pwd_s){
echo "<script language=\"javascript\">
alert(\"两次输入的密码不一致\");
window.location=\"registr.php\";
</script>";
}else{
$query_user="SELECT use_name FROM user WHERE use_name='".$name."'";
$result=mysql_query($query_user);
if(mysql_num_rows($result)>0){
echo "<script language=\"javascript\">
alert(\"用户名已存在\");
window.location=\"registr.php\";
</script>";
}else{
$query="INSERT INTO user(user_name,user_pwd) VALUES('".$name."','".$pwd."')";
if(mysql_query($query)){
echo "<script language=\"javascript\">
alert(\"注册成功\")
window.location=\"login.php\";
</script>";
}else{
echo "<script language=\"javascript\">
alert(\"注册失败\");
window.location=\"registr.php\";
</script>";
}
}
}