作业一
index.php 首页页面
在首位开启 session
<?php
session_start();
if(isset($_SESSION['name'])){
echo '已登录';
}else {
echo '<a href="/1129/login.php">请先登录</a>';
}
login 登录页面
<?php
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>用户登录</title>
</head>
<body>
<h3>用户登录</h3>
<form action="dispatch.php?a=check" method="post">
<p>
<label for="phone">手机号:</label>
<input type="phone" name="phone" id="phone">
</p>
<p>
<label for="password">密码:</label>
<input type="password" name="password" id="password">
</p>
<p>
<button>提交</button>
</p>
</form>
</body>
</html>
dispatch.php 派发器
<?php
require __DIR__ .'/pdo.php';
$a = isset($_GET['a']) ? $_GET['a'] : '/1129/login.php';
//处理用传过来的值
$a = htmlentities(strtolower(trim($a)));
switch($a){
case 'login':
include __DIR__.'/login.php';
break;
case 'check':
include __DIR__.'/check.php';
break;
case 'logout':
include __DIR__.'logout.php';
break;
case 'index':
include __DIR__.'/index.php';
break;
}
pdo.php 数据库链接
<?php
$db = [
‘type’=>’mysql’,
‘host’=> ‘127.0.0.1’,
‘dbname’=>’newphp’,
‘username’=>’root’,
‘password’=>’root’,
‘port’=>’3306’
];
$dsn = $db[‘type’].’:host=’.$db[‘host’].’;dbname=’.$db[‘dbname’];
try{
$pdo = new PDO($dsn,$db[‘username’],$db[‘password’]);
}catch(PDOException $e){
die(‘错误信息:’.$e->getMessage());
}
check.php 验证查询数据库
<?php
if($_SESSION[‘phone’] && $_SESSION[‘pwd’]) {
$phone = $_POST[‘phone’];
$pwd= md5($_POST[‘pwd’]);
$sql = ‘SELECT * FROM user
WHERE phone
= :phone AND pwd
= :pwd LIMIT 1’;
$stmt = $pdo -> prepare($sql);
$stmt -> execute([‘phone’=>$phone,’pwd’=>$pwd]);
$user = $stmt->fetch(PDO::FETCH_ASSOC);
print_r($user);
if(empty($user)){
echo ‘未找到用户’;
} else {
setcookie(‘user’,$user[‘phone’]);
}
} else {
echo ‘未填写手机号或者密码’;
}
作业二
总结
1、session 使用时 在代码的首位 开启start
使用pdo步骤:
1、链接数据库
2、创建SQL语句
3、创建sql预处理对象
4、绑定变量在预处理SQL中
5、执行SQL操作
6、销毁PDO,关闭连接