前言:本人偏向前端,想通过学习php来了解前后端交互的原理,所以本文有很多地方都不是很细致,只是供了解和以后查阅。
0.PHP简介:
在服务器上执行的代码,结果以纯 HTML 形式返回给浏览器。它可以接收,保存(数据库)网页传来的数据并且可以发送数据到网页上。
1.环境搭建
本人用的是xampp,具体搭建方法百度上有较为全面的教程
这里讲一下安装完的使用方法:将index.html,test.php放置xampp/htdocs下,然后在浏览器中输入 http://localhost:82/test.html 即可打开(其中82是根据自己设置的Apache端口确定的)
2.基本语法
<php?
//PHP代码
?>
PHP 文件通常包含 HTML 标签和一些 PHP 脚本代码(↑),可放在文档中的任意位置。每行代码都必须以分号结束
3.变量
变量以 $ 符号开始,后面跟着变量的名称,且变量名必须以字母或者下划线字符开始。与js一样,是一种弱类型语言,我们不必向 PHP 声明该变量的数据类型。
同样,变量都有其作用域(local,global,static,parameter),并且可以通过代码改变其作用域。
global $x,$y;
static $x,$y;
此外,PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。
$GLOBALS['x']; 调取全局变量中的x变量
PHP的数据类型也不外乎String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)这几种,各个类型详细的定义API见教程。
(1)介绍一个返回变量的数据类型和值的函数
$x='yy';
var_dump($x); //输出string(2) "yy"
(2)常量的定义
define("GREETING", "欢迎访问 Runoob.com",true);
//第三个变量若设置为 TRUE,该常量则大小写不敏感。
//默认是大小写敏感的
此外,PHP有一系列的string函数,这是PHP 核心的组成部分具体API点击此链接
超级全局变量!!
该变量在一个脚本的全部作用域中都可用,其中$_REQUEST,$_GET和$_POST是较为重要的变量,它们可用来收集表单提交,get请求,post请求传来的数据。对于前端来说,这部分算是比较重要的。
其他全局变量可点此链接
接下来会从php表单提交和Ajax来说明这几个变量的使用
4.php表单####
<form method="post" action="test.php">
<input type="text" name="id">
<input type="submit" value="提交">
</form>
以上是一个简单的提交表单,action的内容是点击提交后将表单数据传至脚本的URL。此时页面的链接也跳转到test.php上(原先为index.php)
<?php
echo "姓名:".$_POST["id"]; //输出:姓名:(张三)假设input的值为张三
?>
而test.php的内容可以是这样(呃....不要嫌弃),$_POST["id"]超级全局变量可以获取post传来的值,而[ ]内的值就是对应input的name。是一个键值对。
但是,正常来讲,php接受表单数据后要进行表单安全验证与内容验证(是否必填)和表单内容存储(php连接MySQL)
详情可看链接
5.php与Ajax
Ajax与php我觉得是应用比较广且较为方便的方式。
index.html↓
<input type="test" name="id" onkeyup="showHint(this.value)">
<p id="Hint"></p>
main.js↓ (这里用了Jq的API)
function showHint(str){
$.post("test.php",{"pp":str},function(data){
$("#Hint").text(data);
});
}
test.php↓
<?php
$q=$_POST["pp"];
echo "输入".$q;
?>
$_POST变量是从其键找到其值的,所以js中传输给php的数据最好为{"pp":str},也是因为这个,多数据传输时一般转化为JSON格式来传输。
Ajax与php详情可见
网友评论