2016-02-15 1 views
0

Привет У меня есть файл HTML, содержащий форму и файл php, который получает данные формы html. Я хочу показать сообщение подтверждения в html-файле (в контейнере div) после выполнения php-файла. Много искал везде, но ответа не получил.Как получить подтверждение на странице HTML после отправки формы

Вот мой HTML форма (enquiry.html)

<div class="form-body"> 

            <form method="post" action="/"> 
             <span id="MasterInner_lblName">Your Name</span> 
             <input name="MasterInner_txtName" type="text" /> 
             <span id="MasterInner_lblEmail">Your Email</span> 
             <input name="MasterInner_txtEmail" type="email" /> 
             <span id="MasterInner_lblMobile">Your Mobile</span> 
             <input name="MasterInner_txtMobile" type="text" /> 
             <span id="MasterInner_lblCity">Your City</span> 
             <input name="MasterInner_txtCity" type="text" /> 
             <span id="MasterInner_lblCity">Remarks</span> 
             <textarea name="MasterInner_txtRemarks" /></textarea> 
             <button type="button" name="MasterInner_submit" value="Submit" id="submitform" Class="form-button" />Submit</button> 
            </form> 
           </div> <!-- Form ends --> 
           <div id="confirmID">test for form submission</div> 
           <script> 
            $("#submitform").click(function() { 
             //code 
             $.post("enquiry.php", { 
             MasterInner_txtNamePost: MasterInner_txtName, 
             MasterInner_txtEmailPost: MasterInner_txtEmail, 
             MasterInner_txtMobilePost: MasterInner_txtMobile, 
             MasterInner_txtCityPost: MasterInner_lblCity, 
             MasterInner_txtRemarksPost: MasterInner_txtRemarks 
             },function(data) { 
              alert("Form submitted"); 
              document.getElementByID(confirmID).innerHTML = "Submitted"; 
             }); 
            }); 
           </script> 

Я не могу понять, что писать в PHP, чтобы установить «Спасибо за отправку» сообщение в HTML-страницы.

Enquiry.php файл

<?php 

// error_reporting (0);

//if($_POST["w32apideftype"]!="") 
//{  
    //echo $_POST["key"]; 
    // Function for filtering input values. 
    function test_input($data) 
    { 
     $data = trim($data); 
     $data =stripslashes($data); 
     $data =htmlspecialchars($data); 
     return $data; 
    } 
    //echo "ths i stest"; 
    // Initialize variables to null. 
    $s_name="ABC";// Sender Name 
    $s_email="[email protected]";//Sender's Email 
    $r_email="xyz <xyz.com>";//Recipient Email 
    $subject1="My subject";//Subject of mail 
    //Form Data vars 
    $f_name =""; 
    $f_email =""; // Sender's email ID 
    $f_message =""; // Sender's Message 
    $f_phone="";//Sender's Phone 
    $f_city="";//Sender's city 
    //Form data vars end 

    $nameError =""; 
    $emailError =""; 
    $f_phoneError=""; 
    $f_cityError=""; 
    $subjectError =""; 
    $f_messageError =""; 
    $successMessage =""; // On submittingform below function will execute. 
    if(isset($_POST['MasterInner_submit'])) { // Checking null values in message. 
     //echo "Submit button pressed"; 

     if (empty($_POST["MasterInner_txtName"])){ 
      $nameError = "Name is required"; 
      //echo $nameError; 
     } 
     else 
     {   
      if (!preg_match("/^[a-zA-Z ]*$/",$f_name)) 
      { 
       $nameError = "Only letters and white space allowed"; 
      } 
      else 
      { 
       $f_name = test_input($_POST["MasterInner_txtName"]); // check name only contains letters and whitespace 
       //echo $name; 
      } 
     } // Checking null values inthe message. 
     if (empty($_POST["MasterInner_txtEmail"])) 
     { 
      $emailError = "Email is required"; 
      //echo $emailError; 
     } 
     else 
     { 
      $f_email = test_input($_POST["MasterInner_txtEmail"]); 
      //echo $email; 
     } // Checking null values inmessage. 
     if (empty($_POST["MasterInner_txtRemarks"])) 
     { 
      $f_messageError = "Message is required"; 
      $f_message="No Additional message"; 
      //echo $f_messageError; 
     } 
     else 
     { 
      $f_message = test_input($_POST["MasterInner_txtRemarks"]); 
      //echo $f_message; 
     } // Checking null values inthe message. 
     if (empty($_POST["MasterInner_txtMobile"])) 
     { 
      $f_phoneError = "Genuine phone is required"; 
      //echo $f_phoneError; 
     } 
     else 
     { 

      $f_phone = test_input($_POST["MasterInner_txtMobile"]); 
      //echo $f_phone; 
     } // Checking null values inmessage. 

     if ($_POST["MasterInner_txtCity"]=="Not Selected") 
     { 
      $f_cityError = "city is required"; 
      //echo $f_cityError; 
     } 
     else 
     { 
      $f_city = test_input($_POST["MasterInner_txtCity"]); 
      //echo $f_city; 
     } // Checking null values inmessage. 

     if(!($f_name=='') && !($f_email=='') &&!($f_phone=='') &&!($f_city=='')) 
     { // Checking valid email. 
      if (preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$f_email)) 
      { 
       $email=str_replace(",","",$f_email); 

       $header1 = 'MIME-Version: 1.0' . "\r\n"; 
       $header1 .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
       $header1 .= 'To: '.$r_email."\r\n"; 
       $header1 .= 'From: '.$s_name.'<'. $s_email .'>' . "\r\n"; 
       $header1 .= 'Cc:' . "\r\n"; 
       $header1 .= 'Bcc:' . "\r\n"; 


       /* Let's prepare the message for the e-mail */ 
       //$msg = wordwrap($msg, 70, "\r\n"); 
       $msg1 = '<html><head><title>Enquiry</title></head> 
        <body><table style="font-size:16px;font-weight:bold;border:3px solid #e0781f;"bgcolor="#dededc" align="center" width="500"><tr><td colspan="2"><h1>'.$f_name.' sent a Enquiry</h1></td></tr> 
        <tr><td>Name: </td><td>'.$f_name.'</td></tr> 
        <tr><td>E-mail: </td><td>'.$f_email.'</td></tr> 
        <tr><td>Phone: </td><td>'.$f_phone.'</td></tr> 
        <tr><td>city: </td><td>'.$f_city.'</td></tr> 
        <tr><td>Message: </td><td>'.$f_message.'</td></tr></table> 
        </body></html>'; 
       /* Send the message using mail() function */ 
       //echo "message1: - $msg and message 2 : - $msg1"; 


       if(mail($s_email,$subject1,$msg1,$header1)) 
       { 
        $successMessage = "Message sent successfully......."; 
        echo"Thank You"; 
        header("location:".$_POST["w32apideftype"]); 
       } 
      } 
      else 
      { 
       $emailError = "Invalid Email"; 
       //echo"Invalid Email"; 

      } 
     } 
    } 
