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方法注解:

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

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

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

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

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

转载于:https://www.cnblogs.com/autoXingJY/p/9139427.html

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

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

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

  2. 前端ajax与后端php数据传输,前端ajax与后端交互详解

    前端中常常用的与后端交换数据的话,通常是要用到ajax这种方法的,本文主要介绍了前端ajax的各种与后端交互的相关知识,具有很好的参考价值.下面跟着小编一起来看下吧,希望能帮助到大家. 但是交互的方式 ...

  3. 【前端44_前后端交互_跨域】前端解决:JSONP、后端解决:CORS 、后端代理

    文章目录 跨域 什么是跨域 前端解决: JSONP 实现原理 步骤 前端:创建标签,拼接传递参数 后端:接收值,返回值 封装 Ajax 代码 在封装的 Ajax 中添加 JSONP 需求 思路 练习: ...

  4. 【前端】前后端交互重点Ajaxの介绍及实战

    ❤️Ajax❤️ 每篇前言: 第一部分:JSON简介 效果展示: 第二部分:前后交互 1.此处介绍前后交互的两种方式: (1)利用form表单里的name属性进行前后端交互 HTML代码: Pytho ...

  5. 【前端】wangeditor源码修改,打包发布到npm,实现上传视频功能,得到视频的第一帧保存为封面,spring-boot+vue,axios实现文件上传,视频图片浏览

    一.实现 1.创建git分支,clone下源码 git地址 创建分支 2.图片上传具有文件选择的功能,所以我完全模仿(抄袭)图片上传 报错不慌,全部改完就不报错了 1)在src/config/inde ...

  6. 前端实现axios以表单方式上传文件,优化上传速度

    一.背景 最近在开发过程中,遇到的需要是需要上传高清图片,必须原图上传.由于在移动端应用,上传网络问题有很大的坑.当初的方案是直接采用将文件转化为base64,再进行上传,由于文件转化为base64后 ...

  7. 前端python和go_Python_前端网页+前后端交互-Go语言中文社区

    学习Python_前端网页,以一个登录页为案例 简单的 django.http.HttpResponse 可以把内容显示到网页上,本文主要记录如何使用渲染模板的方法来显示内容. HttpRespons ...

  8. Python_前端网页+前后端交互

    学习Python_前端网页,以一个登录页为案例 简单的 django.http.HttpResponse 可以把内容显示到网页上,本文主要记录如何使用渲染模板的方法来显示内容. HttpRespons ...

  9. 【项目】前端如何与后端交互

    在项目开发中使用了前后端分离,当分离后前后端如何进行交互呢?结合项目做一些简单的实践,经过晓风姐的点拨有了本篇分享. 结构   简单的来说是我发现现在写不下去了,我先补好 REST的博客再来更新~~~ ...

最新文章

  1. Python 出现 can't use a string pattern on a bytes-like object
  2. ros安装orocos造成工作空间编译不通过
  3. python for 循环中使用 remove 删除列表中的元素
  4. gpu编程如何一步步学习_如何学习贴片机编程
  5. 深入理解Tomcat系列之一:系统架构(转)
  6. 在Vue 项目 webpack 打包中关于 背景图片的路径问题
  7. 欧拉工程第74题:Digit factorial chains
  8. wordpress 通过域名无法访问_使用WordPress搭建自己的内容发布平台
  9. React-Native 双平台应用的测试发布和 CodePush 热更新部署
  10. 艾客私域风暴进行时—打造服务型私域,赋能品牌增长新引擎
  11. PS暂存盘已满怎么办
  12. 解决方案:Win C++ mingw编译器出现 不支持的16位程序问题
  13. 笔记本连接显示器后没有声音
  14. 网页默认打印:fixed布局的内容会在每页打印,遮挡其他内容
  15. 资讯_计算机屏幕_镜面屏;
  16. 网线直连,Synergy低延迟顺滑共享鼠标键盘
  17. iOS 越狱的Tweak开发
  18. Linux小知识---常见的IO复用技术
  19. [源码和文档分享]基于JSP实现的试题库管理系统
  20. 超实用的菜单栏管理工具:Bartender 4 Mac版

热门文章

  1. 2021年全球与中国高密度聚乙烯行业市场规模现状及企业市场份额分析
  2. win7IIS下CGI的配置
  3. poj3614Sunscreen 贪心
  4. [me]美国的irobot 机器人
  5. NameError: free variable ‘***‘ referenced before assignment in enclosing scope
  6. 学生管理。。。。...
  7. 多样、互动的WinForm UI设计与开发思路 转载
  8. php 数组交集函数,php数组交集函数
  9. JAVA中的排序函数
  10. 拾忆Elasticsearch01:Elasticsearch概述及相关ES、IK分词器等下载安装