php抓取网页数据插入数据库(JS与用户进行通讯的时候,可以用prompt和alert)
优采云 发布时间: 2022-02-04 20:17php抓取网页数据插入数据库(JS与用户进行通讯的时候,可以用prompt和alert)
写在前:JS与用户交流时,可以使用prompt和alert。我们服务器上的PHP程序是如何获取用户数据的呢?干扰程序运行的用户数据。您必须通过 get 和 post 方法。
一、GET 方法
有时在浏览器的地址栏观察网址,发现网络地址是这样的
? 后一部分不会影响我们访问哪个网页。后面k=v的数据是给背景语言的。对前台来说意义不大。
举例说明:
$b = $_GET["名称"];
回声 $b;
请求结果:
获取请求
get:参数都体现在url中,可以用来跳转网页,翻页,做简单的查询。get只能接收2M以下的内容,所以只能输入2048k字节,有局限性。另外,因为内容是可见的,所以降低了安全性,
form表单有两个重要的属性:
● method 属性:提交表单的方法,无论是get 还是post。如果写了get,那么在提交表单的时候,会传递URL地址吗?传递参数。
● action 属性:处理表单的php程序
● name 属性:用于获取ID。
二、数据库写入
SQL 语句中的查询昨天学习了检索所有数据库条目
选择 * FROM 学生;
如果要检索条目,请使用 WHERE 子句:
SELECT * FROM xuesheng WHERE xingming = "小明";
今天要学的是写,也就是“加”
INSERT INTO xuesheng(xingming,nianling,qqhao) VALUES ('koala',20,2435345)
公式:
插入表名(字段 1,字段 2,字段 3) 值(值 1,值 2,值 3)
三、模拟表单接收和数据库写入
创建一个只有表中的字段而没有内容的空白数据库。
HTML页面构建
连接数据库,使用GET方法,获取填充内容,写入数据库
空白数据库
创建数据库
创建完成后内容不填充。
2.HTML页面和填写内容
页面和填充
表单提交和数据库写入模拟
学习进度:
非常快
一般来说
非常慢
学习状态:
非常好
非常好
很差
课程进度:
太快
正好
太慢了
课堂建议:
连接数据库,使用GET方法,获取填充内容,写入数据库
//通过GET请求获取填充内容
$name1 = $_GET["name1"];
$name3 = $_GET["name3"];
$name2 = $_GET["name2"];
$name4 = $_GET["name4"];
//连接数据库
$ccon = mysql_connect("localhost","root","root");
mysql_select_db("学生班级信息",$ccon);
//数据库的写法,其中mysql_query是执行的意思!
$result = mysql_query("INSERT INTO students(xuexijingdu,xuexichuantai,kechengjindu,jianyi) VALUES('{$name1}','{$name2}','{$name3}','{$name4}')") ;
if($result ==1){
echo "表单接收成功!";
}别的{
echo "提交错误请重试!";
}
//关闭数据库
mysql_close($ccon);
实验结果
填写页面内容后,点击提交。
提交完成
数据库信息:
收到的内容
四、在线部署数据库
数据库创建和表单创建类似于 sql_yog 本地部署。
本次演示使用的我的百度云主机,因为只有一个数据库,无法创建另一个数据库进行演示。仅从表的创建开始。
登录主机后端,进入数据库管理页面。这里的数据库管理软件是phpMyAdmin。单击操作开始创建表。
如下;
创建表
将代码上传到服务器:
一共有两个文件HTML和PHP。
超级无敌坑:使用之前的PHP代码上传到服务器,更改连接数据库的地址和密码等错误!!!显示http 500无法完成请求,添加显示具体错误的代码即可找到!
原因:连接PHP的方法只支持PHP5.5以下,尴尬!!!
只有新方法 PDO 和 mysqli 可以使用,后者。
参考连接:MySQL插入数据| 菜鸟教程
//通过GET请求获取填充内容
$name1 = $_GET["name1"];
$name3 = $_GET["name3"];
$name2 = $_GET["name2"];
$name4 = $_GET["name4"];
//这两行代码抛出错误的提示信息,否则新手找不到原因!!!
ini_set("display_errors","On");
错误报告(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 "表单接收成功!";
}别的{
echo "提交错误请重试!";
}
//关闭数据库
mysqli_close($ccon);
这个废话浪费了我整个下午。麻蛋!
访问域名:
访问服务器页面
点击提交将显示提交成功。数据录入成功
数据显示成功
五、POST 请求
POST请求是将用户的数据传输到服务器,而不是使用URL,而是使用HTTP请求头。
HTTP是消息,请求和响应都是以消息的形式传输的。消息的内容是
就是页面的内容,消息的头部承载了很多信息。
GET 请求很容易生成。每次我们输入一个URL打开网站都是一个GET请求,而GET请求使用的是一个URL。
POST 请求很难自己生成,必须使用表单。
POST 请求的好处:
安全且不会通过 URL 暴露我们的表单;
内容无限制,发帖请求可以无限制,填写表单字段没有问题。
POST请求的缺点:
地址不能共享,显然发布请求不会影响 URL。
鉴于 GET/POST 的优劣对比明显,工程:
GET 请求通常用于检索数据库中的条目,例如 news.php?id=4
POST 请求通常用于提交表单。