2012-05-17 6 views
8

У меня есть небольшая проблема. Я хочу перезагрузить свою страницу после отправки формы.Обновить страницу после отправки формы

<form method="post" action=""> 
    <textarea cols="30" rows="4" name="update" id="update" maxlength="200" ></textarea> 
    <br /> 
    <input type="submit" value=" Update " id="update_button" class="update_button"/> 
</form> 
+2

Какова ваша цель? – Shyju

+0

Это поведение по умолчанию, не так ли? Почему вы положили это значение в свои действия? Я думаю, что это неправильно. – davidbuzatto

+0

да его ошибка –

ответ

1

атрибут действия в <form method="post" action="action="""> должны быть только action=""

0

Вы можете, возможно, использовать:

<form method="post" action=" " onSubmit="window.location.reload()"> 
+0

Я пробовал это уже, но страница не освежает: S –

0

Вы хотите форму, что само подчиняется? Затем вы просто оставите параметр «действие» пустым.

нравится:

<form method="post" action="" />

Если вы хотите обработать форму с этой страницы, то убедитесь, что у вас есть какой-то механизм в виде данные или сеанса, чтобы проверить, был ли он должным образом представлены и обеспечить вы не пытаетесь обработать пустую форму.

Возможно, вам понадобится другой механизм для решения, была ли форма заполнена и отправлена, но недействительна. Обычно я использую скрытое поле ввода, которое соответствует переменной сеанса, чтобы решить, щелкнул ли пользователь submit или просто загрузил страницу в первый раз. Каждый раз задавая уникальное значение и устанавливая данные сеанса на одно и то же значение, вы также можете избежать дублирования представлений, если пользователь дважды нажимает кнопку отправки.

4

Если вы хотите, чтобы форма была отправлена ​​на ту же страницу, удалите action из атрибутов формы.

<form method="POST" name="myform"> 
<!-- Your HTML code Here --> 
</form> 

Однако, если вы хотите, чтобы перезагрузить страницу или перенаправить страницу после отправки формы из другого файла, то вы вызываете эту функцию в php и он будет перенаправлять страницу в 0 секунд. Кроме того, Вы можете использовать header, если вы хотите, просто убедитесь, что вы не имеете никакого содержания перед использованием header

function page_redirect($location) 
{ 
    echo '<META HTTP-EQUIV="Refresh" Content="0; URL='.$location.'">'; 
    exit; 
} 

// I want the page to go to google. 
// page_redirect("http://www.google.com") 
+0

Я должен использовать этот код после кода формы? –

+0

используйте первую в 'HTML', если вы хотите обновить страницу после нажатия кнопки. используйте вторую, если хотите, после нажатия кнопки вы хотите изменить страницу. это твой выбор. – Othman

2
<form method="post" action=""> 
    <table> 
    <tr><td><input name="Submit" type="submit" value="refresh"></td></tr> 
    </table> 
    </form> 

<?php 
    if(isset($_POST['Submit'])) 
    { 
    header("Location: http://yourpagehere.com"); 
    } 
?> 
10
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <!-- notice the updated action --> 
<textarea cols="30" rows="4" name="update" id="update" maxlength="200" ></textarea> 
<br /> 
<input name="submit_button" type="submit" value=" Update " id="update_button" class="update_button"/> <!-- notice added name="" --> 
</form> 

на вашей полной странице, вы могли бы это

<?php 

// check if the form was submitted 
if ($_POST['submit_button']) { 
    // this means the submit button was clicked, and the form has refreshed the page 
    // to access the content in text area, you would do this 
    $a = $_POST['update']; 

    // now $a contains the data from the textarea, so you can do whatever with it 
    // this will echo the data on the page 
    echo $a; 
} 
else { 
    // form not submitted, so show the form 

?> 

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <!-- notice the updated action --> 
<textarea cols="30" rows="4" name="update" id="update" maxlength="200" ></textarea> 
<br /> 
<input name="submit_button" type="submit" value=" Update " id="update_button" class="update_button"/> <!-- notice added name="" --> 
</form> 

<?php 

} // end "else" loop 

?> 
26

использовать только

echo "<meta http-equiv='refresh' content='0'>"; 

сразу после вставки запроса перед тем} примера

if(isset($_POST['submit'])) 
     { 
SQL QUERY---- 
echo "<meta http-equiv='refresh' content='0'>"; 
} 
+1

Это единственное удобное решение для меня. –

+0

Ницца это действительно помогло мне! – Tomm

0
//insert this php code, at the end after your closing html tag. 

    <?php 
    //setting connection to database 
    $con = mysqli_connect("localhost","your-username","your- 
    passowrd","your-dbname"); 

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

    $txt_area = $_POST['update']; 

     $Our_query= "INSERT INTO your-table-name (field1name, field2name) 
        VALUES ('abc','def')"; // values should match data 
       // type to field names 

     $insert_query = mysqli_query($con, $Our_query); 

     if($insert_query){ 
      echo "<script>window.open('form.php','_self') </script>"; 
      // supposing form.php is where you have created this form 

      } 



    } //if statement close   
    ?> 

Надеется, что это помогает.

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