当前位置:首页 » 编程语言 » php验证用户名

php验证用户名

发布时间: 2022-08-03 16:59:18

‘壹’ php 注册系统验证用户名是否存在 很简单 但是我不会

其实没必要那么复杂,直接把输入的用户名作为变量储存,然后和数据库中该字段对比就可以了。我用过,速度其实很快。例如某人输入用户名hot,储存在$xyz中,搜索用户名字段列举后加个if($yhm===$xyz){... ...} //这里我随便说的字段,$yhm指的是表中用户名。

‘贰’ php 正则验证用户名

js中var reg=/(?:^\d*$|[^\u4e00-\u9fd5_0-9a-z]+)/gi;
php中$pattern = "/(?:^\d*$|[^\\x{4e00}-\\x{9f5a}_a-z0-9])/i";
以上都是匹配不满足条件的情况

‘叁’ PHP代码实现检测用户名

如果($踢脚==“提交”)
{
$ nameuser = $ _POST ['用户'];
$ namepsw = $ _POST [“PSW”];
如果($ nameuser ==“”| | $ namepsw ==“”)

{
回声“用户名和密码不能为空!!”;
} BR />否则,如果($ nameuser =“管理员”| | $ namepsw =“管理员”)
{
回声“确认密码”;

}其他{</回声“的用户名和密码不匹配”;
}
}

接受后数据用$ _POST [“参数名”]
得到的数据$ _GET [参数名称]

‘肆’ php正则表达式验证用户名

//中文和英文结合而且6-20字符
$preg='/^[a-zA-Z\x{4e00}-\x{9fa5}]{6,20}$/u';
//英文、数字、下划线6-20位字符
$preg='/^[\w\_]{6,20}$/u';

过滤非法字符防止sql注入漏洞,只能另说,对不同的接口和参数有针对性的过滤,没有通用的正则。

‘伍’ 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简单的登陆验证用户名和密码怎么写

给你个实例参考一下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验证用户名或密码包含非法字符

例子代码:

$user="sdafdsg";
if(preg_match("/^[0-9a-zA-Z]{4,21}$/",$user)){
echo"OK";
}


下面是PHP官方对preg_match函数的介绍

preg_match

(PHP 4, PHP 5)

preg_match—执行一个正则表达式匹配

说明

intpreg_match(string$pattern,string$subject[,array&$matches[,int$flags= 0[,int$offset= 0]]] )

搜索subject与pattern给定的正则表达式的一个匹配.

参数


pattern

要搜索的模式,字符串类型。

subject

输入字符串。

matches

如果提供了参数matches,它将被填充为搜索结果。$matches[0]将包含完整模式匹配到的文本,$matches[1]将包含第一个捕获子组匹配到的文本,以此类推。

flags

flags可以被设置为以下标记值:

PREG_OFFSET_CAPTURE

如果传递了这个标记,对于每一个出现的匹配返回时会附加字符串偏移量(相对于目标字符串的)。 注意:这会改变填充到matches参数的数组,使其每个元素成为一个由 第0个元素是匹配到的字符串,第1个元素是该匹配字符串 在目标字符串subject中的偏移量。

offset

通常,搜索从目标字符串的开始位置开始。可选参数offset用于 指定从目标字符串的某个未知开始搜索(单位是字节)。

Note:

使用offset参数不同于向preg_match()传递按照位置通过substr($subject, $offset)截取目标字符串结果, 因为pattern可以包含断言比如^,$或者(?<=x)。 比较:

<?php
$subject="abcdef";
$pattern='/^def/';
preg_match($pattern,$subject,$matches,PREG_OFFSET_CAPTURE,3);
print_r($matches);
?>

以上例程会输出:

Array
(
)

当这个示例使用截取后传递时

<?php
$subject="abcdef";
$pattern='/^def/';
preg_match($pattern,substr($subject,3),$matches,PREG_OFFSET_CAPTURE);
print_r($matches);
?>

将会产生匹配

Array
(
[0] => Array
(
[0] => def
[1] => 0
)

)

返回值

preg_match()返回pattern的匹配次数。 它的值将是0次(不匹配)或1次,因为preg_match()在第一次匹配后 将会停止搜索。preg_match_all()不同于此,它会一直搜索subject直到到达结尾。 如果发生错误preg_match()返回FALSE。

更新日志


版本

说明

5.3.6 如果offset比subject的长度还要大则返回FALSE。

5.2.2 命名子组可以接受(?<name>),(?'name')以及(?P<name>)语法。之前版本仅接受(?P<name>)语法。

4.3.3 增加了参数offset.

4.3.0 增加了标记PREG_OFFSET_CAPTURE。

4.3.0 增加了参数flags。

范例


Example #1 查找文本字符串"php"

<?php
//模式分隔符后的"i"标记这是一个大小写不敏感的搜索
if(preg_match("/php/i",".")){
echo"Amatchwasfound.";
}else{
echo"Amatchwasnotfound.";
}
?>

‘捌’ PHP 验证用户名是否存在

是因为你的sql语句写错了,你写的是 $sql="select * from userlist where 'user'='$user'";
这个是错误的,user 两边不是引号,是数字1旁边的`,改成`user`='$user' 这样就对了,或者user='$user'也行。

‘玖’ 跪求各位php高手,怎么才可以验证用户名是否重复

用户注册的时候,把接受过来的用户名,在数据库里查询,如果为真,就代表有,禁止注册,如果没有,则注册通过

‘拾’ 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}

热点内容
如何申请i7服务器地址 发布:2025-01-23 04:42:15 浏览:845
浏览器内核源码 发布:2025-01-23 04:41:34 浏览:659
精英版缤智少了些什么配置 发布:2025-01-23 04:41:30 浏览:356
编写c编译器 发布:2025-01-23 04:41:30 浏览:968
可以解压war包的编译软件 发布:2025-01-23 04:38:28 浏览:986
vivo手机有编译功能吗 发布:2025-01-23 04:31:57 浏览:568
自己架设云手机服务器 发布:2025-01-23 04:31:17 浏览:949
gcc命令行编译的方法 发布:2025-01-23 04:30:31 浏览:397
我的云服务器地址近期价格 发布:2025-01-23 04:29:05 浏览:625
js预览上传图片 发布:2025-01-23 04:28:54 浏览:407