2015-07-25 7 views
2

Вот код. Я хочу, чтобы это так -Как показать сообщение об успешном завершении после отправки формы PHP?

представления Форма -> page2.php -> переориентировать - (. Вот сообщение Всплывающие или любой другой)> page1.php

page1.php

<form action="page2.php" method="post" enctype="multipart/form-data" class="form-inline subscribe-form"> 

        <input type="name" name="name" placeholder="Jack"> 
       </div> 
       <button type="submit" name="sub" value="sub" >Submit</button> 

      </form> 

page2.php

<?php 
//include necessary 

if(isset($_POST['sub'])) { 

    $nameget = mysqli_real_escape_string($dbconnect, $_POST['name']); 
    $sqlentry = .....bla bla......//insert into DB 
} 

$getsql = mysqli_query($dbconnect, $); 


if($getsql){ 
    mysql_close($dbconnect); 
    header('location:page1.php'); 

} 



?> 
+1

Может передать сообщение успеха в page1.php через URL? – frz3993

ответ

4

Где у вас есть:

header('location:page1.php'); 

добавить переменную на месте, например:

header('location:page1.php?status=success'); 

И page1.php, сделать что-то вроде:

if($_GET['status'] == 'success'): 
    echo 'feedback message goes here'; 
endif; 
+0

Все в порядке. Это сработало, спасибо. Но когда я обновляю страницу «page1.php? Status = success», есть ли способ перейти к «page1.php»? –

+0

Несомненно, зависит от того, что вы хотите. Может быть, сохранить статус в сеансе или, может быть, просто сделать переадресацию с помощью javascript или отобразить обратную связь в предупреждающем или модальном окне, которое ссылается на page1.php .. – pbs

2

Таким образом, ваша вспышка сообщение не будет отображаться снова и снова после обновления.

<?php session_start(); 
if(isset($_SESSION['msg']) && $_SESSION['msg'] != ''){ 
    echo $_SESSION['msg']; 
    unset($_SESSION['msg']); 
} 
?> 
    <form action="page2.php" method="post" 
enctype="multipart/form-data" class="form-inline subscribe-form"> 

        <input type="name" name="name" placeholder="Jack"> 
       </div> 
       <button type="submit" name="sub" value="sub" >Submit</button>  


      </form> 

И

<?php 
session_start(); 
//include necessary 

if(isset($_POST['sub'])) { 

    $nameget = mysqli_real_escape_string($dbconnect, $_POST['name']); 
    $sqlentry = .....bla bla......//insert into DB 
} 

$getsql = mysqli_query($dbconnect, $); 
    if($getsql){ 
     mysql_close($dbconnect); 
     $_SESSIOM['msg'] = 'Value Inserted or whatever'; 
     header('location:page1.php');   
    } 
?> 
+0

Don ' Не забудьте отключить сообщение $ _SESSION еще после обновления страницы, он все равно будет там. – Rimble

+0

Да, вы правы. Спасибо, что напомнили. –

+0

Также добавьте в check для $ _SESSION ['msg'] сверху с выражением isset(), иначе он выдает ошибку! – Rimble

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