//} 

?>

Pls помощь, чтобы получить эту работу.

+0

Пожалуйста, отправьте свой php-файл также – zachu

+0

, если вы используете ajax для отправки деталей формы на php, вы можете дождаться статуса обратного вызова, а затем отобразить сообщение об успешном завершении - вы также можете отследить некоторые данные с php ajax сказать все - http://api.jquery.com/jquery.ajax/ - искать на этой странице (сохранить некоторые данные на сервер и уведомить пользователя, когда он будет завершен.) – Tasos

ответ

0

Если вы можете использовать javascript, вы можете легко сделать это, добавив метод click и post. Например:

document.getElementByID("id").click(function() { 
        //code 
        $.post("enquiry.php", { 
        MasterInner_txtMobilePost: MasterInner_txtMobile, 
        MasterInner_txtCityPost: MasterInner_lblCity, 
        MasterInner_txtRemarksPost: MasterInner_txtRemarks 
        }, function(data) { 
         alert("Form submitted"); 
         document.getElementByID("confirmID").innerHTML = "Submitted"; 
        }); 
        } 
       }); 
+0

Привет, спасибо за ваш ценный ответ , Я попробовал это, но не знаю, почему ничего не происходит. Я использую мой обновленный код с помощью jquery script и enquiry.php. Посмотрите, может ли это работать. Спасибо –

+0

Ну, прежде всего, вам нужно убедиться, что идентификаторы верны. Первым «id» должен быть идентификатор вашей кнопки. После предупреждения у меня есть confirmID, если вы хотите изменить текст чего-то. Если вы это сделаете, обязательно добавьте к нему кавычки и укажите точное написание идентификатора вашего тега, который вы хотите изменить. Еще одна вещь, о которой следует помнить, - это ваш php-файл должен находиться в том же каталоге вашей html-страницы. Если вам не нужно указывать точный URL-адрес (http://www.example.com/enquiry.php). Кроме того, в моем методе выше я добавил слово «сообщение» к вашим переменным. – Scott

0

Поместите следующий код в файл PHP enquiry.php до закрытия PHP тега.

header("Location: confirmation.html"); 
exit; 

Примечание: страница подтверждения должна быть такой же, как ваш enquiry.html вы можете просто заменить форму с вашим сообщением.

+0

Спасибо за ваш ответ, но создание другой страницы с сообщением не будет тренировкой. Необходимо отобразить сообщение на той же странице –

 Смежные вопросы

  • Нет связанных вопросов^_^