请高手帮我看下我的代码 主要是注册用户名和登录 用的是PHP+MYSQL 问题很多 希望高手能运行看下 谢谢 20

这是注册页面的处理页<html><head><title>用户注册</title></head><body><?php//接受表单数据$user_name=$_POST[... 这是注册页面的处理页
<html>
<head>
<title>用户注册</title>
</head>
<body>
<?php
//接受表单数据
$user_name=$_POST["user_name"];
$user_pw1=$_POST["user_pw1"];
$user_pw2=$_POST["user_pw2"];
//表单数据基本性验证,省略用户名验证
if($user_name="" or $user_pw1="" or $user_pw2="" or $_FILES['pic_name']['name']==""){
echo "用户名不能为空,请<a href=login.html>返回</a>重新填写";
exit;
}
if ($user_pw1!=$user_pw2){
echo"您两次输入的登陆口令不匹配,请<a href=login.html>返回</a>重新填写";
exit;
}
//声称自动文件名
$rand1=rand(0,9);
$rand2=rand(0,9);
$rand3=rand(0,9);
$filename=date("ymdhms").$rand1.$rand2.$rand3;
//头像上传
$oldfilename=$_FILES['pic_name']['name'];
$filetype=substr($oldfilename,strrpos($oldfilename,"."),strlen ($oldfilename) -strrpos($oldfilename,"."));
if(($filetype!='.gif')&&($filetype!='.GIF')&&($filetype!='.jpg')&&($filetype!='.JPG')){
echo"<script>alert('文件类型地址错误');</script>";
echo"<script>location.href='login.html';</script>";
exit;
}
if ($_FILES['pic_name']['size']>1000000){
echo "<script>alert('文件太大,不能上传');</script>";
echo "<script>location.href='login.html';</script>";
exit;
}
//取得保存文件的临时文件名(含路径)
$filename=$filename.$filetype;
$savedir=$filename;
if (move_uploaded_file ($_FILES['pic_name']['tmp_name'],$savedir)){
$file_name=basename($savedir);//取得保存文件名(不含路径)
}else{
echo"<script language=javascript>";
echo"alert('错误,无法将附件写入服务器!\n本次发布失败!');";
echo"location.href='login.html';";
echo"</script>";
exit;
}
//记录注册信息到user_info.txt文件中
$id=mysql_connect("localhost","root","");
mysql_select_db("login",$id);
$query="insert into user_info (user_name,user_pass,head_pic) values('$user_name','$user_pw1','$file_name')";
mysql_query($query,$id);
echo "恭喜您,注册成功!<br>";
echo"用户名:".$user_name."<br>";
echo"登录口令:".$user_pw1."<br>";
echo" <img src=".$filename." align=middle><br>";
echo"请<a href=land.html>登录</a>";
?>
</body>
</html>
这是登录处理页
<html>
<head>
<title>用户登录</title>
</head>
<body>
<?php
$id=mysql_connect("localhost","root","");
mysql_select_db("login",$id);
$user_name=$_POST["user_name"];
$user_pw=$_post["user_pw"];
$query="select*from user_info where user_name='$user_name'";
$rst=mysql_query($query,$id);
if (mysql_num_rows($rst)==0){
echo "用户名不存在,请<a href=land.html>返回</a>";
}else{
$user=mysql_fetch_array($rst,MYSQL_ASSOC);
if ($user["user_pass"]!=$user_pw){
echo"密码错误,请<a href=land.html>返回</a>";
}else{
echo "恭喜您,登录成功!<br>";
echo "用户名:".$user["user_name"]."<br>";
echo "自定义头像:<img src=".$user["head_pic"]."<br>";
}
}
?>
</body>
</html>
展开
 我来答
梦一笑轩
2012-07-20 · 超过14用户采纳过TA的回答
知道答主
回答量:109
采纳率:0%
帮助的人:34.1万
展开全部
代码有错误,
//表单数据基本性验证,省略用户名验证
if($user_name="" or $user_pw1="" or $user_pw2="" or $_FILES['pic_name']['name']==""){
echo "用户名不能为空,请<a href=login.html>返回</a>重新填写";
exit;
}
“=”号是赋值符号,“==”才是判断等于符号,低级错误!
你是照着课本写的吧,仔细检查下,至于密码不相同就能注册成功,肯定是你的表单名称写错了

注意看看 <input type="password" name="XXXXXX"> 看看 name值 是否能对应起来,
另外,这段代码很面熟,好像出自我大一时候的教科书
追问
呵呵  我这就是照着书本打的   不过我已经发现改过了  
你懂数据库不 为什么接受表单的数据传到数据库就乱码了 我知道是编码的问题 就是不会改编码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友cc95424
2012-07-16 · TA获得超过134个赞
知道小有建树答主
回答量:260
采纳率:0%
帮助的人:111万
展开全部
写的太乱了 你要问什么啊
更多追问追答
追问

一、在注册时两次密码不一样是也能成功 

二、注册完成后在返回信息里  显示不出用户名和密码   但能显示出头像

 

追答
你先把post过来内容都打印出来 然后每个功能判断前看下能不能取到值 而且你的判断逻辑也有错 
应该是先判断是否为空 然后接着判断两次输入是否相等 而不是做两次平行的判断
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式