将php变量作为隐藏输入传递,其中html包含在一个echo

时间:2016-11-05 15:10:48

标签: php html

我是PHP的新手,还在学习。

<?php
if(isset($_POST['btnLogin'])){
    $myVariable = $_POST['fieldParameter'];

    if(condition){
        //do something
    }else{

      echo "  
        <form method='POST' action='submit.php'><br/>       
          <input type='hidden' name='myVariable' value='<?php echo $myVariable; ?>'/>
          <br/>
          <input type='submit' name='btnSubmit' id='submit' value='Submit'>
        </form>

          ";
        }
}
?>

请注意,变量$myVariable包含在主IF块中。我正在尝试将$myVariable的值发送到 submit.php 作为隐藏字段。

此外,我使用带有双引号的echo语句附上所有html标记。

我在SO中找到了相关问题,但找不到类似于php echohtml代码中嵌入value='<?php echo $studentNo; ?>'的问题

我试图将<?php $aVariable = $_POST['myVariable']; echo $aVariable; ?> 置之不成。

我想在 submit.php 这样的文件中访问它,

submit.php

$myVariable

如何将{type: { renderer : function (instance, TD, row, col, prop, value, cellProperties) { Handsontable.TextCell.renderer.apply(this, arguments); var cr,prc; cr = instance.getDataAtCell(row, 0); prc = instance.getDataAtCell(row, 1); $.ajax({ url: "php/act-go-t.php", data: {cars: cr, price: prc}, dataType: 'json', type: 'POST', success: function (res) { if (res.result[0].tax === null) { TD.innerHTML = '0.000'; } else { TD.innerHTML = res.result[0].tax; } }, error: function () { TD.innerHTML = '0.000'; } }); }}} 中包含的值作为隐藏字段传递?我使用双引号和单引号的方式有问题吗?

谢谢。

2 个答案:

答案 0 :(得分:4)

如果您已经回复了一个字符串,则不应该再将<?php echo "" ?>放入其中。你应该连接你的字符串。但在你的情况下,你甚至不需要这样做,因为你使用双引号进行回音,这意味着你只需在其中编写变量即可。

echo "<form method='POST' action='submit.php'><br/>       
      <input type='hidden' name='myVariable' value='$myVariable;'/>
      <br/>
      <input type='submit' name='btnSubmit' id='submit' value='Submit'>
    </form>";

如果您使用echo的单引号,它将如下所示:

echo '<form method="POST" action="submit.php"><br/>
    <input type="hidden" name="myVariable" value="' . $myVariable . '"/><br/>
    <input type="submit" name="btnSubmit" id="submit" value="Submit">
</form>';

答案 1 :(得分:0)

您只需输入$ myVariable而不是字符串。双引号“”仅创建一个字符串文字。它不直接输出内联HTML等数据。正如您在StackOverflow中的语法着色中所看到的那样

您可以尝试这些变体(简化):

// code before
echo "<input type='hidden' name='myVariable' value='$myVariable'/>";
// code after

// OR //

// code before
?>
<input type='hidden' name='myVariable' value='<?= $myVariable ?>'/>
<?php
// code after

请注意,您在HTML中使用的引号不会影响PHP,只要您正确转义它们(在适当情况下使用\"\'。)