Php 重新加载浏览器后停止重复条目

Php 重新加载浏览器后停止重复条目,php,Php,我有一个表单,试图用类在表中插入数据。数据以正确的方式插入。 但当在insert查询之后单击“浏览器重新加载”时,它会在表中插入重复的条目。 我尝试了重定向功能。但不起作用 我的表格是: <?php if(isset($_POST['insertcourse'])) { $userprofileobj->insert_course($_POST['c_name'],$_POST['c_description']); } ?> <form ac

我有一个表单,试图用类在表中插入数据。数据以正确的方式插入。 但当在insert查询之后单击“浏览器重新加载”时,它会在表中插入重复的条目。 我尝试了重定向功能。但不起作用

我的表格是:

<?php
    if(isset($_POST['insertcourse']))
    { 
 $userprofileobj->insert_course($_POST['c_name'],$_POST['c_description']);
    }
?>
 <form action="" method="POST">
 <div class="control-group">
  <label class="control-label">Course Name :</label>
  <div class="controls">
    <input type="text" class="span11" placeholder="First name" name="c_name" />
    </div>
    </div>
  <div class="controls">
    <label class="control-label">Course Description :</label>
     <textarea class="textarea_editor span12" rows="6" placeholder="Enter text ..." name="c_description"></textarea>
     </div>
    <div class="form-actions">
     <input type="submit" value="SAVE" name="insertcourse" class="btn btn-success">
      </div>
      </form>
<?php
class operations{

public $user_name;
public $error;
public $con;


public function __construct()
{       
    $this->con = new mysqli("localhost","root","","admin_with_oops");
}
public function insert_course($c_name,$c_description)
{
    $date1 = date("Y-m-d");
    $result = $this->con->query("insert into courses (c_name,c_description,date1,status1) VALUES ('$c_name', '$c_description', '$date1','1')");
    if($result)
    {
        $alertmsgs = "Inserted Successfully";
        $this->alertmsg($alertmsgs);

    }
}
public function alertmsg($alertmsgs)
{
    echo"<div class='alert alert-error'>
          <button class='close' data-dismiss='alert'>×</button>
          <strong></strong> $alertmsgs </div>
      </div>";
}
}

课程名称:
课程简介:
My classes.php是:

<?php
    if(isset($_POST['insertcourse']))
    { 
 $userprofileobj->insert_course($_POST['c_name'],$_POST['c_description']);
    }
?>
 <form action="" method="POST">
 <div class="control-group">
  <label class="control-label">Course Name :</label>
  <div class="controls">
    <input type="text" class="span11" placeholder="First name" name="c_name" />
    </div>
    </div>
  <div class="controls">
    <label class="control-label">Course Description :</label>
     <textarea class="textarea_editor span12" rows="6" placeholder="Enter text ..." name="c_description"></textarea>
     </div>
    <div class="form-actions">
     <input type="submit" value="SAVE" name="insertcourse" class="btn btn-success">
      </div>
      </form>
<?php
class operations{

public $user_name;
public $error;
public $con;


public function __construct()
{       
    $this->con = new mysqli("localhost","root","","admin_with_oops");
}
public function insert_course($c_name,$c_description)
{
    $date1 = date("Y-m-d");
    $result = $this->con->query("insert into courses (c_name,c_description,date1,status1) VALUES ('$c_name', '$c_description', '$date1','1')");
    if($result)
    {
        $alertmsgs = "Inserted Successfully";
        $this->alertmsg($alertmsgs);

    }
}
public function alertmsg($alertmsgs)
{
    echo"<div class='alert alert-error'>
          <button class='close' data-dismiss='alert'>×</button>
          <strong></strong> $alertmsgs </div>
      </div>";
}
}
您可以将其添加到表单中的隐藏输入中。在初次提交时使用该ID的数据库,不允许再次插入

<input type="hidden" value="<?php com_create_guid() ?>">

。。。您的代码也容易受到SQL注入的攻击。学习使用检查课程之前是否已经存在?谢谢回复。但我能在类中直接调用重定向函数吗?还有其他方法吗?我不知道在类中调用该函数是什么意思。隐藏guid输入的目的是在浏览器中放置一些独特的内容,以便在发布表单时识别表单。如果在POST操作期间计算了类中的guid,则会为每个POST重新生成guid,从而破坏guid的用途。如果您只是问是否可以出于组织目的在类中放置guid创建方法,我想肯定是这样。只需确保在GET请求中调用它来设置隐藏输入的值。