PHP 介绍php的一些基本语法,配合wamp,跟着案例来学习GET和POST请求( 非常详细 )

Posted IT_Holmes

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 介绍php的一些基本语法,配合wamp,跟着案例来学习GET和POST请求( 非常详细 )相关的知识,希望对你有一定的参考价值。

这一节以windows系统的wamp为服务器,来执行例子,必须具备配置和安装wamp的相关知识。

1.网站分类

网站分为静态网站和动态网站,分别对应sweb和dweb。

静态网站指的是全部由html代码格式页面组成的网站,没有数据库的支持,在网站制作和维护方面工作量大。

动态网站并不是指有动画功能的网站,而是指网站内容可根据不同情况动态变更的网站。一般情况有数据库的支撑。一般的动态网页以asp,jsp,php,aspx等结尾。

2.php的基本语法

1.echo方法

作用就是向浏览器输出内容。echo不是函数,而是php的语言结构。

例如:

<?php
	echo "<h1>HelloWorld PHP!</h1>";
?>

所有的php代码都要写在"<?php ?>"里面。

php文件必须在服务器上执行。

php代码可以和html互相结合使用。

2.php变量和字符串拼接

声明变量使用的是" $ "符号。

在php中使用’’ + “,适合作数值运算,不适合字符串拼接。如果使用” + "号来拼接字符串,会输出 0 。

php拼接字符串使用的是" . "符号。

3.php的执行原理

浏览器是不识别PHP代码!!!!

PHP代码必须在服务器中执行,双击打开php,或者在文档中打开php是达不到效果的!!!

php执行的效果,归功于apache模块和php模块,apache来提供网页服务,php来翻译解析。 在window系统中,一般使用wamp;在linux系统中,一般使用lamp来作为服务器,从而达到执行php代码的效果 。如图下:

课时10,2:46图片。

就像上图一样,如果php和html代码一起执行,他会在后台先解析好php,然后在发给浏览器。如图下:

课时10,5:28图片。

4.语法错误显示

如果出现了下面的样式,说明php的语法出现了错误。
在这里插入图片描述

3.php数组

1.一维数组

在php中数组是用array来定义的。

在php中还可以定义下标索引。

下面王五的索引值,就是index1,而张三的索引值则默认为 0,李六的索引值是 1。注意:这里李六的索引值不是2,而是1。

var_dump函数用来输出变量或表达式的相关信息和结构信息。
例如:

<?php
	$str1 = array("张三","index1"=>"王五","李六");
	var_dump($str1);
	echo "<br>";
	echo $str1[index1];
?>

2.二维数组

二维数组,就是在一维数组的前提下,再次进行赋值一个数组。

查看二维数组有两种方法:

第一种:var_dump()函数来查看。
例如:

<?php
	//现在,str1还是一维数组
	$str1 = array("张三","index1"=>"王五","李六");
	//完成下面,str1就变成了二维数组,并且赋值。
	$str1 = array();
	$str1["张三"] = array("age"=>19,"sex"=>"female","height"=>180);
	$str1["王五"] = array("age"=>19,"sex"=>"male","height"=>186);
	$str1["李六"] = array("age"=>19,"sex"=>"female","height"=>150);

	//使用var_dump()可以输出一维数组也可以输出二维数组。
	var_dump($str1)
?>

第二种,使用json_encode()函数方法转换为json格式,这里的json格式和字符串格式差不多。
例如:

<?php
	//现在,str1还是一维数组
	$str1 = array("index0"=>张三","index1"=>"王五","index2"=>李六");
	//完成下面,str1就变成了二维数组
	$str1 = array();
	$str1["张三"] = array("age"=>19,"sex"=>"female","height"=>180);
	$str1["王五"] = array("age"=>19,"sex"=>"male","height"=>186);
	$str1["李六"] = array("age"=>19,"sex"=>"female","height"=>150);

	//使用json_encode()方法。
	$result = json_encode($str1);
	echo $result;
?>

4.php数组遍历

有两种方法:

第一种方法:
使用for循环和count()方法来,遍历数组

例如:

<?php
	$str1 = array("张三","王五","李六");
	//这里获得数组长度与JS不一样,这里使用的是count来获得数组长度。
	for($i=0;$i<count($str1);$i++){
		$temp = $str1[$i];
		echo $temp . "<br>";
	}
?>

上面的方法,只适合没有定义下标索引值的数组,而定义了下标索引值的数组,可以使用第二种方法来遍历。

第二种方法:
使用foreach()方法来遍历数组。推荐使用第二种方法来遍历数组。

例如:

<?php
	$str1 = array("index1"=>"张三","index2"=>"王五","index3"=>"李六");
	//foreach来遍历。
	foreach ($str1 as $key => $value) {
		echo $key . ">>>" . $value . "<br>";
	}
