$ _POST在heredoc php中

时间:2014-11-09 15:16:12

标签: php heredoc

我需要在提交后显示“名称”值。我的代码不起作用。 我知道,最简单的方法就是使用“ echo $ _POST [”name“] ”,但任务是了解“heredoc”的工作原理。我刚开始学习PHP。这里有错吗?

的test.html

<!DOCTYPE html>
<html>
<body>

<form action="test.php" method="post">

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

    <input type="submit">

</form>

</body>
</html>

test.php的

<!DOCTYPE html>
<html>
<body>

<?php

    $y = <<<HERE
        $_POST["name"]
HERE;

    echo $y;
?>

</body>
</html>

2 个答案:

答案 0 :(得分:4)

你需要使用花括号。

$y = <<<HERE
    {$_POST["name"]}
HERE;

与您刚创建字符串

时的情况相同
$y = "Name = {$_POST['name']}";

在此处详细了解:http://php.net/manual/en/language.types.string.php。查找名为Complex(卷曲)语法的部分。

答案 1 :(得分:3)

Yo不能直接在heredoc语句中使用对数组的引用。你必须将它括在花括号

之间
$y = <<<HERE
   {$_POST["name"]}
HERE;

$name = $_POST["name"];
$y = <<<HERE
   $name
HERE;