-1

我想将我的表单放在一个 $variable 中,但我遇到了错误。

将这些表格放在单个变量中的正确格式是什么:

<form method="post" action="?pageid=C_beheer&amp;cmd=edit&id=<?php echo $events['ID']; ?>&month=<?php echo $month?>&day=<?php echo $day?>&year=<?php echo $year?>">
<input type="hidden" name="up_event_id" id="event_id" value="<?php echo $events['kalenderID']; ?>">
<input type="submit" name="edit"  value="Edit">
</form>

$formEdit = "这里发布代码";

我知道所有的 " 应该被 \ 转义并删除 PHP 关闭/打开标签,但是我需要用帖子中的 $variables 做什么?

4

3 回答 3

3
$formEdit = "<form method=\"post\" action=\"?pageid=C_beheer&amp;cmd=edit&id=".$events['ID']."&month=".$month."&day=".$day."&year=".$year."\">";

用作.字符串连接的运算符。
我省略了您的输入,仅使用了开始的表单标签作为示例,但您可以轻松地为自己添加其余的标签。

于 2013-11-13T13:18:28.480 回答
0

如果您不想担心转义一堆 HTML 字符,则可以使用ob_start()和使用缓冲区来创建变量:ob_get_clean()

<?php ob_start(); ?>
<form method="post" action="?pageid=C_beheer&amp;cmd=edit&id=<?php echo $events['ID']; ?>&month=<?php echo $month?>&day=<?php echo $day?>&year=<?php echo $year?>">
<input type="hidden" name="up_event_id" id="event_id" value="<?php echo $events['kalenderID']; ?>">
<input type="submit" name="edit"  value="Edit">
</form>
<?php $form = ob_get_clean(); ?>

本质上ob_start()打开输出缓冲,随后回显的任何内容都被捕获在缓冲区中。 ob_get_clean()两者都返回缓冲区的内容并清理它(基本上只做两者ob_get_contents()ob_end_clean())。

当我需要在变量中存储大量 HTML 时,我喜欢使用这种方法。

于 2013-11-13T13:20:18.887 回答
0

反斜杠字符在 HTML 中没有任何特殊含义。但是您当然不必手动转义

您在代码的静态部分也有无效的 HTML:

cmd=edit&id=
        ^

你在其他部分做对了:

?pageid=C_beheer&amp;cmd=edit
                ^^^^^
于 2013-11-13T13:19:42.903 回答