HTML / PHP表单提交(后续操作)

时间:2018-05-22 05:37:11

标签: php html forms submit submission

这里的第一个问题,请耐心等待我。

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

我的问题有几个部分。

  1. 有一个“成功提交”页面看起来很漂亮和花哨,或者只是停留在表格所在页面上是否合适?
  2. 如果可以留下来,如何在不离开页面的情况下执行php代码来发送数据?
  3. 此外,如果我留在页面上,如何在其上显示一条消息,说“谢谢,您的表单已提交”?

4 个答案:

答案 0 :(得分:1)

考虑问题1 拥有“成功提交”页面看起来很漂亮和花哨,或者只是停留在表格所在页面上是否合适?

不一定要有一个单独的页面来显示对最终用户的响应。实际上,这取决于您正在开发页面的方案。主要目的是为您网站的最终用户/访问者提供最佳的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。

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 :(得分:0)

通常基于您的偏好。

对我来说,我通常会在操作页面上包含我的验证脚本(暂时重定向到空白页面)。我将我的帖子变量保存到我的会话中,以便稍后重新加载表单。如果有错误,我将错误消息保存在会话变量中,然后重定向到我的表单页面。在我的表单中,我在每个输入元素中包含此片段

value=<?php if isset($_SESSION['var_name']){echo $_SESSION['var_name'];}?>

如果数据有效,我会在重定向到我的目标网页(通常是主页)之前执行某些内容(数据库插入,邮件等等)。

正确回答你的3个问题:

  1. 就像我说的那样,它是优惠的。它可以是从简单的弹出窗口到重定向,也可以是完整的页面。但是,向用户通知提交的状态是标准的。他不会在你的页面上做猜测。

  2. 如果您想留在表单页面上,请尝试通过AJAX将表单发送到验证脚本。好又简单

  3. 请参阅#2。您可以在AJAX代码段

  4. 中执行代码

答案 2 :(得分:0)

  1. 成功提交&#34;成功提交是否合适?看起来很漂亮和花哨的页面,或者只是停留在表格所在的页面上是不错的?
  2. 答案:如果你表现出来,那就太好了谢谢!如果页面还有其他内容,则在同一页面上显示消息。

    1. 如果可以留下来,如何在不离开页面的情况下执行php代码发送数据?
    2. 答案:您可以使用AJAX向服务器发送异步请求,并填写表格中的数据。

      3.此外,如果我留在页面上,我如何在其上显示一条消息,说明&#34;谢谢,您的表单已提交&#34;?

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

答案 3 :(得分:0)

  1. 是的,您可以使用您要提交表格的同一页面。
  2. 您可以将操作设置为另一个.php页面,例如sendEmail.php

    行动=&#34; sendEmail.php&#34;方法=&#34;后&#34;

    您可以在那里获得表单提交值。当发送的电子邮件你可以把这样的条件

    if(emailSent == true){ 标题(&#39;位置:http://www.example.com/index.php?success=true&#39;); }

  3. 当sendEmail.php重定向到索引页面时,您可以使用php获取url值。并显示成功消息

    $ paraVal = $ _GET [&#34;成功&#34;]; if($ paraVal == true){ //显示消息 }