0

我想做这个表格:

echo '<form method="post" action="ratinghandler.php" style="width: 250px">
                <input type="hidden" name="reference" value= "$id"/>
                <select name="rating" style="width: 115px">
                <option> Rate </option>
                <option>1 Bad</option>
                <option>2</option>
                <option>3</option>
                <option>4</option>
                <option>5 Average</option>
                <option>6</option>
                <option>7</option>
                <option>8</option>
                <option>9</option>
                <option value="10">10 Best</option>
                </select><input name="submit1" type="submit" value="Submit Rating" /></form>';

值得注意的部分是隐藏的药水。echo $_POST[reference] 的处理程序页面中的输出是简单的 $id(与存储在 $id 中的值相反)。

我试图将该行更改为:

<input type="hidden" name="reference" value= "<? echo $id ?>"/>

我想我在做一些相当愚蠢的事情——但我搜索并没有看到任何直接解决这个问题的东西,所以我认为可以问一下。

4

1 回答 1

2

使用此语法:

<input type="hidden" name="reference" value= "'. $id .'"/>

当您将单引号与 echo 一起使用时,您无法插入变量。由于字符串中有很多双引号,因此使用了单引号。您可以使用点运算符断开字符串并连接您的变量。您还可以使用逗号运算符来避免字符串连接。

如果你使用双引号,你可以把它留$id在里面,它会被插值,但你必须转义字符串中的所有双引号。

最后,您可以使用 HEREDOC 来允许双引号和插值:

echo <<<EOF
<form method="post" action="ratinghandler.php" style="width: 250px">
            <input type="hidden" name="reference" value= "$id"/>
            <select name="rating" style="width: 115px">
            <option> Rate </option>
            <option>1 Bad</option>
            <option>2</option>
            <option>3</option>
            <option>4</option>
            <option>5 Average</option>
            <option>6</option>
            <option>7</option>
            <option>8</option>
            <option>9</option>
            <option value="10">10 Best</option>
            </select><input name="submit1" type="submit" value="Submit Rating" />    
</form>
EOF;
于 2012-06-15T23:58:33.940 回答