php用户验证
⑴ php中用户注册后的验证问题.有些功能不会写,比如:只有一个用户名或密码或数据库中已有的用户名不能注册.
程序就像下面这位仁兄写的一样,我只说思路。
已经有的用户当然不能让他再次出来,不然下次登陆以谁的信息为准啊,
1:用户输入用户姓名,
2:拿用户输入的姓名进入数据库中查询,
3:看数据库中是否存在此用户名,如果有,则提醒,此用户名已经存在。如果没有,则将用户的信息写入到数据库中去。
唯一的密码就没有必要了,因为用户的密码可以是一样的。
⑵ php 如何验证用户权限
PHP同样也是可以用SESSION或者COOKIE来判断的,不过不能一下子判断所有的页面,你只能手动的在每个页面上都做判断。或者是单独写一个判断的页面然后用require()或者include()引入到其他页面。
补充一下
每个页都要加判断
例
session_start();
if($_SESSION["abc"]==""){
echo "<script>alert('请先登录');window.location.replace('登陆页面')</script>";
}
⑶ php简单的登陆验证用户名和密码怎么写
给你个实例参考一下php编写登陆验证用户名和密码吧。
登录页面
login.html 负责收集用户填写的登录信息
在CODE上查看代码片派生到我的代码片
<html>
<head>用户登录</head>
<form name="LoginForm" method="post" action="login.php" onSubmit="return InputCheck(this)">
<p>
<label for="username" class="label">用户名:</label>
<input id="username" name="username" type="text" class="input" />
<p/>
<p>
<label for="password" class="label">密 码:</label>
<input id="password" name="password" type="password" class="input" />
<p/>
<p>
<input type="submit" name="submit" value=" 确 定 " class="left" />
</p>
</form>
</html>
登录处理
login.PHP 负责处理用户登录与退出动作。
在CODE上查看代码片派生到我的代码片
<?php
//登录
if(!isset($_POST['submit'])){
exit('非法访问!');
}
$username = htmlspecialchars($_POST['username']);
$password = MD5($_POST['password']);
//包含数据库连接文件
include('conn.php');
//检测用户名及密码是否正确
$check_query = mysql_query("select userid from user_list where username='$username' and password='$password' limit 1");
if($result = mysql_fetch_array($check_query)){
//登录成功
session_start();
$_SESSION['username'] = $username;
$_SESSION['userid'] = $result['userid'];
echo $username,' 欢迎你!进入 <a href="my.php">用户中心</a><br />';
echo '点击此处 <a href="login.php?action=logout">注销</a> 登录!<br />';
exit;
} else {
exit('登录失败!点击此处 <a href="javascript:history.back(-1);">返回</a> 重试');
}
//注销登录
if($_GET['action'] == "logout"){
unset($_SESSION['userid']);
unset($_SESSION['username']);
echo '注销登录成功!点击此处 <a href="login.html">登录</a>';
exit;
}
?>
用户中心
my.php 是用户中心,作为用户登录检测。
在CODE上查看代码片派生到我的代码片
<?php
session_start();
//检测是否登录,若没登录则转向登录界面
if(!isset($_SESSION['userid'])){
header("Location:login.html");
exit();
}
//包含数据库连接文件
include('conn.php');
$userid = $_SESSION['userid'];
$username = $_SESSION['username'];
$user_query = mysql_query("select * from user_list where userid = '$userid' limit 1");
$row = mysql_fetch_array($user_query);
echo '用户信息:<br />';
echo '用户ID:',$userid,'<br />';
echo '用户名:',$username,'<br />';
echo '<a href="login.php?action=logout">注销</a> 登录<br />';
?>
conn.php,用于连接数据库
在CODE上查看代码片派生到我的代码片
<?php
$conn = mysql_connect("127.0.0.1","root","") or die("数据库链接错误".mysql_error());
mysql_select_db("info_db",$conn) or die("数据库访问错误".mysql_error());
mysql_query("set names gb2312");
?>
⑷ php中用户登入和验证码验证问题
我一般都用Zend,所以你的代码没有看太懂。只是浅浅的注意到里面有一段代码:
if (isset($_SESSION['PrevUrl']) && false) {
这里不出意外的话永远会是false吧。
但好像问题也不再这里。让我更没有明白的是你的$_SESSION['yzm']是在这个脚本执行以前就被写好的吗?因为我在这个脚本里除了最后一个if里面看到这个东西以外,就没有看到了。
⑸ php验证用户名是否以字母开头与验证密码只能为数字和字母的组合
验证用户名是否以字母开头与验证密码只能为数字和字母的组合代码
三款三种常用验证函数 验证邮箱地址格式 验证密码只能为数字和字母的组合 验证用户名是否以字母开头代码哦,这是用户注册时或提交表单时会用的哦。
function is_email($email)
{
if (preg_match("/[a-za-z0-9]+@[a-za-z0-9]+.[a-z]{2,4}/",$email,$mail))
{
return true;
}
else
{
return false;
}
} /**
* 验证用户名是否以字母开头
*/
function is_user_name($user)
{
if (preg_match("/^[a-za-z]{1}([a-za-z0-9]|[._]){3,19}$/",$user,$username))
{
return true;
}
else
{
return false;
}
} /**
* 验证密码只能为数字和字母的组合
*/
function is_ps教程d($psd)
{
if (preg_match("/^(w){4,20}$/",$psd,$password))
{
return true;
}
else
{
return false;
}
}
⑹ php注册的时候怎么验证用户名是否存在
1<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""
002
003<head>
004<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
005<metahttp-equiv="X-UA-Compatible"content="IE=EmulateIE7"/>
006<linkrel="stylesheet"type="text/css"href="css/int.css"/>
007<scripttype="text/javascript"src="js/func.js"></script>
008<styletype="text/css">
009td{
010height:30px;
011vertical-align:middle;
012align:center;
013}
014#myText{
015width:600px;
016}
017</style>
018<title>注册页面http://yige.org</title>
019</head>
020
021<body>
022
023<?php
024error_reporting(0);
025//不让PHP报告有错语发生。如果不关闭好有类似这的错语Warning:preg_match()关闭就不出现了
026session_start();
027header("Cache-control:private");
028
029$conn=@mysql_connect("localhost","root","")ordie("数据库连接错误");
030mysql_select_db("bbs",$conn);
031mysql_query("setnamesutf8");
032
033if($_POST['submit'])
034{
035$username=$_POST["username"];
036
037$sql="selectuserNamefromuser_infowhereuserName='$username'";
038//echo$sql;
039
040$query=mysql_query($sql);
041$rows=mysql_num_rows($query);
042if($rows>0){
043echo"<scripttype='text/javascript'>alert('用户名已存在');location='javascript:history.back()';</script>";
044}else{
045$user_in="insertintouser_info(username,pass,sex,qq,email,img)values('$_POST[username]',md5('$_POST[pass]'),'$_POST[sex]','$_POST[qq]','$_POST[email]','$_POST[img_select]')";
046//echo$user_in;
047mysql_query($user_in);
048echo"<scripttype='text/javascript'>alert('写入成功!!');location.href='login.php';</script>";
049
050}
051
052//javascript:history.go(-1)
053
054}
055?>
056
057
058<formaction="reg.php"name="reg_form"method="post"onsubmit="returncheck_reg()">
059<tablename="reg_table"align="left">
060<tr>
061<td>用户:</td><td><inputid="username"name="username"class="myText"type="text"maxlength="12"/></td>
062</tr>
063
064<tr><!--性别:0保密1女2男-->
065<td>性别:</td>
066<td>女<inputtype="radio"value="1"name="sex"/>
067男<inputtype="radio"value="2"name="sex"/>
068保密<inputtype="radio"value="0"name="sex"checked/></td>
069</tr>
070
071<tr>
072<td>密码:</td><td><inputname="pass"class="myText"type="password"onblur="check_len(this)"/><spanid="show_pass"style="color:red;"></span></td>
073</tr>
074
075<tr>
076<td>重复密码:</td><td><inputname="repass"class="myText"type="password"onblur="check_pass(this)"/><spanid="show_repass"style="color:red;"></span></td>
077</tr>
078
079<tr>
080<td>QQ:</td><td><inputtype="text"class="myText"name="qq"onblur="check_qq(this)"/><spanstyle="color:red;"id="show_qq"></span></td>
081</tr>
082
083<tr>
084<td>邮箱:</td><td><inputtype="text"class="myText"name="email"onblur="check_email(this)"/><spanid="show_e"style="color:red;"></span></td>
085</tr>
086
087<tr>
088<tdheight="60">头像:</td>
089<td>
090<selectname="img_select"onchange="img_change(this)">
091<optionvalue="101">女001</option>
092<optionvalue="102">女002</option>
093<optionvalue="103">女003</option>
094<optionvalue="104">女004</option>
095<optionvalue="105">男001</option>
096<optionvalue="106">男002</option>
097<optionvalue="107">男003</option>
098<optionvalue="108">男004</option>
099</select>
100<imgsrc="/bbs/img/101.gif"id="tx_change"style="width:50px;height:65px;"alt=""/>
101</td>
102</tr>
103
104<trheight="20"align="justify">
105<tdalign="right"><inputtype="submit"value="注册"name="submit"style="margin-right:5px;"/></td>
106<td><inputtype="reset"value="重置"name="reset"style="margin-left:5px;"/></td>
107</tr>
108
109<tr>
110<tdcolspan="2">我已有账号现在<ahref="login.php">登录</a></td>
111</tr>
112
113</table>
114</form>
115</body>
116</html>
fun.js的代码如下:
01//根据下拉框变换图片
02functionimg_change(thisObj){
03varimgsrc="/bbs/img/"+thisObj.value+".gif";
04document.getElementById("tx_change").src=imgsrc;
05}
06
07//检查是否都符合注册要求
08functioncheck_reg()
09{
10if(check_len()&&check_pass()&&check_email()&&check_qq())
11{
12returntrue;
13}else{
14returnfalse;
15}
16}
17
18//检查密码长度不能少于6
19functioncheck_len(thisObj){
20if(thisObj.value.length==0)
21{
22document.getElementById('show_pass').innerHTML="密码不能为空";
23returnfalse;
24}else{
25if(thisObj.value.length<6)
26{
27document.getElementById('show_pass').innerHTML="密码长度不少于6";
28returnfalse;
29}
30document.getElementById('show_pass').innerHTML="";
31returntrue;
32}
33}
34
35//检查俩次密码输入是否一致
36functioncheck_pass(thisObj){
37varpsw=document.getElementById('pass');
38if(psw.value.length==0)
39{
40document.getElementById('show_pass').innerHTML="密码不能为空";
41returnfalse;
42}else{
43document.getElementById('show_pass').innerHTML="";
44
45if(thisObj.value!=psw.value)
46{
47document.getElementById('show_repass').innerHTML="两次密码输入不正确";
48returnfalse;
49}
50document.getElementById('show_repass').innerHTML="";
51returntrue;
52}
53}
54
55//检查email是否正确
56functioncheck_email(thisObj){
57varreg=/^([a-zA-Zd][a-zA-Z0-9_]+@[a-zA-Zd]+(.[a-zA-Zd]+)+)$/gi;
58varrzt=thisObj.value.match(reg);
59if(thisObj.value.length==0){
60document.getElementById('show_e').innerHTML="Email不能为空";
61returnfalse;
62}else{
63if(rzt==null)
64{
65document.getElementById('show_e').innerHTML="Email地址不正确";
66returnfalse;
67}
68document.getElementById('show_e').innerHTML="";
69returntrue;
70}
71
72}
73
74//检查qq格式是否正确
75functioncheck_qq(thisObj){
76varqq=document.getElementById('qq').value;
77varreg=/^d+$/;
78if(qq.search(reg))
79{
80document.getElementById('show_qq').innerHTML="QQ只能为数字";
81returnfalse;
82}else{
83document.getElementById('show_qq').innerHTML="";
84returntrue;
85}
86
87
88}
⑺ php用户登录验证,为什么输入正确的用户名密码还是提示错误
从以下几个方面
第一,你凭什么确认用户名密码一定正确呢,
第二,php网站是要安装的,有没有安装,数据库有没有导入,库参数有没有配置
第三,如果上面两个都是正常的,那就php本身有问题了,找程序员卖家解决
⑻ PHP用户登陆验证问题
错误提示:你发送了空内容。
原因:你发送语句是放在了引用的文件里。而SQL语句却写在下面。运行情况如下。
程序运行时。引用了 connect.php 文件并运行了里面的内容。也就是说。已经发送了 SQL 语句。而这时的 $sql 可是什么也没有。。因为你写在了下面。。
当程序运行到 $row=mysql_fetch_array($result); 的时候。 $result 里面什么也没有。因为 mysql_query 发送的时候什么也没发出。跟本没办法返回什么结果给你。
解决方法:把 connect.php 里的
$result=mysql_query($sql)
or die ('数据库执行失败:'.mysql_error());
删除。移到 PHP 文件 $sql=""; 下面。问题即可解决。
⑼ PHP 验证用户名是否存在
是因为你的sql语句写错了,你写的是 $sql="select * from userlist where 'user'='$user'";
这个是错误的,user 两边不是引号,是数字1旁边的`,改成`user`='$user' 这样就对了,或者user='$user'也行。
⑽ 用PHP写用户名验证..注意我的正则表达式用法是否正确
$pattern="/\w/";这里有问题,一个字符啊。
得用/^\w+$/哦,/^[_a-zA-Z0-9]+$/也行
其实字符个数你都可以写到正则里面不用再额外判断f($newname==""||$newname.length<6||A.lenth>16||!pattern.test(A))
写成
$pattern="/^[a-zA-Z][_a-zA-Z0-9]{5,15}$/"(6-16位字符,字母开头,只包含字母数字下划线)然后只用
f($newname==""||!pattern.test(A))来判断就可以了