博主信息
博文 27
粉丝 2
评论 0
访问量 25060
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
SESSION实战---PHP九期线上班
一丁
原创
884人浏览过

SESSION实战


1.connect.php

实例

<?php
$db=[
  'type'=>'mysql',
  'host'=>'localhost',
  'dbname'=>'test2',
    'user'=>'root',
    'pw'=>'root'
];
$dsn="{$db['type']}:={$db['host']};dbname={$db['dbname']}";
try{
    $pdo=new PDO($dsn,$db['user'],$db['pw']);
}catch (PDOException $a){
    die( '链接错误' .$a->getMessage());
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

PHP手写代码:

image.png


2.index.php

实例

<?php
session_start();
if (isset($_SESSION['name'])) {
    echo '用户: ' . $_SESSION['name'] . '已登录<br>';
    echo '<a href="dispatch.php?action=logout">退出</a>';
} else {
    echo '<a href="dispatch.php?action=login">请登录</a>';
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

PHP手写代码:

image.png

image.png


3.dispatch.php

实例

<?php
session_start();
require __DIR__ .'/connect.php';
$action=isset($_GET['action'])?$_GET['action']:'login';
$action=htmlentities(strtolower(trim($action)));
switch ($action){
    case 'login':
        include __DIR__ .'/login.php';
        break;
    case 'check':
        include __DIR__ .'/check.php';
        break;
    case 'logout':
        include __DIR__ .'/logout.php';
        break;
    default:
        header('Location:index.php');
        echo '<script>location.assign("index.php");</script>';
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

PHP手写代码:

image.png


image.png

4.login.php

实例

<?php
session_start();
if (isset($_SESSION['name'])) {
    echo '<script>alert("请不要重复登录");location.assign("index.php");</script>';
}
?>
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户登录</title>
</head>
<body>
<h3>用户登录</h3>
<form action="dispatch.php?action=check" method="post">
    <p>
        <label for="phone">手机号:</label>
        <input type="text" 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>

运行实例 »

点击 "运行实例" 按钮查看在线实例

PHP手写代码:

image.png

image.png

image.png


5.check.php

实例

<?php
session_start();
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $phone = $_POST['phone'];
    $password = md5($_POST['password']);
    $sql = 'SELECT * FROM user WHERE phone = :phone AND pwd = :password LIMIT 1';
    $stmt = $pdo->prepare($sql);
    $stmt->execute(['phone'=>$phone,'password'=>$password]);
    $user = $stmt->fetch(PDO::FETCH_ASSOC);
    print_r($user);
    if ($user === false) {
        echo '<script>alert("验证失败");history.back();</script>';
        die;
    }
    $_SESSION['name']=$user['name'];
    echo '<script>alert("登录成功");location.assign("index.php");</script>';
    exit;
} else {
    die('请求类型错误');
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

PHP手写代码:

image.png



6.logout.php

实例

<?php
if (isset($_SESSION['name'])) {
    session_destroy();
    echo '<script>alert("退出成功");location.assign("index.php");</script>';
} else {
    echo '<script>alert("请先登录");location.assign("login.php");</script>';
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

PHP手写代码:

image.png


批改老师:查无此人查无此人

批改状态:合格

老师批语:完成的不错,继续加油。
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学