如何把php post到数据库,PHP 的 GET & POST请求|数据库的写入和线上部署

写在前面: JS 与用户进行通讯的时候,可以用 prompt 和 alert 。我们的服务器上面的 PHP 程序是如何得到用户的数据呢?用户的数据要干预程序的运行。就得通过 get 和 post 方法。

一、GET方法

有时候在浏览器的地址栏观察网址,发现网络的地址是这样的http://lixin/com?k=v&k=v

? 后面的部分,不会影响我们访问哪个网页,这后面的 k=v 的数据,就是给后台语言看的。对于前台意义不大。

借用实例来讲解:

$b = $_GET["name"];

echo $b;

?>

请求结果:

fa9ff691bcfb

GET请求

get:参数都体现在url上,可以用于跳转网页、翻页,简单查询,get 只能接收 2M 以下的内容,所以有只能输入 2048k 字节, 有局限性,另外由于内容是可见的,安全性就下降了,

form表单有两个重要的属性:

● method属性:提交表单的方法,是get还是post。如果写了get的话,那么提交表单的时候,就会通过URL地址的?来传递参数。

● action属性:处理表单的php程序

● name属性:获取ID用的。

二、数据库写入

昨天学习的 SQL 语句中的查询,检索所有数据库条目

SELECT * FROM xuesheng;

如果想检索某一条条目用WHERE子句:

SELECT * FROM xuesheng WHERE xingming = “小明”;

今天要学习的是写入,就是“增”

INSERT INTO xuesheng(xingming,nianling,qqhao) VALUES ('考拉',20,2435345)

公式:

INSERT INTO 表名(字段1,字段2,字段3) VALUES (值1,值2,值3)

三、模拟表单接收和数据库的写入

创建一个空白的数据库,表中只有字段,没有内容。

HTML 页面构建

连接数据库,使用GET方法,获取填写内容,进行数据库写入

空白数据库

fa9ff691bcfb

创建数据库

创建完成不进行内容填写。

2.HTML页面和填写内容

fa9ff691bcfb

页面和填写内容

表单提交和数据库写入模拟

学习进度:

非常快

一般

很慢

学习状态:

非常好

很好

很差

课程进度:

太快了

正好

太慢了

课堂建议:

连接数据库,使用GET方法,获取填写内容,进行数据库写入

//通过GET请求获取填写内容

$name1 = $_GET["name1"];

$name3 = $_GET["name3"];

$name2 = $_GET["name2"];

$name4 = $_GET["name4"];

//数据库的连接

$ccon = mysql_connect("localhost","root","root");

mysql_select_db("students class info",$ccon);

//数据库的写入 其中mysql_query是执行的意思!

$result = mysql_query("INSERT INTO students(xuexijingdu,xuexichuantai,kechengjindu,jianyi) VALUES('{$name1}','{$name2}','{$name3}','{$name4}')");

if($result ==1){

echo "表单成功接收!";

}else{

echo "错误提交请重试!";

}

//关闭数据库

mysql_close($ccon);

?>

实验结果

页面内容填写完成点击提交。

fa9ff691bcfb

提交完成

数据库信息:

fa9ff691bcfb

接收到内容

四、数据库的线上部署

数据库的创建和表单的创建类似 sql_yog 本地的部署。

本次演示使用的我的百度云主机,因为只有一个数据库,无法另外创建一个数据库进行演示。只能从表的创建开始。

登陆到主机后台,进入数据库管理页面。这里的数据库管理软件是 phpMyAdmin。点击操作,开始创建表。

如下;

fa9ff691bcfb

创建表

代码上传到服务器:

一共两个文件HTML的和PHP的。

超级无敌大坑:使用前面PHP代码上传到服务器,更改完连接数据库的地址密码等。错误!!!显示http 500 无法完成请求,加入显示具体错误的代码进行查找的!

原因:连接PHP的方法只支持到PHP5.5以下的,尴尬!!!

只能使用新方法PDO和mysqli,使用后者。

参考连接:MySQL 插入数据 | 菜鸟教程 http://www.runoob.com/mysql/mysql-insert-query.html

//通过GET请求获取填写内容

$name1 = $_GET["name1"];

$name3 = $_GET["name3"];

$name2 = $_GET["name2"];

$name4 = $_GET["name4"];

//这两行代码扔出错误的提示信息,要不然新手的我找不到原因!!!

ini_set("display_errors","On");

error_reporting(E_ALL);

//数据库的连接

$ccon = mysqli_connect("localhost","root","root");

mysqli_select_db( $ccon,"DfvhWrXgzUsreEsAbSNI");

//数据库的写入,两个参数

$result = mysqli_query($ccon,"INSERT INTO students(xuexijingdu,xuexichuantai,kechengjindu,jianyi) VALUES('{$name1}','{$name2}','{$name3}','{$name4}')");

if($result ==1){

echo "表单成功接收!";

}else{

echo "错误提交请重试!";

}

//关闭数据库

mysqli_close($ccon);

?>

就这个破玩意耽误我一下午。麻蛋!

访问域名:

fa9ff691bcfb

访问服务器页面

点击提交会显示提交成功。数据录入成功

fa9ff691bcfb

数据成功显示

五、POST请求

POST请求是让用户的数据传输到服务器上,而不是利用URL,而是利用HTTP request报文头。

HTTP是报文,requst、response都是以报文的形式传输的。报文的内容就是

就是页面的内容,而报文的头部携带有很多信息。

GET请求非常好产生,我们每一次输入网址打开网站都是一次GET请求,GET请求利用的是URL。

POST请求非常难于自己产生,必须借助表单。

POSt请求的好处:

安全,不会通过网址来暴露我们的表单;

内容不限量,post请求是可以无限量的,表单域填多少都没有问题。

POST请求的缺点:

地址不可以分享,很明显 post 请求不影响URL。

鉴于GET/POST的优点、缺点对比明显,工程上:

GET 请求通常用于检索数据库的某一个条目, 比如news.php?id=4

POST 请求通常用于提交表单。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值