表单不能向数据库提交信息


Form won't submit info to database

我最近一直在为一个朋友建立一个网站,我被这个表单卡住了。一个按钮链接到这个表单所在的url,然后一旦你填写完所有信息并点击提交,它就会从视图中删除表单,你所看到的只是一个空白的new.php,它不会提交信息。

   <?php
 function renderForm($user, $rank, $position, $error)
 {
?>
 <?php 
 if ($error != '')
 {
 echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
 }
 ?> 
 <center>
<form action="" method="post">
  <div class="form-group">
    <label for="username">Username*</label>
    <input id="username" class="form-control" type="text" name="user" placeholder="Username" value="<?php echo $user; ?>" />
  </div>
  <div class="form-group">
    <label for="rank">Rank</label>
     <select class="form-control" name="rank">
 <option value="1">Pending Rank</option>
 <option value="2">PVT</option>
</select>
  </div>
  <div class="form-group">
    <label for="position">Position</label>
    <input id="position" class="form-control" type="text" name="position" placeholder="MOG/GG" value="<?php echo $position; ?>" />
  </div>
    <div class="form-group">
    <label for="Date">Date*</label>
    <input id="Date" class="form-control" type="text" name="date" placeholder="<?php echo date('d M y'); ?>" value="<?php echo $date; ?>" />
  </div>
    <div class="form-group">
    <label for="Tag">Tag*</label>
    <input id="Tag" class="form-control" type="text" name="tag" placeholder="[]" value="<?php echo $tag; ?>" />
  </div>
    <div class="form-group">
    <label for="adt">ADT</label>
    <input id="adt" class="form-control" type="text" name="adt" placeholder="{TEST}" value="<?php echo $adt; ?>" />
  </div>
    <div class="form-group">
    <label for="exp">EXP</label>
    <input id="exp" class="form-control" type="text" name="exp" placeholder="420" value="<?php echo $exp; ?>" />
  </div>
    <div class="form-group">
    <label for="reg">Regiment</label>
    <input id="reg" class="form-control" type="text" name="reg" placeholder="[P]" value="<?php echo $reg; ?>" />
  </div>
    <div class="form-group">
    <label for="Notes">Notes</label>
    <input id="Notes" class="form-control" type="text" name="notes" placeholder="Notes" value="<?php echo $notes; ?>" />
  </div>
<button type="submit" name="submit" class="btn btn-default" value="Submit">Submit</button>
</form>
<script>
$('.modal').on('hidden.bs.modal', function(){
    $(this).find('form')[0].reset();
});
</script>
<?php 
}
 include('config/db.php');
 if (isset($_POST['submit']))
 { 
 $user = mysql_real_escape_string(htmlspecialchars($_POST['user']));
 $rank = mysql_real_escape_string(htmlspecialchars($_POST['rank']));
 $position = mysql_real_escape_string(htmlspecialchars($_POST['position']));
 $date = mysql_real_escape_string(htmlspecialchars($_POST['date']));
 $tag = mysql_real_escape_string(htmlspecialchars($_POST['tag']));
 $adt = mysql_real_escape_string(htmlspecialchars($_POST['adt']));
 $exp = mysql_real_escape_string(htmlspecialchars($_POST['exp']));
 $reg = mysql_real_escape_string(htmlspecialchars($_POST['reg'])); 
 $notes = mysql_real_escape_string(htmlspecialchars($_POST['notes']));
 $datej = mysql_real_escape_string(htmlspecialchars($_POST['date']));
 if ($user == '' || $rank == '' || $date == '' || $tag == '')
 {
 $error = '<center>ERROR: Please fill in all required fields!</center>';
 @renderForm($user, $rank, $position, $error);
 }
 else
 {
 mysql_query("INSERT per SET user='$user', rank='$rank', position='$position', date='$date', tag='$tag', adt='$adt', exp='$exp', reg='$reg', notes='$notes', datej='$datej'", $db1)
 or die(mysql_error()); 
 include('logsadd.php');
 write_mysql_log('has added member <font color="black"><b>'. $user .'</b></font>.', $db);
 header("Location: home.php");
 }
 }
 else
  header("home.php");
 {
 @renderForm('','','');
 }?>

你的else看起来像这样

else
  header("home.php");
 {
 @renderForm('','','');

应该是

else
{
 // header should be inside the else part 
  header("Location:home.php"); 
 @renderForm('','','');