php驗證用戶名
『壹』 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}