首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP在表单验证后将表单数据放回表单中

PHP在表单验证后将表单数据放回表单中
EN

Stack Overflow用户
提问于 2014-08-20 21:54:02
回答 3查看 239关注 0票数 1

我有一个联络表格,它的作用是contact.phpContact.php具有所有的表单验证。Index.php有表单。当我单击表单上的send,其中一个输入标记无效时,它会将我发回,并告诉我哪些输入标记被错误填充。问题是,所有正确的其他输入值现在都是空的。是否有一种方法可以使用$_GET保存输入标记的原始值?我会使用$_GET,但我有一个消息文本区域,最多可达1000个字符。我不想要URL中的1000个字符。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-08-20 22:05:52

为什么要在不包含表单的文件的函数中进行验证?您的验证应该在index.php中进行,然后可以使用$_POST。如果所有内容都经过,那么将用户重定向到下一页。

代码语言:javascript
复制
<input type="text" name="my_input" value="<?=isset($_POST['my_input']) ? $_POST['my_input'] : NULL?>

上面使用了一个三元操作符,并表示输入的值要么是此输入的$_POST值($_POST['my_input']),要么是NULL。决定它是一个还是另一个的决定因素是isset($_POST['my_input']是否是真的。

票数 0
EN

Stack Overflow用户

发布于 2014-08-20 22:12:25

您可以使用会话变量,因此在contact.php中可以设置例如$_SESSION['form_data'] = $_POST;,然后可以从index.php访问它。

或者,您可以使用一个jQuery验证器来验证表单提交之前的文本。

票数 1
EN

Stack Overflow用户

发布于 2014-08-20 22:09:07

single-page.php

代码语言:javascript
复制
<?php

if ($_POST['action'] === 'doit') {
    // Validation and other logic
    // Send email using $_POST['email'] etc.
}

?>

<form>
<input type="text" name="email" value="<?php echo $_POST['email'] ?>" />
<input type="hidden" name="action" value="doit" />
<input type="submit" value="Contact" />
</form>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25415057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档