php如何驗證用戶名和密碼
// 最原始的寫法. 不能防止注入攻擊, 學習的時候用一下可以. 正式項目不行
$sql = 'select * from DATA where ACNT="' . $username . '" and PSWD="' . $pass . '"';
❷ php正則表達式驗證用戶名
//中文和英文結合而且6-20字元
$preg='/^[a-zA-Z\x{4e00}-\x{9fa5}]{6,20}$/u';
//英文、數字、下劃線6-20位字元
$preg='/^[\w\_]{6,20}$/u';
過濾非法字元防止SQL注入漏洞,只能另說,對不同的介面和參數有針對性的過濾,沒有通用的正則。
❸ php登陸用戶名密碼驗證 輸入用戶名和密碼後 還一直提示請輸入用戶名,代碼如下
後台和前端頁面不對應啊哥,你這是注冊頁面,而後台的php是登陸用的。 至於彈出密碼提示,那是你前端的javascript
❹ php如何登入判斷用戶名和密碼
在輸入完後,當輸入框失去焦點,就要獲取輸入框的值,在與資料庫中的值比較。用JavaScript ajax去請求伺服器中的check.php(這是個用來判斷是否有重值的頁面)的值,有重值就返回false並提示有重復值。check.php就要先獲取資料庫中值,並循環比較輸入框傳來的值,相同就返回false
❺ PHP用戶名密碼怎麼判斷啊,要連接資料庫QAQ
使用sqlite資料庫實現網頁登錄
客戶端網頁login.php
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>微博入口</title>
<styletype="text/css">
.tit{
font-size:36px;
color:#06C;
font-style:normal;
text-align:center;
}
.lab{
font-size:16px;
color:#069;
}
.hin{
width:98%;
size:3;
color:#33FF66;
}
</style>
<scriptlanguage="javascript">
functioncheckfrm()
{
if(document.getElementById("txtuser").value=="")
{
window.alert("用戶名不能為空!");
returnfalse;
}
if(document.getElementById("txtpwd").value=="")
{
window.alert("密碼不能為空!");
returnfalse;
}
document.getElementById("frm1").action="funcexec.php";
//returntrue;
}
</script>
</head>
<body>
<formid="frm1"name="frm1"target="_self"method="post">
<div>
<pclass="tit">微博入口</p>
</div>
<hrclass="hin"/>
<div>
<tablewidth="309"border="0">
<tr>
<tdwidth="100"height="20"align="right"class="lab">用戶名:</td>
<tdwidth="90"align="left"><labelfor="textfield"></label>
<inputname="txtuser"type="text"class="lab"id="txtuser"/></td>
</tr>
<tr>
<tdalign="right"class="lab">密 碼:</td>
<tdalign="left"><inputname="txtpwd"type="password"class="lab"id="txtpwd"/></td>
</tr>
<trclass="content">
<tdcolspan="2"align="center"><inputtype="submit"name="btn"id="btn"value="提交"onClick="checkfrm()"/></td>
</tr>
</table></div>
</form>
</body>
</html>
php程序判斷func.php
<?php
session_start();
$conn=newPDO("sqlite:pic/maindata.db");
$login_sth=$conn->prepare("selectcount(*)astfromusertabwhereuid=?andpwd=?");
$article_sth=$conn->prepare("select*fromArticleList");
if(isset($_POST["btn"]))
{
$uid=$_POST["txtuser"];
$pwd=$_POST["txtpwd"];
$login_sth->execute(array($uid,$pwd));
$tot=$login_sth->fetchAll();
if($tot[0][0]>0)
{
$_SESSION["userid"]=$uid;
echo("歡迎您,$uid");
echo("<ahref='index.php'>點擊進入主頁</a>");
}
else
echo("登陸失敗");
}
else
{
echo("非法操作");
}
?>
❻ PHP驗證用戶用戶名和密碼問題
$row=mysql_fetch_array($check);
改成while($row=mysql_fetch_assoc){
if($row){
setcookie('username',username,time()+3600,'/');
echo "<script>location='ui/index.php'<script>";
}
}
else{
echo "erro";
}
❼ 求教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 大家幫我看看,判斷用戶名與密碼是否為空的代碼對么
你弄反了
empty()函數是檢測變數是否為空,如果是空則返回true,不為空則返回false
而!號是否定的意思
!empty($adminname)意思就是empty返回false
明顯,你這條件是判斷用戶名和密碼不為空的時候,提示「管理員名或密碼不能為空,請填寫管理員名及密碼」,這不是矛盾嗎
把那個感嘆號去掉,例外,你這個邏輯是用戶名和密碼同時為空,才執行
那麼,寫入用戶名但不寫入密碼,你這個判斷條件就不成立了
所以,把 && 改成 ||
❾ php:用戶名和密碼驗證,請問代碼哪裡有問題
if($tijiao=="提交")
{
$nameuser=$_POST['user'];
$namepsw=$_POST['psw'];
if($nameuser==""||$namepsw=="")
{
echo "用戶名和密碼不能為空!!!";
}
else if($nameuser="admin"||$namepsw="admin")
{
echo "正在驗證密碼";
}else{
echo "用戶名與密碼不匹配";
}
}
接受post數據要用 $_POST['參數名']
get數據是 $_GET['參數名']
❿ 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;
}
}