1:使用PHP进行表单上传

1.1 form表单的数据收集

HTML页面:

代码解释:核心模块是form的属性:

--提交方式 : method="post"
--指定 name 属性: 例如 name="username"
-- 给 form 指定文件上传格式: enctype="multipart/form-data"
2点击提交按钮后,后台进行的操作

2.1 通过$_FILES 超全局变量,获取图像数据:

二维数组,可以获取表单上传的提交数据内容.

  Array([photo] => Array([name] => picture.jpg   提交的文件名[type] => image/jpeg     文件类型[tmp_name] => C:\Users\Jepson\AppData\Local\Temp\phpBF97.tmp  临时存储的路径[error] => 0    错误码, 如果是 0 表示没有错误[size] => 17552  文件大小, 单位 字节 17kb 左右))复制代码

2.2 PHP的图像转存: // 1 获取文件数组

  $file = $_FILES['photo'];if ( $file['error'] === 0 ) { // 2 需要转存文件$ftmp = $file['tmp_name']; // 3 获取临时文件路径// 4 截取后缀名$name = $file['name']; $ext = strrchr( $name, "." ); // 5 随机生成文件名$newName = time().rand(10000, 99999).$ext;// 6 转存文件move_uploaded_file( $ftmp, "./upload/".$newName );}复制代码

2.3 通过$_POST超全局变量获取post数据,保存在全局变量里.

 $username = $_POST['username'];$nickname = $_POST['nickname'];$age = $_POST['age'];$tel = $_POST['tel'];$sex = $_POST['sex'];$class = $_POST['class'];$photo = ""; // 图片地址复制代码

2.4 准备SQL语句,进行数据库写入操作:插入数据

 $sql = "insert into stu (name, nickname, age, tel, sex, photo, classid)values ('$username', '$nickname', $age, '$tel', '$sex', '$photo', $class)";复制代码

2.5 判断是否插入成功,并进行跳转操作

//封装执行数据库的方法
function my_exec( $sql ) {// 1. 连接数据库$link = @ mysqli_connect( '127.0.0.1', 'root', 'root', 'stumanage', '3306' );if ( !$link ) {echo "数据库连接失败";return false;//2 . 执行 sql, 执行的是 查询, 成功:结果集, 失败:false$res = mysqli_query( $link, $sql );if ( !$res ) {  // 失败了echo mysqli_error( $link ); // 打印错误信息mysqli_close( $link );return false;}}//执行数据库语句
if ( my_exec( $sql ) ) {echo "添加成功";// 跳转到 学生列表php文件header('location:studentList.php');}else {echo "添加失败";}复制代码

2.6 更新数据库


//获得数据的唯一标识
$id = $_GET['id'];//准备查询语句
$sql = "select * from stu where id = $id";   // 准备 sql 语句//执行查询语句
$res = mysqli_query( $link, $sql );复制代码

PHP方法注解:

1 mysqli_connect( '127.0.0.1', 'root', 'root', 'stumanage', '3306' ); PHP链接指定数据库的方法.

2 mysqli_close( $link ); 数据库使用完毕后,关闭数据库链接的方法,不能省略.

3 mysqli_query( $link, $sql ); 执行 sql, 执行的是查询, 成功输出结果集, 失败返回false.

4 mysqli_error( $link ); php打印错误信息的方法

5 header("location: studentList.php"); php跳转到指php文件的方法.

转载于:https://juejin.im/post/5b1a6d7d6fb9a01e8b7821b5

前后端交互总结2:使用PHP进行表单数据上传与更新相关推荐

  1. 大前端涉猎之前后端交互总结2:使用PHP进行表单数据上传与更新

    1:使用PHP进行表单上传 1.1 form表单的数据收集 HTML页面: 代码解释:核心模块是form的属性: --提交方式 :  method="post" --指定 name ...

  2. 前端angular与服务器端nodejs实现从mysql数据库读取数据实现前后端交互实例

    一.angular前端交互 使用angular框架的人都知道angular提供了内置的HttpClientModule模块来实现前后端交互请求. 实际操作如下: 1.在app.module.ts文件中 ...

  3. 前后端交互,网络请求

    这边文章主要根据我自己的前端开发工作经验,东拼西凑出来的一点理解,希望能够对大家有点帮助,如果有误导或者错误的地方还请帮助指正,感谢!!! 前后端交互我理解主要分为三个主要的部分: 1.客户端 2.服 ...

  4. echarts前后端交互数据_SpringBoot2.0实战(26)整合SpringSecurity前后端分离JSON交互...

    在前端的文章中,我们实现了使用 SpringSecurity 实现登录鉴权,并使用数据库存储用户信息,实现登录鉴权 SpringBoot2.0实战(24)整合SpringSecurity之最简登录方法 ...

  5. [原创]前后端交互的方式整理

    前言 本来我只是想整理下前后端如何传输数据这种交互过程,大概流程如下: 前台使用ajax通过get/post等方式提交数据到后端 后端如何获取参数 经过业务处理后,返回前端对应的响应数据 前端接受到响 ...

  6. 写给刚入门的前端工程师的前后端交互指南

    转自原文 写给刚入门的前端工程师的前后端交互指南 作为刚接触前端的不久的童鞋,大家都会兴奋于CSS和JS所带来漂亮界面,然而,前端工程师除了UI重构外,还有非常重要的职责在正确的区域渲染出服务端的数据 ...

  7. ajax学习----json,前后端交互,ajax

    json <script>var obj = {"name": "xiaopo","age": 18,"gender& ...

  8. 前后端交互概述与URL地址格式

    前后端交互概述与URL地址格式 接口调用方式 原生ajax 基于jQuery的ajax fetch axios URL地址格式

  9. Ionic+Angular+Express实现前后端交互使用HttpClient发送get请求数据并加载显示(附代码下载)

    场景 Ionic介绍以及搭建环境.新建和运行项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/106308166 在上面搭建起 ...

最新文章

  1. 第十九课.隐马尔科夫模型
  2. 生命的真谛不在于你呼吸的次数,而在于那些令你无法呼吸的时刻
  3. 设计模式:常见模式案例
  4. SQL 除去数字中多于的0
  5. 优化器--牛顿法总结
  6. Java集合(实现类线程安全性)
  7. cisco 热备份路由器协议HSRP笔记
  8. zookeeper在hadoop的应用
  9. 链表的游标(cursor)实现
  10. 阶段3 3.SpringMVC·_02.参数绑定及自定义类型转换_3 配置解决中文乱码的过滤器
  11. java特征提取_特征提取
  12. gdisk 创建和维护磁盘分区命令(GPT分区方案)
  13. php万能表单制作教程,万能表单系统
  14. 量子力学概论_科学网—《量子力学导论》潘必才 - 中国科大出版社的博文
  15. 2020辽宁国家公务员考试申论模拟题:过度医疗
  16. Mac使用Python接入东方财富量化接口Choice,调试与获取数据
  17. java自动填充_java 如何自动填充网页上的用户名和密码?
  18. RCNN SPPNet Fast R-CNN Faster R-CNN Cascade R-CNN
  19. 4.一起学习Highcharts 配置选项详细说明
  20. 存储知识 -- 什么是LUN?LUN有什么用?对理解存储设备很有好处

热门文章

  1. Zabbix监控Redis状态
  2. ubuntu 普通用户下设置tab键自动补全
  3. Teraterm的Log设定
  4. 剑指 Offer II 024. 反转链表
  5. 远程登录出现 身份验证错误 要求的函数不受支持
  6. VMWare:打开虚拟机黑屏
  7. 常见移动机器人运动学模型总结(图片版)
  8. 问答| 为什么四轮驱动机器人(SSMR)的质心(COM)没有横向分速度vy呢?
  9. docker es持久化_docker如何保持数据持久化?其实可以考虑通过数据卷挂载的方式~...
  10. python点对点传输_python点对点简单实现