十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
第一次学PHP就是做这个验证..
我们提供的服务有:成都做网站、网站制作、成都外贸网站建设、微信公众号开发、网站优化、网站认证、鹤城ssl等。为成百上千企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的鹤城网站制作公司
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 ('scriptalert("地址栏输入发现有非法字符,请重新输入!");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;
?
首先得到提交的数据
链接数据库,查询数据库,查询username 和pwd
提交的username 和 pwd 跟数据库查询的username 和pwd做对比,
都相等那就是登陆成功
?php
mysql_connect('localhost','root','123');
mysql_select_db('lx');
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET NAMES utf8");
//数据库lx 表user 字段id username pwd
//用md5加密,可以自己试试
if(isset($_POST['user'])$_POST['tijiao'] == 'success'){
$query = mysql_query("select pwd from user where username = '".$_POST['user']."'");
$num = mysql_num_rows($query);
if($num 0 ){
while($info = mysql_fetch_array($query)){
if($info['pwd'] == md5($_POST['pwd'])){
echo '登陆成功';
}else{
echo '登陆失败';
}
}
}else{
echo '登陆失败';
}
}
?
form action="" method="get"/
table border="0" cellspacing="0" cellpadding="0"
tr
td class="fieldKey" width="30%"用户名:/td
td class="fieldValue" width="100%"input type="text" name="user" //td
/tr
trtd height="10"/td/tr
tr
td class="fieldKey"密码:/td
td class="fieldValue"input type="password" name="pwd" //td
/tr
/table
input type="hidden" name="tijiao" value="success" /
input type="submit" value="登陆"/
/form
你可以做一个简单的例如你只有用户名和密码即可那么你先在数据库(以mysql为例)中建表例如叫做user 字段为 id name pass分别是编号、用户名、密码长度分别是int(8) a_t(自动编号) 主键,varchar(50) ,varchar(50) 你可以添加一个测试数据 例如 1,admin,admin//说明密码这里不说加密的问题,用明文实现 登录页面的代码:login.phphtmlheadtitle用户登录/title/headbodyform action="checklogin.php" name="loginform" method="post"用户名:input name="name" type="text"br密 码:input name="password" type="password"brinput value="登录" type="submit"br/form/body/html checklogin.php代码(检测登录): $name=$_POST[name];$pass=$_POST[password];session_start();//这个可以维持登录状态,可以参照session的使用
//登录检查函数 function login_state($uid,$user_shell){ $sql="SELECT * FROM `user` WHERE `name`='$name'";
$query=@mysql_query($sql) or die(mysql_error());
$us=is_array($row=@mysql_fetch_array($query));
$user_shell=$us ? $user_shell==$row[password]:FALSE;
if($user_shell){ echo "scriptalert('登录成功');/script";
return $row;
}else{
echo "scriptalert('您暂时不能浏览该页面,请先登录');location.href='login.php';/script";
} }login_state($name,$password);?
希望可以帮到您,如果还有问题可以联系2458285853
真刁钻,
不会PHP的就别在这里瞎蹭!
快回去买一本php的书吧,php不难的,网上连视频教程都有。
我最多只会告诉你基本思路,代码我是决不会给懒到极点的人的!
特别准备:临时数据表;
从用户获取账号和密码 - 用查找密码md5 - 若不吻合,跳出错误页面,否则掠过 - 把密码用md5加密 - 与数据库md5码对比 - 若不吻合,跳出警告页面,否则掠过 - 在临时数据表中记录用户登录时间 - 引入成功目标页面
ps:
你问我为什么要用临时数据表?
那用作超时标记,也就是在下次访问时,若用户超时就把该用户踢出去...
这样的好处就是更安全,不用怕Cookies被黑,
但是会消耗一定的服务器资源......
ps*2:
你这个人真的太刁钻了,给人的感觉就是:装蒜+不要脸。
更可恶的就是你太爱摆架子了,
别以为你那个破200分就可以糊弄我们PHP工程师,
简直就是有辱我们智商!!
你现在知道为什么还得不到满意的答案吧,
因为你已经被真正的PHP工程师鄙视了!!!
我就是那种抱打不平(爆打不平)的人,看你不顺眼!