我是php新手,我已经创建了简单的员工注册和登录表单。
这是我的代码:
的index.php:
<?php
session_start();
if(isset($_SESSION['username'])){
echo 'Welcome!', '<a href="logout.php">Logout</a>';
} else {
echo '<a href="login.php">Login</a><br />
<a href="register.php">Register</a>';
}
?>
register.php:
<h1>Register</h1>
<form method="POST">
<input type="text" name="username"><br />
<input type="password" name="password"><br />
<input type="submit">
</form>
<?php
session_start();
if(isset($_POST['username'], $_POST['password'])){
require 'db.php';
$query = dbConnect()->prepare("INSERT INTO emptable (username, password) VALUES (:username, :password)");
$query->bindParam(':username', $_POST['username']);
$query->bindParam(':password', $_POST['password']);
if($query->execute()){
header("Location: index.php");
} else{
echo 'ERROR';
}
}
?>
db.php中:
<?php
function dbConnect(){
try{
$username = 'root';
$password = '';
$conn = new pdo("mysql:host=localhost;dbname=empreg;", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $conn;
} catch(PDOException $e){
echo 'ERROR', $e->getMessage();
}
}
?>
的login.php:
<h1>Login</h1>
<form method="POST">
<input type="text" name="username"><br />
<input type="password" name="password"><br />
<input type="submit">
</form>
<?php
session_start();
if(isset($_POST['username'], $_POST['password'])){
require 'db.php';
$query = dbConnect()->prepare("SELECT username, password FROM emptable WHERE username=:username AND password=:password");
$query->bindParam(':username', $_POST['username']);
$query->bindParam(':password', $_POST['password']);
$query->execute();
if($row = $query->fetch()){
$_SESSION['username'] = $row['username'];
header("Location: index.php");
}
}
?>
根据我的上述,如何创建logout.php?我是空白。
任何人都可以帮助我吗?
为了安全处理,我从网上选择了这些源代码。
任何帮助都将受到高度赞赏。
提前致谢。
答案 0 :(得分:0)
您可以使用以下两个功能清除会话详细信息:
<?php
// remove all session variables
session_unset();
// destroy the session
session_destroy();
?>
另一种方法是使用
// make sure you don't do unset($_SESSION);
unset($_SESSION['username']);
session_destroy();