文章目录
PHP数据库
1、MYSQL 简介
通过 PHP,您可以连接和操作数据库。
MySQL 是跟 PHP 配套使用的最流行的开源数据库系统。
MySQL 是什么?
- MySQL 是一种在 Web 上使用的数据库系统。
- MySQL 是一种在服务器上运行的数据库系统。
- MySQL 不管在小型还是大型应用程序中,都是理想的选择。
- MySQL 是非常快速,可靠,且易于使用的。
- MySQL 支持标准的 SQL。
- MySQL 在一些平台上编译。
- MySQL 是免费下载使用的。
- MySQL 是由 Oracle 公司开发、发布和支持的。
- MySQL 是以公司创始人 Monty Widenius’s daughter: My 命名的。
MySQL 中的数据存储在表中。表格是一个相关数据的集合,它包含了列和行。
在分类存储信息时,数据库非常有用。一个公司的数据库可能拥有以下表:
- Employees
- Products
- Customers
- Orders
PHP + MySQL
PHP 与 MySQL 结合是跨平台的。(您可以在 Windows 上开发,在 Unix 平台上应用。)
查询
查询是一种询问或请求。
通过 MySQL,我们可以向数据库查询具体的信息,并得到返回的记录集。
请看下面的查询(使用标准 SQL):
mysql> SELECT name FROM websites;
+---------------+
| name |
+---------------+
| Google |
| 淘宝 |
| 微博 |
| Facebook |
| stackoverflow |
+---------------+
5 rows in set (0.00 sec)
语句 **set names utf8;**用于设定数据库编码,让中文可以正常显示。
上面的查询选取了 “websites” 表中 “name” 列的所有数据。
2、MYSQL 连接
PHP 连接 MySQL
PHP 5 及以上版本建议使用以下方式连接 MySQL :
- MySQLi extension (“i” 意为 improved)
- **PDO (PHP Data **Objects)
在 PHP 早期版本中我们使用 MySQL 扩展。但该扩展在 2012 年开始不建议使用。
我是该用 MySQLi ,还是 PDO?
如果你需要一个简短的回答,即 “你习惯哪个就用哪个”。
MySQLi 和 PDO 有它们自己的优势:
PDO 应用在 12 种不同数据库中, MySQLi 只针对 MySQL 数据库。
所以,如果你的项目需要在多种数据库中切换,建议使用 PDO ,这样你只需要修改连接字符串和部分查询语句即可。 使用 MySQLi, 如果不同数据库,你需要重新编写所有代码,包括查询。
两者都是面向对象, 但 MySQLi 还提供了 API 接口。
两者都支持预处理语句。 预处理语句可以防止 SQL 注入,对于 web 项目的安全性是非常重要的。
MySQLi 和 PDO 连接 MySQL 实例
在本章节及接下来的章节中,我们会使用以下三种方式来演示 PHP 操作 MySQL:
- MySQLi (面向对象)
- MySQLi (面向过程)
- PDO
MySQLi 安装
可以通过 phpinfo() 查看是否安装成功:
连接 MySQL
在我们访问 MySQL 数据库前,我们需要先连接到数据库服务器:
实例 (MySQLi - 面向对象)
<head>
<meta charset=utf-8>
</head>
<?php
$servername = "localhost";
$username = "username";
$password = "password";
// 创建连接
$conn = new mysqli($servername, $username, $password);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>
注意在以上面向对象的实例中 $connect_error 是在 PHP 5.2.9 和 5.3.0 中添加的。如果你需要兼容更早版本 请使用以下代码替换:
// 检测连接
if (mysqli_connect_error()) {
die("数据库连接失败: " . mysqli_connect_error());
}
实例 (MySQLi - 面向过程)
<head>
<meta charset=utf-8>
</head>
<?php
$servername = "localhost";
$username = "root";
$password = "123456";
// 创建连接
$conn = mysqli_connect($servername, $username, $password);
// 检测连接
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "连接成功";
?>
实例 (PDO)
<head>
<meta charset=utf-8>
</head>
<?php
$servername = "localhost";
$username = "root";
$password = "123456";
try {
$conn = new PDO("mysql:host=$servername;", $username, $password);
echo "连接成功";
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
//try{代码}catch{前面代码报错,执行}
关闭连接
连接在脚本执行完后会自动关闭。你也可以使用以下代码来关闭连接:
连接在脚本执行完后会自动关闭。你也可以使用以下代码来关闭连接:
实例 (MySQLi - 面向对象)
$conn->close();
实例 (MySQLi - 面向过程)
mysqli_close($conn);
实例 (PDO)
$conn = null;
3、创建数据库与表,插入数据
数据库存有一个或多个表。
你需要 CREATE 权限来创建或删除 MySQL 数据库。
数据库的整体结构如下:
电脑(服务器)->数据库软件(mysql、mssql、甲骨文、mariadb…)->
数据库-> 表->字段
数据库进入方法:
1、直接进入
2、使用软件连接
3、使用phpmyadmin //注意,PHP版本要高于7.0才可以直接使用
进入sql代码,在mysql的bin路径输入
.\mysql.exe -h 127.0.0.1 -u root -p
数据库操纵语句
查询MySQL内的数据库
show databases;
创建库
create database kkk;
删除库
drop database kkk;
创建表,之前需要先构思好表单的结构,然后创建每个表的属性
比如:
id | user | pass | phone |
---|---|---|---|
1 | admin | 123456 | 13800000000 |
自增数字 | 字符串 | 字符串 | 数字 |
最后形成代码如下:
use kkk; //进入库
//创建kkk_tbl表
CREATE TABLE IF NOT EXISTS `kkk_tbl`(
`id` INT UNSIGNED AUTO_INCREMENT,
`user` VARCHAR(10) NOT NULL,
`pass` VARCHAR(10) NOT NULL,
`phone` INT(11) NOT NULL,
PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
- NOT NULL - 每一行都必须含有值(不能为空),null 值是不允许的。
- DEFAULT value - 设置默认值
- UNSIGNED - 使用无符号数值类型,0 及正数
- AUTO INCREMENT - 设置 MySQL 字段的值在新增记录时每次自动增长 1
- PRIMARY KEY - 设置数据表中每条记录的唯一标识。 通常列的 PRIMARY KEY 设置为 ID 数值,与 AUTO_INCREMENT 一起使用。
查看表的框架
desc kkk_tbl;
+-------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+------------------+------+-----+---------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | user | varchar(10) | NO | | NULL | | | pass | varchar(10) | NO | | NULL | | | phone | int(11) | NO | | NULL | | +-------+------------------+------+-----+---------+----------------+
增加数据
insert into kkk_tbl(user,pass,phone) values(‘admin’,‘123456’,‘1380000000’);
删除数据
delete from kkk_tbl where user=“admin”;
接下来开始PHP联动
首先php创建数据库
//面向过程
<head>
<meta charset=utf-8>
</head>
<?php
$servername = "localhost";
$username = "root";
$password = "123456";
// 创建连接
$conn = mysqli_connect($servername, $username, $password);
// 检测连接
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
// 创建数据库
$sql = "CREATE DATABASE myDB";
if (mysqli_query($conn, $sql)) {
echo "数据库创建成功";
} else {
echo "Error creating database: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
接下来连接数据的文件我们分开,然后包含引用
conn.php
<head>
<meta charset=utf-8>
</head>
<?php
$servername = "localhost";
$username = "root";
$password = "root";
// 创建连接
$conn = mysqli_connect($servername, $username, $password);
// 检测连接
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
?>
其他需要调用该文件的php
<head>
<meta charset=utf-8>
</head>
<?php
include("conn.php");
$sql = "create DATABASE myDaB";
if (mysqli_query($conn, $sql)) {
echo "数据库创建成功";
} else {
echo "Error creating database: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
面向对象的
<head>
<meta charset=utf-8>
</head>
<?php
$servername = "localhost";
$username = "root";
$password = "root";
// 创建连接
$conn = new mysqli($servername, $username, $password);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 创建数据库
$sql = "CREATE DATABASE myDB";
if ($conn->query($sql) === TRUE) {
echo "数据库创建成功";
} else {
echo "Error creating database: " . $conn->error;
}
$conn->close();
?>
//使用pdo技术的
<head>
<meta charset=utf-8>
</head>
<?php
$servername = "localhost";
$username = "root";
$password = "root";
try {
$conn = new PDO("mysql:host=$servername", $username, $password);
// 设置 PDO 错误模式为异常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "CREATE DATABASE myDBPDO";
// 使用 exec() ,因为没有结果返回
$conn->exec($sql);
echo "数据库创建成功<br>";
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>
创建表(面对过程)
//需要设置进去的库
conn.php 文件 新增
<head>
<meta charset=utf-8>
</head>
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "myDB";
// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
// 检测连接
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
?>
生成表内基本框架
<head>
<meta charset=utf-8>
</head>
<?php
include("conn.php");
$sql = "CREATE TABLE IF NOT EXISTS `kkk_tbl`(
`id` INT UNSIGNED AUTO_INCREMENT,
`user` VARCHAR(10) NOT NULL,
`pass` VARCHAR(10) NOT NULL,
`phone` INT(11) NOT NULL,
PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;";
if (mysqli_query($conn, $sql)) {
echo "数据表创建成功";
} else {
echo "创建数据表错误: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
结合注册页面开始完成实验
网站首页源码
注册页面源码
<head>
<meta charset="utf-8">
</head>
<?php
$name=$_POST['name'];
$password1=$_POST['password1'];
$password2=$_POST['password2'];
$shouji=$_POST['shouji'];
$tupian=$_FILES['tupian'];
// echo $name,$password1,$password2,$shouji,$tupian;
if($_SERVER["REQUEST_METHOD"] == "POST"){
if(empty($name) ||
empty($password1) ||
empty($password2) ||
empty($shouji)){
$ERR="账号密码、手机号码不能为空";
//密码长度8位,密码两次输入一致
//密码验证
//手机11位
//文件上传jpg
}elseif(strlen($password1)<8){
$ERR="密码长度不足八位";
}elseif($password1!=$password2){
$ERR="两次输入密码不一致";
}elseif(strlen($shouji)!="11"){
$ERR="手机号码格式有问题";
}else{
$ERR="注册成功";
echo $_FILES["tupian"]["name"];
if (file_exists("tupian/" . $_FILES["tupian"]["name"])){
echo $_FILES["tupian"]["name"] . " 文件已经存在。 ";
}else{
// 如果 upload 目录不存在该文件则将文件上传到 upload 目录下
move_uploaded_file($_FILES["tupian"]["tmp_name"], "tupian/" . $_FILES["tupian"]["name"]);
// echo "文件存储在: " . "tupian/" . $_FILES["tupian"]["name"];
}
}
}
?>
<form action="" method="post" enctype="multipart/form-data" >
名字:
<input type="text" name="name" > <br>
密码:
<input type="password" name="password1" ><br>
重新输入密码:
<input type="password" name="password2" ><br>
请输入手机号码:
<input type="passwrd" name="shouji" ><br>
上传头像:
<input type="file" name="tupian" ><br>
<input type="submit" value="提交">
</form>
<?php
echo $ERR;
echo "你注册的用户为:".$name."</br>";
echo "你注册的手机号码:".$shouji."</br>";
?>
<img src="<?php echo "tupian/".$_FILES["tupian"]["name"]; ?>">
需求:
1、先判断是否有库,如果没有库就创建
2、判断是否有表,没有表直接创建
3、注册成功后直接将数据插入到表的内容里面
最后代码:
conn.php
<head>
<meta charset=utf-8>
</head>
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "kkk";
// 创建连接
$conn = mysqli_connect($servername, $username, $password);
$conn2 = mysqli_connect($servername, $username, $password, $dbname);
// 检测连接
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}else{
// echo "数据连接成功</br>";
if(mysqli_connect($servername, $username, $password, $dbname)){
// // echo "数据库已经存在";
// $conn2 = mysqli_connect($servername, $username, $password, $dbname);
}else{
echo "开始自动创建数据库</br>";
$sql = "create DATABASE ".$dbname;
mysqli_query($conn, $sql);
echo "数据库创建成功</br>";
$createtbl="CREATE TABLE IF NOT EXISTS `kkk_tbl`(
`id` INT UNSIGNED AUTO_INCREMENT,
`user` VARCHAR(10) NOT NULL,
`pass` VARCHAR(10) NOT NULL,
`phone` VARCHAR(11) NOT NULL,
`file` VARCHAR(30) ,
PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;";
$conn2 = mysqli_connect($servername, $username, $password, $dbname);
mysqli_query($conn2, $createtbl);
echo "数据表创建成功</br>";
}
}
// mysqli_close($conn);
?>
}
}
// mysqli_close($conn);
?>
<head>
<meta charset="utf-8">
</head>
<?php
include("conn.php");
$name=$_POST['name'];
$password1=$_POST['password1'];
$password2=$_POST['password2'];
$shouji=$_POST['shouji'];
$tupian=$_FILES['tupian'];
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if(empty($name) && empty($password1) &&
empty($password2) && empty($shouji)){
$zhErr="用户名、密码、手机号码不能为空";
}elseif(strlen($password1)<8){
$zhErr="密码长度必须大于等于8位";
}elseif($password1!=$password2){
$zhErr="两次密码不一致";
}elseif(strlen($shouji)!=11){
$zhErr="手机号码不符合规范";
}else{
//开始处理图片
if (file_exists("tupian/" . $tupian["name"])){
echo $tupian["name"] . " 文件已经存在。 ";
}else{
// 如果 upload 目录不存在该文件则将文件上传到 upload 目录下
move_uploaded_file($tupian["tmp_name"], "tupian/" . $tupian["name"]);
$tupianfile=$tupian['name'];
echo "文件存储在:tupian/".$tupianfile;
}
$tupianfile=$tupian['name'];
$sqlinsert="
insert into kkk_tbl(user,pass,phone,file)
values('$name','$password1','$shouji','$tupianfile');
";
echo "$sqlinsert";
var_dump($conn2);
if(mysqli_query($conn2, $sqlinsert)){
$zhErr="注册成功";
}else{
$zhErr="注册失败";
}
}
}
?>
<form action="" method="post" enctype="multipart/form-data" >
名字:
<input type="text" name="name" > <br>
密码:
<input type="password" name="password1" ><br>
重新输入密码:
<input type="password" name="password2" ><br>
请输入手机号码:
<input type="passwrd" name="shouji" ><br>
上传图像:
<input type="file" name="tupian" ><br>
<input type="submit" value="提交">
</form>
<?php echo $zhErr."</br>";
?>
<img src="<?php echo "tupian/".$_FILES["tupian"]["name"];?>" alt="上传的图片" />
4、查询数据
从 MySQL 数据库读取数据
SELECT 语句用于从数据表中读取数据:
SELECT column_name(s) FROM table_name
查询 字段、字段 从 表名 查询
那么php联动查询如下
<?php
include('conn.php');
$chaxun="select * from kkk_tbl;";
$lianjie=mysqli_query($conn2,$chaxun);
// var_dump($lianjie);
while($row=mysqli_fetch_assoc($lianjie)){
$user=$row['user'];
$pass=$row['pass'];
$phone=$row['phone'];
echo "user:".$user."</br>"."pass:".$pass."</br>"."phone:".$phone."</br>";
}
?>
接下来我们可以自定义查询内容,比如用户通过搜索id可以查询到对应的用户,通过搜索账号可以查询到对应的id
首先也是先明白,怎么增加查询条件:
比如,我们只需要查询一个数据表内的id或者admin数据
原始查询代码
select id,username from users where id=2;
优化后的php代码:
<?php
include("conn.php");
$chaxunsql=$_GET['chaxun'];
//增加一个判断,判断传入值是数字还是字符串
if(is_numeric($chaxunsql)){
$chaxunsql="id=$chaxunsql";
}else{
$chaxunsql="username='$chaxunsql'";
}
$chaxun="select id,username from users where $chaxunsql ";
$reslust=mysqli_query($conn,$chaxun);
//mysqli_fetch_assoc() 查询数据库结果并且赋值为一行
@$row = mysqli_fetch_assoc($reslust);
$id = $row["id"];
$username=$row["username"];
//提取row数字中的username字段
$html = "id:$id</br>username:$username</br>";
?>
<html>
<head>
<mate charset="utf-8">
<h1>请输入你要查询的id或者账号名字</h1>
<form action="#" method="get">
<input type="text" name="chaxun">
<input type="submit" >
</form>
</head>
</html>
<?php echo $html;?>
实验:网站登录注册+登录页面Pro
如何结合之前的页面写出一个完整登录页面呢,需要注意的是需要联动之前的注册页面
任务分解,先写出最简单的登录页面,只需要能够判断是否登录成功即可
<?php
include("conn.php");
$username=$_POST['username'];
$password=$_POST['password'];
$uapsql="select username,password from users where username='$username' and password='$password'";
$reslust=mysqli_query($conn,$uapsql);
// var_dump($reslust);
// var_dump();
if(mysqli_num_rows($reslust)){
$login = "登录成功";
}else{
$login = "登录失败";
}
?>
<html>
<head>
<mate charset="utf-8">
</head>
<h1>请输入账号以及密码</h1>
<form action="" method="post" ></br>
<input type="text" name="username"> </br>
<input type="password" name="password"> </br>
<input type="submit">
</form>
<?php echo $login;?>
</html>
然后继续丰满代码,增加跳转功能(未授权访问漏洞)
<?php
header('Location:youxi.php');
?>
继续增加代码,需要登录以后才能访问youxi.php
基础代码:
$_SESSION['login']='true';
只需要增加一个判断语句,识别只要login状态为true,即代表正常登录
<?php
session_start();
echo $_SESSION["login"];
if ($_SESSION["login"] == true) {
echo "您已经成功登陆";
} else {
$_SESSION["login"] == false;
die("您无权访问,<a href='login.php'>点击跳转登录页面</a>");
}
?>
最终完整的代码如下:
当前文件夹下的路径如下:
tupian 文件夹(用来存放图片)
login.php 登录页面
zhuxiao.php 注销页面
conn.php 数据库连接页面
zhuce.php 注册页面
session.php 管理session
youxi.php 假装后台页面
代码如下:
login.php 登录页面
<?php
include("conn.php");
$username=$_POST['username'];
$password=$_POST['password'];
$uapsql="select user,pass from kkk_tbl where user='$username' and pass='$password';";
$reslust=mysqli_query($conn2,$uapsql);
// var_dump($reslust);
// var_dump();
if(mysqli_num_rows($reslust)){
header('Location:youxi.php');
session_start();
$_SESSION['login']='true';
}else{
$login = "登录失败";
$_SESSION['login']='false';
}
?>
<html>
<head>
<meta charset=utf-8>
</head>
<h1>请输入账号以及密码</h1>
<form action="" method="post" ></br>
<input type="text" name="username"> </br>
<input type="password" name="password"> </br>
<input type="submit">
</form>
<a href="zhuce.php">点击注册</a></br>
<?php echo $login;?>
</html>
zhuxiao.php 注销页面
<?php
session_start();
$_SESSION["login"]='false';
session_destroy();
header('Location:login.php');
?>
conn.php 数据库连接页面
<head>
<meta charset=utf-8>
</head>
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "kkk";
// 创建连接
$conn = mysqli_connect($servername, $username, $password);
$conn2 = mysqli_connect($servername, $username, $password, $dbname);
// 检测连接
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}else{
// echo "数据连接成功</br>";
if(mysqli_connect($servername, $username, $password, $dbname)){
// // echo "数据库已经存在";
// $conn2 = mysqli_connect($servername, $username, $password, $dbname);
}else{
echo "开始自动创建数据库</br>";
$sql = "create DATABASE ".$dbname;
mysqli_query($conn, $sql);
echo "数据库创建成功</br>";
$createtbl="CREATE TABLE IF NOT EXISTS `kkk_tbl`(
`id` INT UNSIGNED AUTO_INCREMENT,
`user` VARCHAR(10) NOT NULL,
`pass` VARCHAR(10) NOT NULL,
`phone` VARCHAR(11) NOT NULL,
`file` VARCHAR(30) ,
PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;";
$conn2 = mysqli_connect($servername, $username, $password, $dbname);
mysqli_query($conn2, $createtbl);
echo "数据表创建成功</br>";
}
}
?>
zhuce.php 注册页面
<head>
<meta charset="utf-8">
</head>
<?php
include("conn.php");
$name=$_POST['name'];
$password1=$_POST['password1'];
$password2=$_POST['password2'];
$shouji=$_POST['shouji'];
$tupian=$_FILES['tupian'];
$tupianname=$_FILES['tupian']['name'];
// echo $name,$password1,$password2,$shouji,$tupian;
if($_SERVER["REQUEST_METHOD"] == "POST"){
if(empty($name) ||
empty($password1) ||
empty($password2) ||
empty($shouji)){
$ERR="账号密码、手机号码不能为空";
//密码长度8位,密码两次输入一致
//密码验证
//手机11位
//文件上传jpg
}elseif(strlen($password1)<8){
$ERR="密码长度不足八位";
}elseif($password1!=$password2){
$ERR="两次输入密码不一致";
}elseif(strlen($shouji)!="11"){
$ERR="手机号码格式有问题";
}else{
// echo $_FILES["tupian"]["name"];
if (file_exists("tupian/" . $_FILES["tupian"]["name"])){
echo $_FILES["tupian"]["name"] . " 文件已经存在。 ";
}else{
// 如果 upload 目录不存在该文件则将文件上传到 upload 目录下
move_uploaded_file($_FILES["tupian"]["tmp_name"], "tupian/" . $_FILES["tupian"]["name"]);
// echo "文件存储在: " . "tupian/" . $_FILES["tupian"]["name"];
}
$sqlinsert="insert into kkk_tbl(user,pass,phone,file)
value('$name','$password1','$shouji','$tupianname');";
var_dump($conn2);
if(mysqli_query($conn2, $sqlinsert)){
$ERR="注册成功</br>";
}else{
$ERR="注册失败</br>";
};
}
}
?>
<form action="" method="post" enctype="multipart/form-data" >
名字:
<input type="text" name="name" > <br>
密码:
<input type="password" name="password1" ><br>
重新输入密码:
<input type="password" name="password2" ><br>
请输入手机号码:
<input type="passwrd" name="shouji" ><br>
上传头像:
<input type="file" name="tupian" ><br>
<input type="submit" value="提交">
</form>
<?php
echo $ERR;
echo "你注册的用户为:".$name."</br>";
echo "你注册的手机号码:".$shouji."</br>";
?>
<img src="<?php echo "tupian/".$_FILES["tupian"]["name"]; ?>">
session.php 管理session
<?php
session_start();
echo $_SESSION["login"];
if ($_SESSION["login"] == true) {
echo "您已经成功登陆<a href='zhuxiao.php'>点击注销</a>";
} else {
$_SESSION["login"] == false;
die("您无权访问,<a href='login.php'>点击跳转登录页面</a>");
}
?>
youxi.php 假装后台页面.
<?php
include('session.php');
?>
<html>
<head>
<mate charset="utf-8">
<h1>游戏页面</h1>
<a href="select.php">点击账号以及ID的对应关系</a>
<a href="jsq.php">数字炸弹</a>
</head>
</html>
ion="" method="post" enctype="multipart/form-data" >
名字:
<input type="text" name="name" > <br>
密码:
<input type="password" name="password1" ><br>
重新输入密码:
<input type="password" name="password2" ><br>
请输入手机号码:
<input type="passwrd" name="shouji" ><br>
上传头像:
<input type="file" name="tupian" ><br>
<input type="submit" value="提交">
</form>
<?php
echo $ERR;
echo "你注册的用户为:".$name."</br>";
echo "你注册的手机号码:".$shouji."</br>";
?>
<img src="<?php echo "tupian/".$_FILES["tupian"]["name"]; ?>">
session.php 管理session
<?php
session_start();
echo $_SESSION["login"];
if ($_SESSION["login"] == true) {
echo "您已经成功登陆<a href='zhuxiao.php'>点击注销</a>";
} else {
$_SESSION["login"] == false;
die("您无权访问,<a href='login.php'>点击跳转登录页面</a>");
}
?>
youxi.php 假装后台页面.
<?php
include('session.php');
?>
<html>
<head>
<mate charset="utf-8">
<h1>游戏页面</h1>
<a href="select.php">点击账号以及ID的对应关系</a>
<a href="jsq.php">数字炸弹</a>
</head>
</html>