下面的表单可以是函数的一部分吗?我想知道它是否可能无法成为函数的一部分,因为它有变量。
提前致谢,
约翰
echo '<form action="http://www...com/sandbox/comments/comments2.php" method="post">
<input type="hidden" value="'.$_SESSION['loginid'].'" name="uid">
<input type="hidden" value="'.$submissionid.'" name="submissionid">
<input type="hidden" value="'.$submission.'" name="submission">
<input type="hidden" value="'.$url.'" name="url">
<input type="hidden" value="'.$submittor.'" name="submittor">
<input type="hidden" value="'.$submissiondate.'" name="submissiondate">
<input type="hidden" value="'.$countcomments.'" name="countcomments">
<input type="hidden" value="'.$dispurl.'" name="dispurl">
<label class="addacomment" for="title">Add a comment:</label>
<textarea class="commentsubfield" name="comment" type="comment" id="comment" maxlength="1000"></textarea>
<div class="commentsubbutton"><input name="submit" type="submit" value="Submit"></div>
</form>
';
答案 0 :(得分:1)
您可以在以下功能中使用该代码:
或
答案 1 :(得分:0)
将表单参数传递给函数有三种基本选择:
通常情况下,只有#2会让你的头发不被你自己或其他人拉出来。基本设置将类似于:
function show_form($args) {
echo <<<EOL
<form action="yada yada">
<input type="..." name="field1" values="{$args['field1']}" />
<input type="..." name="field2" values="{$args['field2']}" />
etc...
</form>
EOL;
}
$form_args = array(
'field1' => $field1,
'field2' => $field2,
etc...
)
show_form($form_args);
请注意,我使用HEREDOC生成表单文本。处理比构建串联字符串要容易得多。它使您免于担心转义引号。
如果此表单处理潜在的恶意用户,您需要事先通过htmlspecialchars()
传递所有值,以防止某些HTML注入攻击。您可以在表单构建函数中或在构建参数数组时执行此操作。
评论后续:
在此示例中,您将构建名为“form_args”的数组来存储表单的所有字段数据。我只是称它们为“field1”,“field2”等...你将那些$ form_args数组作为参数传递给show_form()函数。在函数中,它通过自己的私有小“$ args”数组副本访问该数据。
在表单中,符号{$args['field1']}
仅表示“在$ args数组中查找其键为'field1'的条目,并将其匹配值插入到此处生成的HTML中。大括号({{在这种情况下,1}}}并不是绝对必要的,但无论如何都可以被认为是好的做法。在线在线手册的Arrays条目中有更多细节