Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在表单成功提交后显示消息_Php_Html_Forms - Fatal编程技术网

Php 如何在表单成功提交后显示消息

Php 如何在表单成功提交后显示消息,php,html,forms,Php,Html,Forms,我有一个用PHP处理的HTML表单。我想显示一条消息,让用户知道表单已成功提交。现在我不介意页面是否重新加载。我只想“成功!”提交表单后显示的消息 任何帮助都会很好 PHP HTML 而不是: header('Location: index.php#c'); 转到: header('Location: ' . $_SERVER['REQUEST_URI'] . '?success=1'); 然后添加: if (isset($_GET['success'])) print 'Messag

我有一个用PHP处理的HTML表单。我想显示一条消息,让用户知道表单已成功提交。现在我不介意页面是否重新加载。我只想“成功!”提交表单后显示的消息

任何帮助都会很好

PHP


HTML


而不是:

header('Location: index.php#c');
转到:

header('Location: ' . $_SERVER['REQUEST_URI'] . '?success=1');
然后添加:

if (isset($_GET['success'])) print 'Message sent!';

任何你想要的地方。

$\u GET
都可以工作,但如果他们在历史记录中重新访问链接(单击历史记录、返回浏览器或刷新),它将始终存在

您可以在成功后设置一个
$\u会话
,然后重定向到另一个页面(例如,Thanke.php)

在Thanky.php中,如果设置了会话,无论您希望使用什么标准,都会将与会话中的数据相关的消息回显出来

然后取消会话

这样,如果他们单击一个链接并返回到Thanke.php页面,您的脚本将显示未设置的会话,因此可以生成一条通用消息:

本页用于确认发送资料。你在这里就像你在这里一样 刷新页面或使用浏览器后退按钮。作为 安全程序,一旦发送和确认,我们将清除数据等


刷新Thanke.php、处理GET数据等都不会起任何作用。会话未设置,他们会收到友好的通用消息

不用重定向到其他页面,你可以显示一条消息。谢谢你的评论。我该怎么做呢?谢谢!这成功了!但是,现在页面将重新加载到页面顶部。“我的网站”是一个单页网站,单击每个菜单项可进入页面的不同部分。我的联系方式在最下面。当页面重新加载时,我将如何返回到相同的联系人部分,或者更好的是,只显示消息而不重新加载?谢谢。好的,
#
操作员告诉网页向下滚动到该ID。这样您就可以实际放置
标题('Location:'.$\u SERVER['REQUEST\u URI']。?success=1#c')刷新后,页面将向下滚动到该部分。然后在该部分中,您可以打印成功消息。另一个选项是不使用标题重定向,而只是打印一条消息,类似于
die('谢谢,您的消息已经发送。按BACK返回')非常感谢!这是非常有效的。我还有一个问题。提交表单时出现错误,例如必填字段为空,则页面将重新加载到页面顶部,而不是重新加载到页面的同一部分,以便用户可以看到错误消息。我认为它以前是这样工作的,但是新的代码可能已经改变了一切。非常感谢。
header('Location: index.php#c');
header('Location: ' . $_SERVER['REQUEST_URI'] . '?success=1');
if (isset($_GET['success'])) print 'Message sent!';