IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> PHP利用会话技术和数据库综合练习 -> 正文阅读

[大数据]PHP利用会话技术和数据库综合练习

数据库表的设计:
在这里插入图片描述

-- ----------------------------
-- Table structure for user_s
-- ----------------------------
DROP TABLE IF EXISTS `user_s`;
CREATE TABLE `user_s` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL,
  `pwd` varchar(255) NOT NULL,
  `email` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;

在这里插入图片描述
注册页面如图,依次添加控件如图所示。

<html>
<form name="myform" method="post">
<table align="center">
<tr>
<td><a href="index.php?">返回首页</a></td>
<td><a href="login.php?">登录</a></td>
</tr>
<tr>
<td>用户名:</td>
<td><input type="text" name="Array[username]"></td>
</tr>
<tr>
<td align="right">密&nbsp&nbsp&nbsp码:</td>
<td><input type="password" name="Array[pwd]"></td>
</tr>
<tr>
<td align="right">E-mail:</td>
<td><input type="email" name="Array[email]"></td>
</tr>
<tr>
<td ><input type='submit' value='提交'></td>
</tr>
</form>
</table>
<html>

注册成功后将信息添加到数据库表user_s中:

<?php
session_start();
if ($_POST) {
	$s = $_POST['Array'];
	include_once ("conn.php");
	if (empty ($s['username']) || empty ($s['pwd']) || empty ($s['email'])) {
		echo "<script>alert('字段内容不能为空!');</script>";
	} else {
		$name = $s['username'];
		$query = "select * from user_s where username = '$name'";
		$result = mysqli_query($link, $query);
		if (mysqli_num_rows($result) != 0) {
			echo "<script>alert('用户名已存在,请重新输入!');</script>";
		} else {
			$_SESSION['user'] = $name;
			$pwd = $s['pwd'];
			$email = $s['email'];
			$query = "insert into user_s (username,pwd,email) values ('$name','$pwd','$email')";
			$result = mysqli_query($link, $query);
			if (!$result) {
				exit ('写入数据库失败!' . mysqli_error($link));
			} else {
				echo "<script>alert('注册成功!');parent.location.href='index.php';</script>";
			}
		}
	}
}
?>

在这里插入图片描述
登录页面如图:

<html>
<form name="myform" method="post">
<table align="center">
<tr>
<td><a href="index.php?">返回首页</a></td>
<td><a href="register.php?">注册</a></td>
</tr>
<tr>
<td>用户名:</td>
<td><input type="text" name="Array[username]"></td>
</tr>
<tr>
<td align="right">密&nbsp&nbsp&nbsp码:</td>
<td><input type="password" name="Array[pwd]"></td>
</tr>
<tr>
<td ><input type='submit' value='登录'></td>
</tr>
</form>
</table>
<html>

登录查询数据库,信息比对成功后利用session存储用户名:

<?php
session_start();
if ($_POST) {
	include_once ("conn.php");
	$s = $_POST['Array'];
	if (empty ($s['username']) || empty ($s['pwd'])) {
		echo "<script>alert('字段内容不能为空!');</script>";
	} else {
		$name = $s['username'];
		$query = "select * from user_s where username = '$name'";
		$result = mysqli_query($link, $query);
		if (mysqli_num_rows($result) == 0) {
			echo "<script>alert('用户不存在,请先进行注册!');</script>";
		} else {
			$pwd=$s['pwd'];
			$res=mysqli_fetch_row($result);
			$pass=$res[2];
			if (strcmp($pwd,$pass)==0) {
				// 保存登录信息到Session,并跳转到首页
				$_SESSION['user'] = $name;
				echo "<script>alert('登录成功!');parent.location.href='index.php';</script>";
			} else {
				echo "<script>alert('密码输入错误!');</script>";
			}
		}
	}
}
?>

在这里插入图片描述
index.php页面用来取出session的用户名内容输出:

<?php
session_start();
if (isset($_SESSION['user'])) {
    echo $_SESSION['user'] . ',欢迎来到首页!';   // 用户已登录
    echo '<a href="logout.php">退出登录<a>';
} else {
    echo "<script> alert('您需要先登录才能访问首页');parent.location.href='logout.php'; </script>";                    // 用户未登录,跳转到登录页面
    exit;
}
?>

数据库连接:

<?php
$link=@mysqli_connect('localhost','root','123','user')or die("连接数据库失败");
mysqli_set_charset($link,'gb2312');
?>

退出登录,清理session中的数据,返回初始登录界面:

<?php
session_start();
$_SESSION['user'] = ('');               // 删除所有数据
session_destroy();                    // 结束当前会话
header("Location:login.php");        // 用户未登录,跳转到登录页面
?>
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-22 12:24:30  更:2021-11-22 12:26:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:24:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码