1

我在mysql中有我的登录表是这样的

id
fname
lname
email
contactno
userid
password
acctype
status

现在我的表格是这样的

<form name="frm" method="post" action="registerform.php">
  <table id="new-account" class="create-an-account" width="100%" border="1" cellspacing="10px" cellpadding="10px">
    <tr>
      <td width="45%">
        <label for="firstname">First Name</label>
        <input type="text" style="width:230px;"  name="Firstname" id="Firstname" /></td>
      <td width="10%"></td>
      <td width="45%">
        <label for="lastname">Last Name:</label>
        <input type="text" style="width:230px;"  name="LastName" id="LastName" />                      
      </td>
    </tr>
    <tr>
      <td>
        <label for="">Account Type</label>
          <select class="select" name="at" id="ValidSelection" style="width:245px;" >
            <option value="0">Select Account Type</option>
            <option value="agent">agent</option>
            <option value="admin">admin</option>
          </select>
      </td>
    </tr>
    <tr>
      <td><label for="">Email Id:</label></td>
    </tr>
    <tr>
      <td><input type="text" name="email" id="ValidEmail" style="width:230px;"/></td>
    </tr>
    <tr>
      <td><label for="">Contact Number</label></td>
    </tr>
    <tr>
      <td><input type="text" name="contact" id="ValidNumber" style="width:230px" /></td>
    </tr>
    <tr>
      <td><label for=""><strong>Choose Your Login Id:</strong></label>
      <input type="text" style="width:230px;"  name="LoginId" id="LoginId"/>
      </td>
    </tr>
    <tr>
      <td><label for=""><strong>Password: <br /></strong></label></td>
    </tr>
    <tr>
      <td><input type="password" style="width:230px;"  name="Password" id="ValidPassword"  /></td>
    </tr>
    <tr>
      <td><label for="">Confirm Password:</label></td>
    </tr>
    <tr>
      <td>
    <input type="password" style="width:230px;"  name="ConfirmPassword" id="ValidConfirmPassword"
    />                      
    </td>
    </tr>
    <tr>
      <td colspan="2"><input type="submit" name="signup" value="Create Account" style="margin-top:20px" /></td>
    </tr>
    </table>

对于插入数据,我的 php 代码是这样的

<?php
    if(isset($_REQUEST['signup'])) {
        mysql_query("insert into login (`fname`,`lname`,`email`,`contactno`,`userid`,`password`,`acctype`,`status`) values('".$_REQUEST['Firstname']."','".$_REQUEST['LastName']."','".$_REQUEST['email']."','".$_REQUEST['contact']."','".$_REQUEST['LoginId']."','".$pswd."','".$_REQUEST['at']."','active')");
    }
?>

现在,当我重新加载页面时,它会自动将最后输入的值插入数据库。所以有人可以告诉我这里有什么问题吗?欢迎任何帮助和建议。

4

2 回答 2

2

如果您在提交表单后重新加载页面,它将保留 POST 数据。要解决此问题,请执行以下操作:

  1. 您可以在插入数据后重定向到其他页面,使用header("location:new_page.php")

  2. 您可以取消设置请求,unset($_REQUEST)插入后使用

于 2013-07-30T11:49:57.360 回答
1

插入 $_POST 数据后,使用重定向来避免这种情况。即使您可以像这样重定向到同一页面:-

header('Location: '.$_SERVER['PHP_SELF']);
  exit;
于 2013-07-30T12:02:24.653 回答