亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Fungsi log masuk (3)

Persediaan sebelumnya dan halaman muka hadapan log masuk telah selesai. Kini kami akan memperkenalkan kod fungsi log masuk.

First Buat fail login.php untuk menulis kod PHP login kami. 2: Sama ada nama pengguna atau kata laluan, kami sentiasa menghantar nilai kepada program php melalui borang front-end, dan kemudian mengesahkannya, langkah seterusnya adalah untuk mendapatkan nilai yang diluluskan oleh front-end terlebih dahulu borang sebelum kita boleh pergi Sahkan sama ada ia betul atau salah Kod untuk mendapatkan nilai adalah seperti berikut:

<?php
$link = mysqli_connect("localhost","root","root","joke");//注意后面的這幾個(gè)參數(shù),服務(wù)器名,數(shù)據(jù)庫(kù)的用戶名,密碼,數(shù)據(jù)庫(kù)名。密碼沒(méi)有可以不填
if (!$link) {
    die("連接失敗: " . mysqli_connect_error());
}
?>

Kenapa kita pos dan bukannya dapatkan? Ini memerlukan melihat borang di kaunter hadapan kami dan maklumat dalam teg borang:

<?php
$username = $_POST['username'];
$password = $_POST['password'];
?>

tindakan memberitahu tempat maklumat dihantar dan cara kaedah dihantar Di sini kami adalah kaedah pos

Langkah 3: Kami mendapat Tetapan Selepas nilainya, anda perlu mengesahkan sama ada nilainya sama dengan nilai dalam pangkalan data Ia mestilah sama sebelum anda boleh log masuk. Kod pengesahan adalah seperti berikut:

<form action="login.php" method="post">
...
</form>

Langkah 4: Selepas menanyakan keputusan, kami. akan memulakan pengesahan:

<?php
$sql="select * from login where username = '{$username}' and password  = '{$password}'";//先從數(shù)據(jù)庫(kù)中查詢戶名和密碼
$rs=mysqli_query($link,$sql); //執(zhí)行sql查詢
$row=mysqli_fetch_array($rs);//將查詢的結(jié)果放入變量$row中
?>

Nampaknya saya terlepas sesuatu?

...

...

Kod pengesahan nampaknya tidak disebut....

Akhirnya, mari kita bercakap tentang kod pengesahan.

Kami memerlukan program untuk menjana kod pengesahan Pertama, buat fail PHP yang dipanggil passcode.php untuk menulis dan menjana kod pengesahan.

Di bawah saya akan tuliskan kaedah penulisan terperinci kod pengesahan Setiap kunci dan perkara yang sukar akan diulas, supaya anda boleh memahami, memberi perhatian dan membaca kod:

<?php
if($row) { 
     if ($username == $row['username'] && $password == $row['password']) //判斷表單獲取的用戶名,密碼和數(shù)據(jù)庫(kù)中的是否一致
     { 
         echo "登陸成功,正在為你跳轉(zhuǎn)至后臺(tái)頁(yè)面";
         header("location:index.html");//如果一致會(huì)跳轉(zhuǎn)到后臺(tái)的首頁(yè)
     }
 }else{
     echo "賬號(hào)或密碼錯(cuò)誤" . "<br/>";
     echo "<a href='login.html'>返回登陸頁(yè)面</a>";//如果不一致,將重新跳轉(zhuǎn)至登錄頁(yè)面重新登錄
 }
?>

Jika anda ingin memahami fungsi setiap satu. baris kod dengan cara yang jelas dan spesifik, anda boleh bercakap mengenainya Tukar kod (cuba untuk menjadi sangat berbeza daripada sebelumnya, supaya ia jelas), dan kemudian lihat jika perubahan itu berbeza daripada sebelumnya akan mengetahui fungsi baris kod ini.

Langkah seterusnya ialah mengesahkan kod pengesahan Lihat kod:

