PHP 新手入门指南 - PHP & HTML

2017-06-16  本文已影响48人  chansey

让我们来了解一下 PHP 和 HTML 是如何一起愉快的玩耍的。

小实践

在工作目录下新建一个 index.php 文件,内容如下:

// ~/project/index.php
<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>Document</title>
</head>
<body>
   
</body>
</html>

这是一个简单的 HTML 编码模版。

接下来我们添加一些新的页面元素和样式,让 HTML 内容更丰富一点。

// ~/project/index.php
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        header {
            background: #e3e3e3;
            padding: 2em;
            text-align: center;
        }
    </style>
</head>
<body>
    <header>
        <h1>Hello, World!</h1>
    </header>
</body>
</html>

接下来引入 PHP 代码。将 header 标签下的内容替换如下:

<header>
    <h1>
        <?php echo "Hello, " . $_GET['name']; ?>
    </h1>
</header>

打开终端运行:php -S localhost:8000
打开浏览器地址栏访问:http://localhost:8000?name=Jacob

即可见到当前网页的运行效果。

你可以能已经发现,上面代码中的 $_GET['name'] 就是从地址栏中的参数 name 中获取内容,然后通过输出代码将其显示在了网页上。这里 name 是参数名称,你可以换成其它的参数名。

需要提到的是,将用户输入的内容(这里是通过 $_GET 参数获取的内容)直接输出到页面上不是好习惯,可能会产生安全风险(可以了解 XSS 相关信息)。

比如当地址栏输入:

http://localhost:8000/?name=%3Ca%20href=%22http://google.com%22%3EGoogle%3C/a%3E

内容会显示成为 HTML 链接而不是相应的文字。

通常的做法是进行转义,就像这样:

<?php echo "Hello, " . htmlspecialchars($_GET['name']); ?>

这样,页面就会输出获取的原始内容,而不会被浏览器当作代码执行。

额外补充一下

通常 PHP 与 HTML 混合时,嵌入的 PHP 代码都以 <?php 开始 ,以 ?> 结束,如下:

<?php echo "Hello, " . $_GET['name']; ?>

如果你的文件单纯的编写 PHP 的代码,可以不用结束标签,代码末尾可以省略 ?>,有和有没有都可以。如下:

// ~/path/your-php-file.php
<?php

// 编写你的 PHP 代码 ......
?>
上一篇下一篇

猜你喜欢

热点阅读