美文网首页
PHP 新手入门指南 - PHP & HTML

PHP 新手入门指南 - PHP & HTML

作者: chansey | 来源:发表于2017-06-16 17:44 被阅读48次

    让我们来了解一下 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 代码 ......
    ?>
    

    相关文章

      网友评论

          本文标题:PHP 新手入门指南 - PHP & HTML

          本文链接:https://www.haomeiwen.com/subject/ttsmqxtx.html