首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTML/PHP表单提交(之后该做什么)

HTML/PHP表单提交(之后该做什么)
EN

Stack Overflow用户
提问于 2018-05-22 05:37:11
回答 4查看 471关注 0票数 2

第一个问题,所以请对我有耐心。

我正在为我的公司开发一个网站。我有一个HTML表单,它使用一个php文件给我发送用户输入的数据。但是用户被路由到一个丑陋的.php页面,其中包含一条简单的“谢谢”消息。

我的问题有几个部分。

  1. 这是标准有一个“成功提交”页面,看起来很漂亮和花哨,还是它是好的只是停留在页面上的表单?
  2. 如果可以保留,我如何执行php代码来发送数据而不离开页面?
  3. 此外,如果我停留在页面上,如何在页面上显示这样的信息:“谢谢,您的表单已经提交了”?
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-05-22 06:53:53

考虑到第一个问题是标准的,有一个“成功提交”的网页,看起来很漂亮和花哨,还是它是好的只是停留在该页的表格上?

不是必须有一个单独的页面来显示对最终用户的响应。实际上,这取决于您开发页面的场景。主要目的是为您网站的最终用户/访问者提供最佳的UI体验。如果有一些重要的信息,内容很大,那么最好在表单提交后在另一个页面中显示。如果这只是一条成功消息,那么在表单提交并在那里显示响应消息之后,保持在同一个页面上是很好的。

现在谈问题2和问题3

如果可以保留,我如何执行php代码来发送数据而不离开页面?

此外,如果我停留在页面上,如何在页面上显示这样的信息:“谢谢,您的表单已经提交了”?

您可以使用ajax完成它。在jquery的帮助下,您可以更简单地使用

$.ajax函数

例:

代码语言:javascript
复制
$("#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代码)来保存数据并返回响应。

例如:

代码语言:javascript
复制
result = mysqli_query("INSERT INTO table (NAME ) VALUES ('val')"));
    if($result)
    {
        echo "Success";
        exit;
    }
    else
    {
        echo "Error";
        exit;
    }

执行ajax调用后,ajax调用的内部成功函数将得到响应(成功或错误),并在此基础上将消息显示到空div中,该div通常位于表单的上方。

代码语言:javascript
复制
success: function (response) {

       if(response == "Success"){
           $("#div").html("Thanks, your form was submitted");          
       }
       else{
            $("#div").html("Issue with form submission.Please try again");
       }
}

适当的消息将在表单提交后显示为ajax响应。

票数 1
EN

Stack Overflow用户

发布于 2018-05-22 05:46:08

它通常是基于你的喜好。

对我来说,我通常包括我的验证脚本在操作页(重定向到一个空白页暂时)。我将post变量保存到会话中,以便以后重新加载表单。如果出现错误,则将错误消息保存在会话变量中,然后重定向到窗体页。在我的表单中,我在每个输入元素中包含了这个片段。

代码语言:javascript
复制
value=<?php if isset($_SESSION['var_name']){echo $_SESSION['var_name'];}?>

但是,如果数据是有效的,我将执行某些内容(数据库插入、邮件等)。在重定向到我的登陆页面(通常是主页)之前。

要正确回答你的三个问题:

  1. 就像我说的,这是优先考虑的。它可以从一个简单的弹出到重定向,到一个完整的页面。但是,将提交的状态通知用户是标准的。他不会在你的页面上做猜测工作。
  2. 如果希望停留在表单页面上,请尝试通过AJAX将表单发送到验证脚本。又好又简单
  3. 请参阅#2。在AJAX代码段中执行代码
票数 0
EN

Stack Overflow用户

发布于 2018-05-22 05:53:59

  1. 这是标准有一个“成功提交”页面,看起来很漂亮和花哨,还是它是好的只是停留在页面上的表单?

答:如果你表示感谢,那就太好了!如果页面也有其他内容,则在同一页上发送消息。

  1. 如果可以保留,我如何执行php代码来发送数据而不离开页面?

答:您可以使用AJAX向服务器发送异步请求,并在表单中填写数据。

3.此外,如果我停留在页面上,如何在页面上显示这样的信息:“谢谢,您的表单已经提交了”?

答:一旦您从AJAX获得成功响应,您可以使用“谢谢”消息更改HTML代码,如果在提交表单时出现错误,则可以在同一页上显示该错误,而无需刷新页面。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50460502

复制
相关文章

相似问题

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