提交表单时找不到页面,但当我重新加载相同的 URL 时会显示该页面


Page not found when I submit a form but it shows when I reload the same url

我正在使用以下模板文件从wordpress仪表板创建新页面。

<?php 
  /*
    Template Name: admin info form
  */
?>
<?php 
require_once('includes/Admin_profile.php');
require_once('includes/session.php');
get_header(); 
?>

  <?php 
if(isset($_POST['submit-btn']))
{

   $admin_info=new Admin_profile();
   $admin_info->admin_prof_id=$_SESSION['admin_id'];
   $admin_info->name=$_POST['name'];
   $admin_info->degree=$_POST['degree'];
   $admin_info->school=$_POST['school'];
   $admin_info->college=$_POST['college'];
   $admin_info->uni=$_POST['uni'];
   $admin_info->pres_addr=$_POST['pres_addr'];
   $admin_info->per_addr=$_POST['per_addr'];
   $admin_info->mobile=$_POST['mobile'];
   $admin_info->department=$_POST['dept'];
    $admin_info->save(); 


}

?>
 <div id="admin-login-form"> 
<div class="error_required_fields">Fill up all required fields. * indicated fields are required</div>
  <form name="input" action="#" method="post">
    <table>
      <tr><td> Name:</td><td><input class="name" type="text" name="name" /></td> <td><p class="required">*</p></div></td></tr>
      <tr><td> Last academic degree:</td><td><input class="degree" type="text" name="degree" /></td> <td><p class="required">*</p></td></tr>
      <tr><td> School:</td><td><input class="school" type="text" name="school" /></td><td><p class="required">*</p></td></tr> 
       <tr><td> College:</td><td><input class="college" type="text" name="college" /></td> </tr>
       <tr><td> University:</td><td><input class="uni" type="text" name="uni" /></td> </tr>
       <tr><td>Present Address:</td><td><input class="pres_addr" type="textarea" name="pres_addr" /></td><td><p class="required">*</p></td></tr> 
       <tr><td>Present Address:</td><td><input class="per_addr" type="textarea" name="permanent_addr" /></td> <td><p class="required">*</p></td></tr>
       <tr><td>Mobile number:</td><td><input class="mobile" type="text" name="mobile" /></td> <td><p class="required">*</p></td></tr>  
       <tr><td>Mobile number:</td><td><input class="mobile" type="text" name="mobile" /></td> <td><p class="required">*</p></td></tr> 
       <tr><td>Depertment:</td><td>
       <select name="options">
      <option value="not selected" selected="selected">Choose favorite subject</option>
                <option value="Mathematics">Mathematics</option>
                <option value="Chemestry">Chemestry</option>
                <option value="Biology">Biology</option>
       </select></td>
       <td><p class="required">*</p></td>
       </tr>

      <tr><td> </td><td class="btn"> <input type="submit" class="submit-btn" name="submit-btn" value="Submit" /></td></tr>
    </table> 
</form>
      </div>       

   <?php
    get_footer();
    ?>

但是当我提交表格时,它显示 - 404 错误(未找到页面)。我注意到网址是:http://localhost/wordpress/admin-info/#。我复制此网址并将其粘贴到新选项卡中。然后它显示页面。怎么回事。请帮忙。

我得到了解决方案。在这里,我使用"name"作为在表单输入中提交的名称。

错误的方式

<input type="text" name="name"/>

正确的方式

<input type="text" name="anyName"/>

只需避免将输入字段命名为"name"即可避免此错误。

您是否正在尝试让页面提交到自身?您能否将操作更改为:

($_SERVER['PHP_SELF'])