用PHP+JS+MYSQL实现用户登陆验证,的具体步骤是怎么样的呢

马上就PHP要期末考试,得赶紧练练呢?我自己的想法是,首先用html做一个表单,先用JS验证密码和用户名是否为空,然后PHP获得表单数据和MYSQL的数据库(MYSQL实... 马上就PHP要期末考试,得赶紧练练呢?我自己的想法是,首先用html做一个表单,先用JS验证密码和用户名是否为空,然后PHP获得表单数据和MYSQL的数据库(MYSQL实现创建好了ID和密码)进行对比,相同则返回登录成功,不相同则返回失败;不知道是不是这样的,跪求大神们给分析分析,感激不尽呢!!! 还有和数据库进行比对的时候是怎样操作的呢??? 展开
 我来答
MarkGo
2013-05-31 · 测试API接口使用的啊1
MarkGo
采纳数:257 获赞数:427

向TA提问 私信TA
展开全部

第一次学PHP就是做这个验证..

html做个表单,

当表单onsubmit=return check();调用自写js来判断用户名和密码是否为空,

如果是空就alert不能为空,然后return false;相反则return true;

而接收的PHP也要验证是否为空,如果严谨点还要对提交的数据进行过滤,防止sql注入。

然后php再根据提交的数据搜MYSQL,如果用户名和密码都相同时,echo 登录成功,相反则登录失败.


<html>
<script>
function check(obj){
 with(obj){
     if((user.value+"").length <= 0){
          alert("用户名不能为空");
          return false;
     }else if((pwd.value+"").length <= 0){
     
         alert("用户名不能为空");
         return false;
     }else{
         return true;
     }
 }
}
</script>
<body>
  <form action="check.php" method="post" onsubmit="return check(this)">
    <input type="text" name="user" value="">
    <input type="password" name="pwd" value="">
    <input type="submit" name="submit" value="登录">
    <input type="cancel" name="cancel" value="取消">
  </form>
</body>
</html>


<?php
$conn = mysql_connect( "数据库地址", "数据库用户名", "密码" );
mysql_query("set names utf8");
mysql_select_db( "数据库名" );

function inject_check($sql_str){     
return preg_match("/select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile|%|eval|=|and|'|;|exec|count/i", $sql_str);    // 进行过滤
}

if(!empty($_POST)){
foreach($_POST as $key => $value){
if(inject_check($value)){
exit ('<script>alert("地址栏输入发现有非法字符,请重新输入!");history.go(-1);</script>');
die ();
}
}
}

$res = mysql_query("SELECT count(*) as m from `表名` where 用户名='${_POST['user']}' AND 密码='${_POST['pwd']}'");

$row = mysql_fetch_object($res);
if($row->m >0){
    echo "登陆成功";
}else{
    echo "用户名或密码错误";
}
exit;
?>
追问
非常感谢呢,终于搞定了
$row = mysql_fetch_object($res);
if($row->m >0)用对象元素做判断感觉有点不怎么实用呢,用更好的方法吗,更易于理解的
追答
mysql_num_row
紫色梅子酒
2013-05-31 · 超过10用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:16.7万
展开全部
<form id="form1" action="dosubmit.php" method="post">
<p>username : <input type="text" name="username" id="username"/></p>
<p>password: <input type="text" name="password" id="password"/></p>
<input type="button" value="Submit" onclick="dosubmit"/>
</form>

<script type="text/javascript">
function dosubmit(){
if($("#username").val()){
alert("用户名不能为空");
return;
}

if($("#password").val()){
alert("密码不能为空");
return;
}

$("#form1").submit();

}
</script>

dosubmit.php页面
接收用:
$_POST['username']
$_POST['password']

和数据库中数据比较
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
恨了发02
2013-05-31 · 超过29用户采纳过TA的回答
知道答主
回答量:87
采纳率:0%
帮助的人:84.8万
展开全部
先客户端验证,再服务器端验证。利用sql语句查询用户名和密码是否一致,例如:
select * from users where name='qq' and pwd='123'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lxydjx
2013-05-31 · TA获得超过283个赞
知道小有建树答主
回答量:472
采纳率:0%
帮助的人:404万
展开全部

网上下载的,非常简单的,看这操练操练

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
全球影视合集
2013-05-31 · TA获得超过154个赞
知道答主
回答量:225
采纳率:0%
帮助的人:55.2万
展开全部
ajax可以帮到你。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式