【问题标题】:Related to Printing HTML using PHP [closed]与使用 PHP 打印 HTML 相关 [关闭]
【发布时间】:2014-12-21 01:13:16
【问题描述】:

我正在尝试用 php 变量填充隐藏属性。

echo"<form method=\"get\" action=\"page2.php\">";
echo "<input type=\"hidden\" name=\"varname\" value=\"var_value\">";
echo"<span class=\"Icon Icon--delete Icon--large\"> </span>";
echo "<input type=\"Submit\" value=\"Delete\" style=\" background: transparent; border: 0;      font-family: Tahoma;   border-radius: 4px; width: 50px; height:30px;\">";
echo"</form>";

在上面的代码中代替var_value我想要一个像$task["id"]这样的php变量,我试着把它写成

echo "<input type=\"hidden\" name=\"varname\" value=\" "; . $task["id"]; echo "\">";

....但它不起作用,我该怎么办?感谢您的帮助。

【问题讨论】:

  • 我知道内联样式不好。
  • 这很丑,如果你继续这样发展,迟早会更丑。将表示与逻辑分开,不要回显 HTML。
  • @Ali 感谢您的指导。但是在我必须显示我收到的作为 json 响应的项目​​列表的情况下,如何避免 echo ?请提供一些链接,以便我可以学习更好的方法。谢谢。

标签: php html forms web


【解决方案1】:

你已经使用过 echo 就这样做了……

echo "<input type=\"hidden\" name=\"varname\" value=\" ". $task["id"]. "\">";

如果尝试打印类似 if 条件使用的值

echo "<input type=\"hidden\" name=\"varname\" value=\" ". (($task["id"] != "")?'$task["id"]':"empty id"). "\">";

尝试在 HTML 中使用 PHP

<input type="hidden" name="varname" value=" <? echo $task["id"];?> " \>;

【讨论】:

    【解决方案2】:

    尝试字符串连接:

    echo "<input type=\"hidden\" name=\"varname\" value=\"" . $task["id"] ."\">";
    

    或多重回声:

    echo "<input type=\"hidden\" name=\"varname\" value=\""; echo $task["id"]; echo "\">";
    

    单引号呢?

    echo '<input type="hidden" name="varname" value="' . $task['id'] . '">';
    

    【讨论】:

    • 感谢它现在正在工作。我的错误是由于 value\ 后面的一个空格,对吗?再次感谢。
    • 不,不是因为“值后的空格”,而是因为您打印的是 html 内容而不是 $task["id"]
    • @Ronser,谢谢我知道了。
    【解决方案3】:

    由于您已经在 echo 语句的 echo 字符串中,您需要做的就是将字符串连接为:

     echo "<input type=\"hidden\" name=\"varname\" value=\"" . $task["id"] . "\">";
    

    或者,您可以按原样输出纯 html 代码,只打开 php 标签以输出所需的变量:

    <input type="hidden" name="varname" value="<?php echo $task["id"];?>">
    

    这使代码看起来更干净,并允许您使用的 IDE 将 html 标记作为 html 并且通过所有引号转义和混合 html/php 代码更容易发现错误

    【讨论】:

      【解决方案4】:

      使用字符串连接!像这样:

      <?php
      
          echo '<form method="get" action="page2.php">';
              echo '<input type="hidden" name="varname" value="' . $task["id"] . '">';
              echo '<span class="Icon Icon--delete Icon--large"></span>';
              echo '<input type="Submit" value="Delete" style=" background: transparent; border: 0;      font-family: Tahoma;   border-radius: 4px; width: 50px; height:30px;">';
          echo '</form>';
      ?>
      

      【讨论】:

        【解决方案5】:

        让它更干净

        关闭表单前的php tag

        ?>
        
        <form method="get" action="page2.php">
            <input type="hidden" name="varname" value="var_value">
        <span class="Icon Icon--delete Icon--large"> </span>
        <input type="Submit" value="Delete" style=" background: transparent; border: 0;      font-family: Tahoma;   border-radius: 4px; width: 50px; height:30px;">
        </form>
        
        
        <input type="hidden" name="varname" value="<?php echo $task["id"]?> ">
        

        【讨论】:

          【解决方案6】:

          printf 呢?

          <?php $myvar = 'hi'; ?>
          
          <form method="get" action="page2.php">
            <?php printf('<input type="hidden" name="varname" value="%s" />', htmlspecialchars((string)$myvar)); ?>
          
            <span class="Icon Icon--delete Icon--large"> </span>
            <input type="Submit" value="Delete" style=" background: transparent; border: 0;      font-family: Tahoma;   border-radius: 4px; width: 50px; height:30px;">
          </form>
          

          结果

          <form method="get" action="page2.php">
            <input type="hidden" name="varname" value="hi &amp; I use quote &quot; too" />
            <span class="Icon Icon--delete Icon--large"> </span>
            <input type="Submit" value="Delete" style=" background: transparent; border: 0;      font-family: Tahoma;   border-radius: 4px; width: 50px; height:30px;">
          </form>
          

          通过使用htmlspecialchars,您还可以确保HTML 无论您写什么都是有效的。
          检查eval'd code 并对其进行调整

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-07-08
            • 1970-01-01
            • 1970-01-01
            • 2015-02-04
            • 2013-05-31
            • 2016-07-04
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多