博客列表 >PHP第课 SESSION登录实战、pdo增删改查 11月22日

PHP第课 SESSION登录实战、pdo增删改查 11月22日

孤忆寻昔R
孤忆寻昔R原创
2019年12月02日 01:43:08671浏览

作业一

index.php 首页页面
在首位开启 session

  1. <?php
  2. session_start();
  3. if(isset($_SESSION['name'])){
  4. echo '已登录';
  5. }else {
  6. echo '<a href="/1129/login.php">请先登录</a>';
  7. }

login 登录页面

  1. <?php
  2. ?>
  3. <!doctype html>
  4. <html lang="en">
  5. <head>
  6. <meta charset="UTF-8">
  7. <title>用户登录</title>
  8. </head>
  9. <body>
  10. <h3>用户登录</h3>
  11. <form action="dispatch.php?a=check" method="post">
  12. <p>
  13. <label for="phone">手机号:</label>
  14. <input type="phone" name="phone" id="phone">
  15. </p>
  16. <p>
  17. <label for="password">密码:</label>
  18. <input type="password" name="password" id="password">
  19. </p>
  20. <p>
  21. <button>提交</button>
  22. </p>
  23. </form>
  24. </body>
  25. </html>

dispatch.php 派发器
<?php

  1. require __DIR__ .'/pdo.php';
  2. $a = isset($_GET['a']) ? $_GET['a'] : '/1129/login.php';
  3. //处理用传过来的值
  4. $a = htmlentities(strtolower(trim($a)));
  5. switch($a){
  6. case 'login':
  7. include __DIR__.'/login.php';
  8. break;
  9. case 'check':
  10. include __DIR__.'/check.php';
  11. break;
  12. case 'logout':
  13. include __DIR__.'logout.php';
  14. break;
  15. case 'index':
  16. include __DIR__.'/index.php';
  17. break;
  18. }

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,关闭连接

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议