【问题标题】:html forms with php variables带有 php 变量的 html 表单
【发布时间】:2012-06-15 23:57:09
【问题描述】:

我想做这个表格:

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 ?>"/>

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

【问题讨论】:

  • 两个字:变量插值。当您使用单引号作为分隔符时,您没有它。我建议改用 HEREDOC 语法; this page 肯定会有所帮助。

标签: php html forms variables echo


【解决方案1】:

使用这个语法:

<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;

【讨论】:

  • +1 但更好的是,将那些. 点更改为, 逗号,完全避免字符串连接:) 在输出整个内容时无需连接字符串。您可以一个接一个地输出它们。
  • 相当肯定 &lt;input type="hidden" name="reference" value= "'. $id .'"/&gt; 需要 &lt;?php?&gt; 或者你只需​​添加一个字符串
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-17
  • 2015-05-22
  • 1970-01-01
  • 2014-03-18
相关资源
最近更新 更多