留言板(超詳解!!)——登入介面
寫了之前的HTML登陸和註冊介面之後,只是一個簡簡單單的純淨態介面,並沒有實際的操作,所以我們就要通過連線資料庫,還有一些php後端程式碼來處理客戶端所輸入的資訊。我的所有操作都基於phpstudy環境。
主要是php後端部分的操作詳細複述一下,也是我自己對這一週所學內容的回顧
想要下載整個留言板內容的話可以聯絡我~ QQ:1102528#985 (中間的井號去掉哦)

login.png
可以看到,登入介面有 兩個輸入框,一個登入按鈕和一個註冊連結
首先是登入介面,我們要明白登陸介面所需要的功能
-
點選登入後將判斷使用者所輸入的使用者名稱和密碼是否能與資料庫中的使用者名稱和密碼相匹配。如若匹配,則登陸成功,將會跳轉的留言介面。反之,則提醒使用者“使用者名稱或密碼錯誤,請重新輸入”後並返回到登入介面即可。
-
點選註冊後將跳轉到註冊介面
所以可以明白跳轉到註冊介面比較容易實現,驗證使用者名稱密碼就需要資料庫的連線,查詢等操作了,先看程式碼吧。
<?php session_start();?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>登陸介面</title> </head> <body> <?php require 'mysql.php'; $error0=$error=" "; if (isset($_POST['submit'])) { if (empty($_POST['password'])||empty($_POST['username'])) { $error0= "請輸入使用者名稱和密碼!!!"; } if(isset($_POST['password'])&&isset($_POST['username'])) { if(empty($_POST['username'])||empty($_POST['password'])) { $error="使用者名稱及密碼不能為空!"; } else { $username = $_POST['username']; $password = md5($_POST['password']); $sql = "select * from user where username = '$username' and password='$password'"; $result = mysqli_query($conn,$sql); if(mysqli_num_rows($result)>0) { $result = mysqli_fetch_array($result); $_SESSION['username']=$result['username']; $_SESSION['uid'] = $result['id']; echo "<script>alert('登入成功')</script>"; echo "<script>window.location.href='show.php'</script>"; } else { echo "<script>alert('使用者名稱或密碼錯誤')</script>"; echo "<script>window.location.href='login.php'</script>"; } mysqli_close($conn); } } } ?> <div align="center"> <h1>登入介面</h1> <form action="<?php echo $_SERVER['PHP_SELF']?>" method="POST"> <table border="0"> <tr> <td>使用者名稱:</td> <td><input type="text" name="username"><font style="color: red">*<?php echo $error0; ?></font><br></td> </tr> <tr> <td>密碼:</td> <td><input type="password" name="password"><font style="color: red">*<?php echo $error; ?></font><br></td> </tr> </table> <input type="submit" name="submit" value="登陸" > <a href="regist.php" target="blank">註冊</a> </form> </div> </body> </html>
對於html部分應該是很容易理解的,主要是php部分的操作詳細複述一下,也是我自己對這一週所學內容的回顧。
<?php session_start();?>
這一行程式碼是為了以後防止直接訪問留言板介面而越權的行為,後面會說到。
- 那麼首先是
if (isset($_POST['submit']))
是為了驗證使用者是否點選了登陸這個按鈕,如果不點選的話,也就不用執行下面那麼多的程式碼。 -
if (empty($_POST['password'])||empty($_POST['username']))
這個判斷是驗證輸入的內容是否為空,如果只要有一個是空的,就輸出使用者名稱和密碼不能為空就好了。 - 當用戶名與密碼都輸入了就進入到了最關鍵的環節了,在這裡直接通過mysql語句查詢資料庫中的內容,但是一定要判斷 ,即
where username = '$username' and password='$password'
這裡用到的是and,不用說吧。這樣子的話就可以成功的判斷並進入到留言板的介面啦~
有一些細節部分
$error0=$error=" "; require 'mysql.php';

aa.gif
還是上一次萌萌噠的圖片~