简单Php回音

简单Php回音,php,forms,submit,echo,Php,Forms,Submit,Echo,我刚刚开始学习php,在按下submit按钮甚至锚定标记后,如何启动echo语句 这是到目前为止我的代码 form name="myform" method="get" actions="madlib01.php" Name: <input type="text" name="name" /> <br /> <input type="submit" name="submit" /> formname=“myform”method=“get”

我刚刚开始学习php,在按下submit按钮甚至锚定标记后,如何启动echo语句

这是到目前为止我的代码

form name="myform" method="get" actions="madlib01.php"

 Name: <input type="text" name="name" /> <br />


     <input type="submit" name="submit" />
formname=“myform”method=“get”actions=“madlib01.php”
名称:
形式


您首先需要检查PHP是否已使用或收到GET参数:

或:

另外请注意,如果您提交到同一页面,您可以从表单标记中完全省略
操作
属性:

<form method="GET">

您首先需要检查PHP是否已使用或收到GET参数:

或:

另外请注意,如果您提交到同一页面,您可以从表单标记中完全省略
操作
属性:

<form method="GET">

表单标签的正确属性是“action”,而不是“actions”

提交表单时,会向服务器发送一个新请求(在您的情况下,使用GET)

因此,要在一页中完成这一切:

form.php:

<form action="form.php" method="GET">
<input type="text" name="name"/>
<input type="submit">
</form>

<?PHP
if (! empty($_GET['name'])){
   echo 'Hello, ' . $_GET['name'];
}
?>

表单标签的正确属性是“action”,而不是“actions”

提交表单时,会向服务器发送一个新请求(在您的情况下,使用GET)

因此,要在一页中完成这一切:

form.php:

<form action="form.php" method="GET">
<input type="text" name="name"/>
<input type="submit">
</form>

<?PHP
if (! empty($_GET['name'])){
   echo 'Hello, ' . $_GET['name'];
}
?>

回声$hello

您刚刚获得了一个HTML注入漏洞。如果有人将您的用户发送到:

http://www.example.com/madlib01.php?name=<script>stealYourCookies()</script>
我倾向于用比“htmlspecialchars”更短的名称来定义一个函数,因为我很懒

<?php
    function h($text) {
        echo(htmlspecialchars($text, ENT_QUOTES));
    }
    $name= '';
    if (isset($_REQUEST['name']))
        $name= trim($_REQUEST['name']);
?>

...

<?php if ($name!=='') { ?>
    <p> Hello, <?php h($name); ?>! </p>
<?php } ?>

<form method="get" action="madlib01.php">
    <p>
        <label for="namefield">Name:</label>
        <input id="namefield" type="text" name="name" />
    </p>
    <p>
        <input type="submit" />
    </p>
</form>

...
你好

姓名:

现在,如果你说你的名字是Mister,那么页面会像这样欢迎你,尖括号等等,而不是试图运行JavaScript。这是正确的输出,因此也是安全的

回声$hello

您刚刚获得了一个HTML注入漏洞。如果有人将您的用户发送到:

http://www.example.com/madlib01.php?name=<script>stealYourCookies()</script>
我倾向于用比“htmlspecialchars”更短的名称来定义一个函数,因为我很懒

<?php
    function h($text) {
        echo(htmlspecialchars($text, ENT_QUOTES));
    }
    $name= '';
    if (isset($_REQUEST['name']))
        $name= trim($_REQUEST['name']);
?>

...

<?php if ($name!=='') { ?>
    <p> Hello, <?php h($name); ?>! </p>
<?php } ?>

<form method="get" action="madlib01.php">
    <p>
        <label for="namefield">Name:</label>
        <input id="namefield" type="text" name="name" />
    </p>
    <p>
        <input type="submit" />
    </p>
</form>

...
你好

姓名:


现在,如果你说你的名字是Mister,那么页面会像这样欢迎你,尖括号等等,而不是试图运行JavaScript。这是正确的输出,因此也是安全的。

magic quotes“Hello$Name”不受欢迎,因为它们在以后的php@JonathanFingland,magic quotes是PHP用来自动转义数据的——karim79的例子与此无关不鼓励使用,因为它们在的未来版本中已被弃用php@JonathanFingland,magic quotes是PHP用来自动转义数据的东西-karim79的例子与此无关。+1表示h()函数。在Ruby中也有(你可能知道)+1表示h()函数。他们在Ruby中也有这样的功能(你可能知道),你试图在按下按钮后立即显示回声。使用PHP无法做到这一点,它是一种服务器端技术。尝试JavaScript或其他客户端技术。您试图在按下按钮后立即显示回显。使用PHP无法做到这一点,它是一种服务器端技术。尝试JavaScript或其他客户端技术。