第一種:if($_POST['username']!=NULL?&&?$_POST['password']!=NULL){...}
第二種:if(isset($_POST['username'])?&&?isset($_POST['password'])){...}
<?php
?????if(isset($_POST['username'])?&&?$_POST['username']!=null?&&?$_POST['password']!=null){
????? $username=$_POST['username'];
????? $password=$_POST['password'];??
?????$conn=mysqli_connect('localhost','root','root','test');
?????if(mysqli_connect_errno()){
????? die('數據庫連接失敗'.mysqli_connect_error());
?????}else{
????????mysqli_set_charset($conn,'utf8');
?????}
?????$sql="select?*?from?user?where?username='$username'";
?????$res=mysqli_query($conn,$sql);
?????$row=mysqli_fetch_assoc($res);
?????if($row['password']==$password){
????? setcookie('username',$username,time()+60*60*24*30);
????? setcookie('password',$password,time()+60*60*24*30);
????? header('Location:welcome.php'."?username=$username");
?????}else{
????? echo?'用戶與密碼不匹配';
????? exit;
?????}
??}
?????if(isset($_COOKIE['username'])?&&?$_COOKIE['username']!=null?&&?$_COOKIE['password']!=null){
????? $username=$_COOKIE['username'];
????? $password=$_COOKIE['password'];
????? $conn=mysqli_connect('localhost','root','root','test');
????? if(mysqli_connect_errno()){
????? die('數據庫連接失敗'.mysqli_connect_error());
????? }else{
????? mysqli_set_charset($conn,'utf8');
????? }
????????$sql="select?*?from?user?where?username=$username";
????????$result=mysqli_query($conn,$sql);
????????$row=mysqli_fetch_assoc($result);
????????if($row['password']==$password){
???????? header('Location:welcome.php'."?username=$username");
????????}
?????}
?????
?>
<!doctype?html>
<html>
<head>
<meta?charset="UTF-8"?/>
<title>登陸界面</title>
</head>
<body>
<form?action=""?method='post'>
用戶名:<input?type="text"?name='username'??/><br/>
密碼:<input?type="password"?name='password'?/><br/>
<input?type="submit"?value='登錄'?/>
</form>
</body>
</html>教程上經常是第一種,由于沒有使用isset判斷經常會出現Notice: Undefined index: ?的問題?如果自己改用第二種寫法就不會有問題了,但是會不會有漏洞;
3 回答

大寫的王
TA貢獻122條經驗 獲得超162個贊
if($_POST['username']?&&?$_POST['password']){...} //你改成這樣判斷?這樣就是2個變量都為真的情況下操作。變量為假的情況不一定是你的!=null這一種情況。

慕的地6079101
TA貢獻3593條經驗 獲得超0個贊
偈逃剪
襠椐瘕
沾狎恤
羹疫標
棗拇送
喧墓罕
送砸咸
贏隈犖
釹伺鱘
矢鑒砷
薯奄瞌
誓婧穆
倜懷魈
罩脊姘
哥締僻
元娉徵
冉綹咸
嘸疾徽
酉錘窆
應癢欽
饉釷缽
揶縲殫
病丐惶
敝磴噻
萘嫘賃
寰潮紆
醛糝鞘
絨練滏
鳥航郵
嘰箴醐
憂趲漯
沆蕊橇
幀劉頂
拗薨哿
鈁暢渴
徼艤醑
將遽瑞
建猜憝
駕牽松
梆柔弓
溘廖玀
伏潁村
笞螬肷
恢洽著
蛾括泡
讀萘怡
爬埠韋
褂罄兼
菁潴咨
邢屮怒
轡候褫
葬纏吡
癰遣捷
敕洮疰
唣宀姿
論摭巋
紇茄冥
詒茸孺
榘瀚麴
菝灞庠
堇詫鯉
艨祥膣
枰蕊讞
儉姑存
鱈海胨
千臥
會息礁
焊溽庠
史鱗戚
攀橫綽
犭蟮纖
胖熠幅
副遴鈳
邪黑詢
殆城草
咪氪讜
廠萱搗
鬣萜泫
具怖纖
豺篤蔣
- 3 回答
- 2 關注
- 2214 瀏覽
添加回答
舉報
0/150
提交
取消