PHP是一種廣泛應用於網頁開發的伺服器端腳本語言,可用於動態網頁的製作和網路應用程式的開發。在網站開發中,登陸系統是非常常見的功能,而登陸成功後跳到指定頁面也是使用者體驗的重要部分。本篇文章將介紹如何使用PHP編寫實現登陸成功跳轉的功能。
1.建立表單頁面
首先,我們需要建立一個登陸頁面,使用戶可以在其中輸入使用者名稱和密碼。為了讓該頁面更有可讀性,我們可以在HTML中使用CSS樣式來美化頁面。我們的表單頁面應該包括以下內容:
HTML程式碼如下:
<!DOCTYPE html> <html> <head> <title>登陆页面</title> <style> body{ background-color: #F4F4F4; } .login{ margin: 100px auto; border: 1px solid #ccc; width: 400px; background-color: #fff; padding: 20px; border-radius: 10px; box-shadow: 0 0 10px #ccc; } input[type=text], input[type=password]{ width: 100%; padding: 10px; margin: 8px 0; display: inline-block; border: 1px solid #ccc; box-sizing: border-box; border-radius: 5px; } button[type=submit]{ background-color: #4CAF50; color: white; padding: 10px 18px; margin: 8px 0; border: none; border-radius: 4px; cursor: pointer; } button[type=submit]:hover{ background-color: #45a049; } .error{ color: red; } </style> </head> <body> <div class="login"> <h2>登陆页面</h2> <form action="process.php" method="POST"> <label for="username">用户名</label> <input type="text" id="username" name="username" placeholder="请输入用户名"> <label for="password">密码</label> <input type="password" id="password" name="password" placeholder="请输入密码"> <button type="submit">登陆</button> <?php if(isset($_GET['error'])){ if($_GET['error'] == 'empty'){ echo "<p class='error'>请输入所有字段!</p>"; } elseif ($_GET['error'] == 'wrong') { echo "<p class='error'>请输入正确的用户名和密码!</p>"; } } ?> </form> </div> </body> </html>
2.驗證使用者名稱和密碼
接下來,我們需要驗證使用者輸入的使用者名稱和密碼是否正確。我們可以在伺服器端使用PHP來實現該過程。首先,我們需要在伺服器端建立一個process.php檔案。該文件將接收表單數據,以驗證使用者名稱和密碼是否正確。如果正確,我們將在該文件中將使用者重新導向到另一個頁面。
<?php session_start(); if(isset($_POST['username']) && isset($_POST['password'])){ include 'db_connection.php'; $username = $_POST['username']; $password = $_POST['password']; if(empty($username) || empty($password)){ header("Location: index.php?error=empty"); exit(); } else{ $sql = "SELECT * FROM users WHERE username='$username' AND password='$password'"; $result = mysqli_query($conn, $sql); if(mysqli_num_rows($result) === 1){ $row = mysqli_fetch_assoc($result); if($row['username'] === $username && $row['password'] === $password){ $_SESSION['username'] = $row['username']; header("Location: welcome.php"); exit(); } } else{ header("Location: index.php?error=wrong"); exit(); } } } else{ header("Location: index.php"); exit(); } ?>
在上面的程式碼中,我們首先使用session_start()函數開啟一個新的會話。然後,我們檢查 $_POST 陣列中是否存在 username 和 password。如果存在,我們從 db_connection.php 檔案匯入資料庫連接變量,因為我們需要從資料庫中檢索使用者資料。然後,我們使用一個 if 語句來檢查輸入的欄位是否為空。如果為空,則重新導向使用者到原始表單頁,並在 URL 中包含錯誤代碼。
如果輸入欄位不為空,則我們可以檢索資料庫中該使用者的記錄。如果我們得到了一個使用者名稱和密碼匹配的記錄,則我們可以將該使用者的 username 儲存在 $_SESSION 中,並使用 header() 函數將使用者重定向到 welcome.php 頁面。如果資料庫中沒有這樣的記錄,則我們將重新導向使用者到原始表單頁,並在 URL 中包含錯誤代碼。
3.建立歡迎頁面
最後,我們需要建立一個歡迎頁面,在使用者成功登陸後,將其重定向到該頁面。歡迎頁面可以簡單地顯示一個歡迎訊息,以及一個按鈕,該按鈕使用戶能夠登出並退出登入。
<!DOCTYPE html> <html> <head> <title>欢迎页</title> </head> <body> <h1>欢迎</h1> <p>您已经成功登陆, <?php echo $_SESSION['username']; ?>!</p> <a href="logout.php">注销</a> </body> </html>
在歡迎頁面中,我們使用 PHP 的 $_SESSION 機制來顯示目前使用者名稱。我們還在頁面中添加了一個連接,該連結透過頁面 logout.php 檔案實現註銷功能。
4.實作註銷功能
最後,我們需要使用 PHP 編寫 logout.php 文件,以實現註銷功能。
<?php session_start(); session_unset(); session_destroy(); header("Location: index.php"); exit(); ?>
在 logout.php 檔案中,我們先使用 session_start() 函數啟動會話。我們則使用 session_unset()、session_destroy() 函數來清除所有 session 數據,並將使用者重新導向回首頁。這將使用戶在「登出」連結上點擊後退出登入。
總結
在這篇文章中,我們介紹如何使用 PHP 寫一個實現登陸成功跳轉的簡單系統。透過使用 PHP 和 MySQL,在表單提交時驗證使用者名稱和密碼,在驗證成功後使用戶跳到另一個頁面,同時在遇到錯誤時讓使用者返回原始表單頁。我們也介紹如何在歡迎頁面中顯示目前已登入的使用者名,並在 logout.php 檔案中新增登出功能。這是一個簡單但功能實用的登陸成功跳轉系統,可以在您的網站上為訪客提供良好的使用者體驗。
以上是怎麼用php寫登錄成功跳轉的詳細內容。更多資訊請關注PHP中文網其他相關文章!