第一个问题,所以请对我有耐心。
我正在为我的公司开发一个网站。我有一个HTML表单,它使用一个php文件给我发送用户输入的数据。但是用户被路由到一个丑陋的.php页面,其中包含一条简单的“谢谢”消息。
我的问题有几个部分。
发布于 2018-05-22 06:53:53
考虑到第一个问题是标准的,有一个“成功提交”的网页,看起来很漂亮和花哨,还是它是好的只是停留在该页的表格上?
不是必须有一个单独的页面来显示对最终用户的响应。实际上,这取决于您开发页面的场景。主要目的是为您网站的最终用户/访问者提供最佳的UI体验。如果有一些重要的信息,内容很大,那么最好在表单提交后在另一个页面中显示。如果这只是一条成功消息,那么在表单提交并在那里显示响应消息之后,保持在同一个页面上是很好的。
现在谈问题2和问题3
如果可以保留,我如何执行php代码来发送数据而不离开页面?
此外,如果我停留在页面上,如何在页面上显示这样的信息:“谢谢,您的表单已经提交了”?
您可以使用ajax完成它。在jquery的帮助下,您可以更简单地使用
$.ajax函数
例:
$("#formbutton").click(function(){
$.ajax({
type: "POST", // method
url: "savecontact.php", // call to external php file
data: {name:n,contact:c}, // passing variables to php file
success: function(result) {
// get the response after ajax call is successful
},
complete: function(result){
}
});
});现在,在savecontact.php中编写必要的代码(通常要插入到表中的php代码)来保存数据并返回响应。
例如:
result = mysqli_query("INSERT INTO table (NAME ) VALUES ('val')"));
if($result)
{
echo "Success";
exit;
}
else
{
echo "Error";
exit;
}执行ajax调用后,ajax调用的内部成功函数将得到响应(成功或错误),并在此基础上将消息显示到空div中,该div通常位于表单的上方。
success: function (response) {
if(response == "Success"){
$("#div").html("Thanks, your form was submitted");
}
else{
$("#div").html("Issue with form submission.Please try again");
}
}适当的消息将在表单提交后显示为ajax响应。
发布于 2018-05-22 05:46:08
它通常是基于你的喜好。
对我来说,我通常包括我的验证脚本在操作页(重定向到一个空白页暂时)。我将post变量保存到会话中,以便以后重新加载表单。如果出现错误,则将错误消息保存在会话变量中,然后重定向到窗体页。在我的表单中,我在每个输入元素中包含了这个片段。
value=<?php if isset($_SESSION['var_name']){echo $_SESSION['var_name'];}?>但是,如果数据是有效的,我将执行某些内容(数据库插入、邮件等)。在重定向到我的登陆页面(通常是主页)之前。
要正确回答你的三个问题:
发布于 2018-05-22 05:53:59
答:如果你表示感谢,那就太好了!如果页面也有其他内容,则在同一页上发送消息。
答:您可以使用AJAX向服务器发送异步请求,并在表单中填写数据。
3.此外,如果我停留在页面上,如何在页面上显示这样的信息:“谢谢,您的表单已经提交了”?
答:一旦您从AJAX获得成功响应,您可以使用“谢谢”消息更改HTML代码,如果在提交表单时出现错误,则可以在同一页上显示该错误,而无需刷新页面。
https://stackoverflow.com/questions/50460502
复制相似问题