У меня небольшая проблема. Я хочу перезагрузить свою страницу после отправки формы.
<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>
использовать только
echo "<meta http-equiv='refresh' content='0'>";
сразу после ввода запроса перед} example
if(isset($_POST['submit'])) { SQL QUERY---- echo "<meta http-equiv='refresh' content='0'>"; }
<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 ?>
Если вы хотите, чтобы форма была отправлена на той же странице, удалите 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")
<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"); } ?>
атрибут действия в <form method="post" action="action=""">
должен быть просто action=""
Вы можете использовать:
<form method="post" action=" " onSubmit="window.location.reload()">
Вам нужна форма, которая сама отправляет? Затем вы просто оставите параметр «действие» пустым.
как:
<form method="post" action="" />
Если вы хотите обработать форму на этой странице, убедитесь, что у вас есть какой-либо механизм в форме или данных сеанса, чтобы проверить, правильно ли они были отправлены, и убедиться, что вы не пытаетесь обработать пустую форму.
Возможно, вам понадобится другой механизм, чтобы решить, была ли форма заполнена и отправлена, но недействительна. Обычно я использую скрытое поле ввода, которое соответствует переменной сеанса, чтобы решить, щелкнул ли пользователь submit или просто загрузил страницу в первый раз. Каждый раз задавая уникальное значение и устанавливая данные сеанса на одно и то же значение, вы также можете избежать дублирования представлений, если пользователь дважды нажимает кнопку отправки.
//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 ?>
Надеюсь это поможет.