:-: 一、从静态资源到动态内容

1、从txthtml

国产好剧

1. 少年派
2. 带着爸爸去留学
3. 亲爱的, 热爱的
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>国产好剧</title>
</head>
<body>
<h2>国产好剧</h2>
<ul>
    <li><a href="">少年派</a></li>
    <li><a href="">带着爸爸去留学</a></li>
    <li><a href="">亲爱的, 热爱的</a></li>
</ul>
</body>
</html>

2、从htmlphp

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>国产好剧</title>
</head>
<body>
<h2><?php echo '国产好剧'; ?></h2>
<ul>
    <li><a href=""><?php echo '少年派' ?></a></li>
    <li><a href=""><?php echo '带着爸爸去留学' ?></a></li>
    <li><a href=""><?php echo '亲爱的, 热爱的' ?></a></li>
</ul>
</body>
</html>

[info] php代码的详细解析过程

3、php适合生成动态内容

[info] 对于动态内容,最直观的想法就是,把页面内容保存到变量中

<?php
    // 创建二个变量来保存页面中的动态内容
    $headline = '国产好剧';
    $movies = ['少年派', '带着爸爸去留学','亲爱的, 热爱的'];
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title><?php echo $headline; ?></title>
</head>
<body>
<h2><?php echo $headline; ?></h2>
<ul>
    <li><a href=""><?php echo '少年派' ?></a></li>
    <li><a href=""><?php echo '带着爸爸去留学' ?></a></li>
    <li><a href=""><?php echo '亲爱的, 热爱的' ?></a></li>
</ul>

<!--对于数组,循环遍历更方便-->
<?php
    // 数组可使用foreach()语句输出
    // foreach( $array as $key=>$value) {...}
    foreach ($movies as $key=>$value) {
        echo $key+1 . ': ' . $value . '<br>';
    }
    // 将php与html代码混编的时候,大括号很容易造成配对错误,最好杜绝它
    // 所以php的流程控制语句, 都提供了替代语法,用冒号代替大括号
    // php是最优秀, 最原生的模板语言, 替代语法,让php更加的优雅的与html生活在一起
?>

<hr>
<!--使用 php 输出 html-->
    <?php
        echo '<ul>';
        foreach ($movies as $key=>$value) {
           echo '<li><a href="">' . ($key+1) . ': ' . $value . '</a></li>';
        }
        echo '</ul>';
    ?>
<hr>

<!--使用 php + html 混编, -->
<ul>
    <?php foreach ($movies as $key=>$value) { ?>
        <li><a href=""><?php echo ($key+1) . ':' . $value; ?></a></li>
    <?php } ?>
</ul>
<hr>

<!--php是天生最优秀的模板语言-->
<!--使用foreach替代语法,干掉大括号, 将大括号用冒号代替-->
<ul>
    <!--使用php循环结构的替代语法-->
    <?php foreach ($movies as $movie): ?>
        <li><a href=""><?php echo $movie; ?></a></li>
    <?php endforeach;?>
</ul>
</body>
</html>

:-: 二、http请求类型

最常用的就是GETPOST二种请求类型

1、GET 请求

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>get</title>
	</head>
	<body>
		<form action="" method="get">
			<label for="email">邮箱:</label>
			<input type="email" id="email" name="email" value="">
			<label for="password">密码:</label>
			<input type="password" id="password" name="password" value="">
			<br/>

			<!--将用户输入的内容动态添加到value字段中, 创建具有粘性的表单-->
			<label for="email">邮箱:</label>
			<input type="email" id="email" name="email" value="<?php echo isset($_GET['email']) ? $_GET['email'] : ''; ?>">
			<label for="password">密码:</label>
			<input type="password" id="password" name="password" value="<?php echo isset($_GET['password']) ? $_GET['password'] : '';?>">
			<br/>

			<!--简易写法-->
			<label for="email">邮箱:</label>
			<input type="email" id="email" name="email" value="<?php echo $_GET['email'] ?? ''; ?>">
			<label for="password">密码:</label>
			<input type="password" id="password" name="password" value="<?php echo $_GET['password'] ?? ''; ?>">

			<button>登录</button>
		</form>
	</body>
</html>

<?php
	// 获取通过url发送的变量参数, php通过超全局变量$_GET获取
	// $_GET是一个数组,键名就是get参数名
	// 键名=>变量名, 值=>变量值

	// print_r()格式化打印输出一个数组
	print_r($_GET);
	echo $_GET['email'];

	// 获取变量之前要进行判断,用isset()
	if (isset($_GET['email'])) {
		echo $_GET['email'];
	} else {
		// 给个默认值
		$_GET['email'] = '';
	}
	// 与js类似,可以用三元运算符进行简化
	echo isset($_GET['email']) ? $_GET['email'] : '';

	// 使用<pre>标签,在网页中可以实现格式化输出
	echo '<pre>';
	print_r($_GET);
?>

2、POST 请求

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>post</title>
	</head>
	<body>
		<form action="" method="post">
			<label for="email">邮箱:</label>
			<!--将用户输入的内容动态添加到value字段中, 创建具有粘性的表单-->
			<input type="email" id="email" name="email" value="<?php echo isset($_POST['email']) ? $_POST['email'] : ''; ?>">
			<label for="password">密码:</label>
			<input type="password" id="password" name="password" value="<?php echo isset($_POST['email']) ? $_POST['email'] : '';?>">

			<button>登录</button>
		</form>
	</body>
</html>

<?php
	// POST请求, 参数不是通过URL传递, 而是通过请求头
	// 获取通过url发送的变量参数, php通过超全局变量$_POST获取
	// $_POST是一个数组,键名就是POST参数名
	// 键名=>变量名, 值=>变量值

	// print_r()格式化打印输出一个数组
	print_r($_POST);
	echo $_POST['email'];
	// 获取变量之前要进行判断,用isset()
	if (isset($_POST['email'])) {
		echo $_POST['email'];
	} else {  // 给个默认值
		$_POST['email'] = '';
	}
	// 与js类似,可以用三元运算符进行简化
	echo isset($_POST['email']) ? $_POST['email'] : '';

	// 使用<pre>标签,在网页中可以实现格式化输出
	echo '<pre>';
	print_r($_POST);
?>