一、程式
二、樣板
<style> .form-signin { width: 100%; max-width: 400px; padding: 15px; margin: 0 auto; } </style> <div class="container mt-5"> <form class="form-signin" action="" method="post"> <h1 class="h3 mb-3 font-weight-normal">會員登入</h1> <div class="mb-3"> <label for="name" class="sr-only">帳號</label> <input type="text" name="name" id="name" class="form-control" placeholder="請輸入帳號" required> </div> <div class="mb-3"> <label for="pass" class="sr-only">密碼</label> <input type="password" name="pass" id="pass" class="form-control" placeholder="請輸入密碼" required> </div> <div class="checkbox mb-3"> <label> <input type="checkbox" name="remember" id="remember"> 記住我 </label> </div> <button class="btn btn-lg btn-primary btn-block" type="submit">會員登入</button> <div> 您還沒還沒註冊嗎?請 <a href="#">點選此處註冊您的新帳號</a>。 </div> </form> </div>
<input type="格式" name="名稱" value="預設值" placeholder="佔位字元" required> 常用有:text(文字框)、hidden(隱藏框)、password(密碼框)、file(上傳) 其中的 name 最重要!一定要有!因為 name 送出後,會變成 PHP 的變數名稱。 required :必填
用<button type=”submit”>按鈕文字</button>可做出按鈕效果 單選框:<input type="radio" name="名稱" value="值 1">選項文字 1 (1) 單選框通常會有好幾個選項,一組選項就要一組<input>,name 都要一樣才行! (2) 若要預設選取,要加上 checked="checked" 複選框:<input type="checkbox" name="名稱[]" value="值 1">選項文字 1 (1) 複選框通常同時會有好幾個選項,一組選項就要一組<input> (2) name 都要一樣才行!而且因為是複選,所以 name 要加上[],如此會送出陣列。 (3) 若要預設選取,要加上 checked="checked" 下拉選單:<select name="名稱" size=1>選項</select> (1) 選項:<option value="值">選項文字</option> (2) 若要預設選取:要在<option>中加入 selected="selected" (3) 若希望下拉選單可以複選,除了 name 要加上[]外,還要加上 multiple 屬性。 大量文字框:<textarea name="名稱">預設值</textarea>
例如表單有個:<input type="text" name="title">,表單送出後,方法若用post,那麼會得到 $_POST['title'] 變數;若是用 get,那就是 $_GET['title'] 用echo 印出變數:字串請用雙引號包起來;變數若要放在字串中,請用{}隔開。 可用if(條件){為真}else{為假}來判斷變數是否存在。
function login(){ global $smarty; $name="admin"; $pass="111111"; if($name == $_POST['name'] and $pass == $_POST['pass']){ echo "您是管理員"; die(); }else{ header("location:user.php");//注意前面不可以有輸出 } //print_r($_POST); var_dump($_POST); DIE(); }
$_SESSION['admin'] = isset($_SESSION['admin']) ? $_SESSION['admin'] : false;
$_SESSION['admin'] = true; header("location:index.php");//注意前面不可以有輸出
<!doctype html> <html lang="en"> <head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <!-- Bootstrap CSS --> <link rel="stylesheet" href="<{$xoImgUrl}>bootstrap/bootstrap.min.css"> <title>會員管理</title> <!-- Optional JavaScript --> <!-- jQuery first, then Popper.js, then Bootstrap JS --> <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script> </head> <body> <style> .form-signin { width: 100%; max-width: 400px; padding: 15px; margin: 0 auto; } </style> <{if !$smarty.session.admin}> <div class="container mt-5"> <form class="form-signin" action="user.php" method="post"> <h1 class="h3 mb-3 font-weight-normal">會員登入</h1> <div class="mb-3"> <label for="name" class="sr-only">帳號</label> <input type="text" name="name" id="name" class="form-control" placeholder="請輸入帳號" required> </div> <div class="mb-3"> <label for="pass" class="sr-only">密碼</label> <input type="password" name="pass" id="pass" class="form-control" placeholder="請輸入密碼" required> </div> <div class="checkbox mb-3"> <label> <input type="checkbox" name="remember" id="remember"> 記住我 </label> </div> <input type="hidden" name="op" id="op" value="login"> <button class="btn btn-lg btn-primary btn-block" type="submit">會員登入</button> <div> 您還沒還沒註冊嗎?請 <a href="#">點選此處註冊您的新帳號</a>。 </div> </form> </div> <{/if}> </body> </html>