<?php
//設(shè)置開(kāi)啟session
session_start();
$image = imagecreatetruecolor(100, 30);    //設(shè)置驗(yàn)證碼圖片大小的函數(shù)
//設(shè)置驗(yàn)證碼顏色,用法:imagecolorallocate(int im, int red, int green, int blue);
$bgcolor = imagecolorallocate($image,255,255,255); //#ffffff
//區(qū)域填充 int imagefill(int im, int x, int y, int col) (x,y) 所在的區(qū)域著色,col 表示欲涂上的顏色
imagefill($image, 0, 0, $bgcolor);
//設(shè)置變量
$captcha_code = "";
//生成隨機(jī)數(shù)字
for($i=0;$i<4;$i++){
    //設(shè)置字體大小
    $fontsize = 10;
    //設(shè)置字體顏色,隨機(jī)顏色
    $fontcolor = imagecolorallocate($image, rand(0,120),rand(0,120), rand(0,120));      //0-120深顏色
    //設(shè)置數(shù)字
    $fontcontent = rand(0,9);
    //10>.=連續(xù)定義變量
    $captcha_code .= $fontcontent;
    //設(shè)置坐標(biāo)
    $x = ($i*100/4)+rand(5,10);
    $y = rand(5,10);
    imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);
}
//存到session
$_SESSION['authcode'] = $captcha_code;
//增加干擾元素,設(shè)置雪花點(diǎn)
for($i=0;$i<200;$i++){
    //設(shè)置點(diǎn)的顏色,50-200顏色比數(shù)字淺,不干擾閱讀
    $pointcolor = imagecolorallocate($image,rand(50,200), rand(50,200), rand(50,200));
    //imagesetpixel — 畫(huà)一個(gè)單一像素
    imagesetpixel($image, rand(1,99), rand(1,29), $pointcolor);
}
//增加干擾元素,設(shè)置橫線
for($i=0;$i<4;$i++){
    //設(shè)置線的顏色
    $linecolor = imagecolorallocate($image,rand(80,220), rand(80,220),rand(80,220));
    //設(shè)置線,兩點(diǎn)一線
    imageline($image,rand(1,99), rand(1,29),rand(1,99), rand(1,29),$linecolor);
}
//設(shè)置頭部,image/png
header('Content-Type: image/png');
//imagepng() 建立png圖形函數(shù)
imagepng($image);
//imagedestroy() 結(jié)束圖形函數(shù) 銷毀$image
imagedestroy($image);
?>

Baiklah, ini adalah fungsi log masuk kami yang lengkap.

Meneruskan pembelajaran
||
<?php session_start(); header("content-type:text/html;charset=utf-8"); //連接數(shù)據(jù)庫(kù) $link = mysqli_connect("localhost","root","root","joke"); if (!$link) { die("連接失敗: " . mysqli_connect_error()); } $username =$_POST['username']; $password = $_POST['password']; //判斷驗(yàn)證碼是否填寫(xiě)并且是否正確 if(!$_POST['code']){ echo('驗(yàn)證碼不能為空'); return; }else if($_POST['code']!=$_SESSION['authcode']){ echo('驗(yàn)證碼不正確'); return; } $sql="select * from login where username = '{$username}' and password = '{$password}'"; $rs=mysqli_query($link,$sql); //執(zhí)行sql查詢 $row=mysqli_fetch_array($rs); if($row) { // 用戶存在; if ($username == $row['username'] && $password == $row['password']) { //對(duì)密碼進(jìn)行判斷。 echo "登陸成功,正在為你跳轉(zhuǎn)至后臺(tái)頁(yè)面"; header("location:index.html"); } }else{ echo "賬號(hào)或密碼錯(cuò)誤" . "<br/>"; echo "<a href='login.html'>返回登陸頁(yè)面</a>"; } // 我這里沒(méi)有數(shù)據(jù)庫(kù),所以右邊會(huì)顯示連接失敗。 ?>