22

我有一个小问题。我想在提交表单后重新加载我的页面。

<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>
4

9 回答 9

66

只使用

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

在 } 示例之前插入查询之后

if(isset($_POST['submit']))
        {
SQL QUERY----
echo "<meta http-equiv='refresh' content='0'>";
}
于 2015-11-03T20:33:03.243 回答
11
<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

?>
于 2013-02-02T22:59:12.963 回答
6

如果您希望在同一页面上提交表单,请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")
于 2012-05-17T22:08:37.110 回答
4

您也许可以使用:

<form method="post" action=" " onSubmit="window.location.reload()">
于 2012-05-17T21:18:42.907 回答
4

大声笑,我只是想知道为什么没有人知道PHP 标头函数

header("Refresh: 0"); // here 0 is in seconds

我使用它,因此如果用户刷新页面,则不会提示他重新提交数据。

有关更多详细信息,请参阅使用 PHP 刷新页面

于 2019-03-31T06:49:07.070 回答
3
   <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");
    }
?>
于 2012-05-18T00:36:48.423 回答
1

中的动作属性<form method="post" action="action=""">应该只是action=""

于 2012-05-17T21:16:14.247 回答
0

您想要一个自己提交的表格吗?然后你只需将“action”参数留空。

喜欢:

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

如果您想使用此页面处理表单,请确保您在表单或会话数据中有某种机制来测试它是否已正确提交,并确保您不会尝试处理空表单。

您可能需要另一种机制来确定表单是否已填写并提交但无效。我通常使用与会话变量匹配的隐藏输入字段来确定用户是单击提交还是第一次加载页面。通过每次给一个唯一的值并将会话数据设置为相同的值,您还可以避免用户点击两次提交时重复提交。

于 2012-05-17T21:19:05.340 回答
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         
  ?>

希望这可以帮助。

于 2017-06-14T07:26:32.827 回答