?>

5.php的函数

这里记录几个比较常见的函数。

1. print()只能打印出简单类型变量的值(如int,string)
2. print_r() 可以打印出复杂类型变量的值(如数组,对象)
3. var_dump()函数方法
4. json_encode()函数方法
5. count()函数方法

自定义函数:
和JS一样,使用function来声明:

function name(参数1,参数2 … ){
code;
}

6.php预定义变量:GET和Post请求

1.GET请求

下面直接做一个简简单单的登录系统和检验。

例如:

创建一个login.html

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>登录界面</title>

</head>
<body>
	<h1>登录界面</h1>
	//定义好属性active和method(get方法)
	<form action="chick.php" method="get">
		用户名:<input type="text" name="username"><hr>
		密码:<input type="password" name="password"><hr>
		<input type="submit" name="提交">
	</form>
</body>
</html>

对应上面的active方法,创建一个chick.php

$_GET[name]的使用是对应get最重要的方法.

<?php
	$username = $_GET["username"];
	$password = $_GET["password"];

	if ($username == "admin" && $password == "123") {
		echo "Login Success!!!";
	}else{
		echo "Login falied!!!";
	}
?>

注意:
Get请求,所传递的参数在网址的url后面,多个参数用&进行连接,如图下:

在这里插入图片描述

2.Post请求

同GET,做一个简单的登录小程序.

例如:

创建一个login.html,这里使用post方法

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>登录界面</title>

</head>
<body>
	<h1>登录界面</h1>
	<form action="chick.php" method="post">
		用户名:<input type="text" name="username"><hr>
		密码:<input type="password" name="password"><hr>
		<input type="submit" name="提交">
	</form>
</body>
</html>

同上,创建一个chick.php
$_POST[name]的使用是对应get最重要的方法.

<?php
	$username = $_POST["username"];
	$password = $_POST["password"];
	
	if ($username == "admin" && $password == "123") {
		echo "Login Success!!!";
	}else{
		echo "Login falied!!!";
	}
?>

Post请求和GET请求不一样,Post请求的参数信息放在请求头里面,看下图的From Data里面.
在这里插入图片描述

7.创建一个前端基本的学生查询成绩的程序

首先创建一个getScore.html文件:

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>查询学生成绩</title>
</head>
<body>
	<h1>请在下列输入框中输入学生的考号进行查询:</h1>
	<form action="result.php" method="get">
		输入考号:<input type="text" name="code">
		<input type="submit" name="查询">
	</form>
</body>
</html>

再创建一个result.php文件,做为一个处理文件,来返回结果.

<!-- 根据学生的考号查询数据库,得到数据之后进行返回 -->
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>学生成绩结果</title>
	<style type="text/css">
		ul{
			list-style: none;
			color: red;
		}
		.title{
			font-size: 20px;
		}
	</style>
</head>
<body>
<?php 

	//这里直接写一个二维的模拟的数据库,正常情况数据应该在数据库中获取,对应!!!
	
	$date = array();
	$date["123"] = array("name"=>"张三","语文"=>"111","英语"=>"150","数学"=>"150");
	$date["456"] = array("name"=>"张三","语文"=>"121","英语"=>"141","数学"=>"149");
	$date["789"] = array("name"=>"张三","语文"=>"131","英语"=>"140","数学"=>"149");

	$code = $_GET["code"];
	//查询数据库,这里查询上面的二维数组

?>
	<!-- 这里很有意思,array_key_exists判断是否存在!-->
	<!--php和html元素混合使用的判断形式要记住!!! -->
	<?php
		if (array_key_exists($code, $date)) {	 
			$result = $date[$code];
	 ?>
	 
	<div>
		<div class="title"><?php echo $result["name"]; ?>成绩如下</div>
		<ul>
			<li>语文:<?php echo $result["语文"]; ?></li>
			<li>数学:<?php echo $result["数学"]; ?></li>
			<li>英语:<?php echo $result["英语"]; ?></li>
		</ul>
	</div>

	<?php 
		} else{
	?>

	<div>该学生考号不存在!</div>

	<?php }  ?>
</body>
</html>

这里用的get方法,用post也是一样的,就是换相应的post方法和$_POST[name]的预定义变量,就行,一定要多读读,注释!!从而理解代码.

以上是关于PHP 介绍php的一些基本语法,配合wamp,跟着案例来学习GET和POST请求( 非常详细 )的主要内容,如果未能解决你的问题,请参考以下文章

PHP基础

wamp怎么用

手动配置wamp环境--PHP配置

WAMP 服务器不工作

WAMP服务器无法正常工作

PHP代码静态分析工具PHPStan