前臺用戶註冊
- 建立login.php
C:\Users\xujunhao\Desktop\shop\backend\shop\login.php
<html class="no-js" lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge" />
<title>雲和商城</title>
<meta name="description" content="" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="apple-touch-icon" href="apple-touch-icon.png" />
<link rel="stylesheet" href="assets/css/bootstrap.min.css" />
<link rel="stylesheet" href="assets/css/owl.carousel.min.css" />
<link rel="stylesheet" href="assets/css/owl.theme.default.min.css" />
<link rel="stylesheet" href="assets/css/core.css" />
<link rel="stylesheet" href="assets/css/shortcode/shortcodes.css" />
<link rel="stylesheet" href="assets/css/style.css" />
<link rel="stylesheet" href="assets/css/responsive.css" />
<link rel="stylesheet" href="assets/css/custom.css" />
<script src="assets/js/vendor/modernizr-2.8.3.min.js"></script>
</head>
<body>
<input type="hidden" name="current_action" />
<div class="wrapper fixed__footer">
<header id="header" class="htc-header header--3 bg__white">
<div id="sticky-header-with-topbar" class="mainmenu__area sticky__header" >
<div class="container">
<div class="row">
<div class="col-md-2 col-lg-2 col-sm-3 col-xs-3">
<div class="logo">
<a href="index.html">
<img src="assets/images/logo/logo.png" alt="logo" />
</a>
</div>
</div>
</div>
</div>
</div>
</header>
<div class="body__overlay"></div>
<div class="offset__wrapper">
<div class="offsetmenu">
<div class="offsetmenu__inner">
<div class="offsetmenu__close__btn">
<a href="#"><i class="zmdi zmdi-close"></i></a>
</div>
<div class="off__contact">
<div class="logo">
<a href="index.html">
<img src="assets/images/logo/logo.png" alt="logo" />
</a>
</div>
</div>
</div>
</div>
</div>
<div class="htc__login__register bg__white ptb--130">
<div class="container">
<div class="row">
<div class="col-md-6 col-md-offset-3">
<ul class="login__register__menu" role="tablist">
<li role="presentation" class="login active">
<a href="#login" role="tab" data-toggle="tab">登陸</a>
</li>
<li role="presentation" class="register">
<a href="#register" role="tab" data-toggle="tab">註冊</a>
</li>
</ul>
</div>
</div>
<div class="row">
<div class="col-md-6 col-md-offset-3">
<div class="htc__login__register__wrap">
<div id="login" role="tabpanel" class="single__tabs__panel tab-pane fade in active" >
<form class="login" method="post">
<input type="hidden" name="action" value="login" />
<input type="text" name="username" placeholder="User Name*" />
<input type="password" name="password" placeholder="Password*" />
</form>
<div class="htc__login__btn mt--30">
<a href="javascript:document.querySelector('#login form').submit();" >登陸</a >
</div>
</div>
<div id="register" role="tabpanel" class="single__tabs__panel tab-pane fade" >
<form class="login" method="post">
<input type="hidden" name="action" value="register" />
<input type="text" name="username" placeholder="Name*" />
<input type="email" name="email" placeholder="Email*" />
<input type="password" name="password" placeholder="Password*" />
</form>
<div class="htc__login__btn">
<a href="javascript:document.querySelector('#register form').submit();" >註冊</a >
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="only-banner ptb--10 bg__white"></div>
<footer class="htc__foooter__area gray-bg">
<div class="container"></div>
</footer>
</div>
<script src="assets/js/vendor/jquery-1.12.0.min.js"></script>
<script src="assets/js/bootstrap.min.js"></script>
<script src="assets/js/plugins.js"></script>
<script src="assets/js/slick.min.js"></script>
<script src="assets/js/owl.carousel.min.js"></script>
<script src="assets/js/waypoints.min.js"></script>
<script src="assets/js/main.js"></script>
</body>
</html>
複製代碼
- 由於登陸和註冊在一個頁面, 因此, 咱們須要判斷是登陸, 仍是註冊
- 能夠使用隱藏域, 指明動做的目的
<input type="hidden" name="action" value="register">
複製代碼
- 由於註冊和登陸時a標籤, 因此, 咱們還須要爲點擊事件賦予submit功能
<div id="register" role="tabpanel" class="single__tabs__panel tab-pane fade">
<form class="login" method="post">
<input type="hidden" name="action" value="register" />
<input value="<?php if(isset($_POST['username'])) echo $_POST['username']; ?>" type="text" name="username" placeholder="Name*" />
<input value="<?php if(isset($_POST['username'])) echo $_POST['email']; ?>" type="email" name="email" placeholder="Email*" />
<input type="password" name="password" placeholder="Password*" />
</form>
<div class="htc__login__btn">
<a href="javascript:document.querySelector('#register form').submit();">註冊</a>
</div>
</div>
複製代碼
- 從新加載頁面, 默認是登陸頁面, 因此咱們還須要寫一個js來模擬鼠標點擊註冊的動做
<script> window.onload = function() { var action = document.querySelector("input[name=current_action]").value; switch (action) { case "login": document.querySelector('a[href="#login"]').click(); break; case "register": document.querySelector('a[href="#register"]').click(); break; } }; </script>
複製代碼
<?php
require_once "../tools.func.php";
require_once "../db.func.php";
$prefix = getDBPrefix();
if (!empty($_POST) && $_POST['action'] == 'login') {
$rules = [
'username' => [
'name' => '用戶名',
'require' => true,
],
'password' => [
'name' => '登陸密碼',
'require' => true,
],
];
if (check_form($_POST, $rules)) {
$username = $_POST['username'];
$password = md5('yunhe_' . md5($_POST['password']));
$sql = "select id,name,username from {$prefix}user where username = '$username' and password = '$password'";
if ($result = queryOne($sql)) {
setSession('user', $result, 'shop');
header('location:index.php');
} else {
setInfo('用戶名或密碼不正確!!!');
}
}
}
if (!empty($_POST) && $_POST['action'] == 'register') {
$rules = [
'username' => [
'name' => '用戶名',
'require' => true,
'is_unique' => "select id from {$prefix}user where username = '{$_POST['username']}'",
],
'email' => [
'name' => '郵箱',
'require' => true,
'type' => 'email',
'is_unique' => "select id from {$prefix}user where email = '{$_POST['email']}'",
],
'password' => [
'name' => '密碼',
'require' => true,
],
];
if (check_form($_POST, $rules)) {
$username = $_POST['username'];
$password = md5('yunhe_' . md5($_POST['password']));
$email = $_POST['email'];
$created_at = date('Y-m-d H:i:s');
$sql = "INSERT INTO `{$prefix}user`(`username`, `password`, `email`, `created_at`) VALUES ('{$username}', '{$password}', '{$email}', '{$created_at}')";
if ($result = execute($sql)) {
setInfo('註冊成功!');
header('location:login.php');
} else {
setInfo('註冊失敗!!!');
}
}
}
?>
複製代碼
用戶退出
C:\Users\xujunhao\Desktop\shop\backend\shop\logout.php
javascript
<?php
require_once "../tools.func.php";
deleteSession('user', 'shop');
echo "<script>history.go(-1);</script>";
複製代碼