我已经使用 codeigniter 创建了一个。当用户第一次来到表单页面时,用户然后提交值,然后将值存储到数据库中,用户再次被引导到表单页面。现在的问题是,如果用户在第一次提交表单后刷新页面,最后插入的值会在用户刷新页面时一次又一次地自动添加到数据库中,如何停止?
这是我的查看代码...
<?php echo form_open("site/upload_data"); ?>
<div id="container" style="float:left; width:561px; height:50px">
<div id="name" style="float:left; width:150px;">
Movie Name:
</div>
<div id="field" style="float:left; width:411px;">
<input type="text" name="movie_name" />
</div>
</div>
<div id="container" style="float:left; width:561px; height:50px">
<div id="name" style="float:left; width:150px;">
Release Date:
</div>
<div id="field" style="float:left; width:411px;">
<input type="text" name="date" />
</div>
</div>
<div id="container" style="float:left; width:561px; height:160px">
<div id="name" style="float:left; width:150px;">
Genres:
</div>
<div id="field" style="float:left; width:411px;">
<input type="checkbox" name="genres" value="Action">Action
<input type="checkbox" name="genres" value="Adventure">Adventure
<input type="checkbox" name="genres" value="Animation">Animation
<input type="checkbox" name="genres" value="Biography">Biography<br />
<input type="checkbox" name="genres" value="Comedy">Comedy
<input type="checkbox" name="genres" value="Crime">Crime
<input type="checkbox" name="genres" value="Documentary">Documentary
<input type="checkbox" name="genres" value="Drama">Drama<br />
<input type="checkbox" name="genres" value="Family">Family
<input type="checkbox" name="genres" value="Fantasy">Fantasy
<input type="checkbox" name="genres" value="Film-Noir">Film-Noir
<input type="checkbox" name="genres" value="Game-Show">Game-Show<br />
<input type="checkbox" name="genres" value="History">History
<input type="checkbox" name="genres" value="Horror">Horror
<input type="checkbox" name="genres" value="Music">Music
<input type="checkbox" name="genres" value="Musical">Musical<br />
<input type="checkbox" name="genres" value="Mystery">Mystery
<input type="checkbox" name="genres" value="News">News
<input type="checkbox" name="genres" value="Reality-TV">Reality-TV
<input type="checkbox" name="genres" value="Romance">Romance<br />
<input type="checkbox" name="genres" value="Sci-Fi">Sci-Fi
<input type="checkbox" name="genres" value="Sport">Sport
<input type="checkbox" name="genres" value="Talk-Show">Talk-Show
<input type="checkbox" name="genres" value="Thriller">Thriller<br />
<input type="checkbox" name="genres" value="War">War
<input type="checkbox" name="genres" value="Western">Western
</div>
</div>
<div id="container" style="float:left; width:561px; height:50px">
<div id="name" style="float:left; width:150px;">
Rating:
</div>
<div id="field" style="float:left; width:411px;">
<input id="ttcontact" type="radio" checked="checked" value="G" name="rating">
G
<input id="ttcontact" type="radio" value="PG" name="rating">
PG
<input id="ttcontact" type="radio" value="PG-13" name="rating">
PG-13
<input id="ttcontact" type="radio" value="R" name="rating">
R
<input id="ttcontact" type="radio" value="NC-17" name="rating">
NC-17
</div>
</div>
<div id="container" style="float:left; width:561px; height:50px">
<div id="name" style="float:left; width:150px;">
Stars:
</div>
<div id="field" style="float:left; width:411px;">
<input type="text" name="star" placeholder="Eg: Max, John" />
</div>
</div>
<div id="container" style="float:left; width:561px; height:50px">
<div id="name" style="float:left; width:150px;">
Director:
</div>
<div id="field" style="float:left; width:411px;">
<input type="text" name="director" />
</div>
</div>
<div id="container" style="float:left; width:561px; height:50px">
<div id="name" style="float:left; width:150px;">
Writers:
</div>
<div id="field" style="float:left; width:411px;">
<input type="text" name="writers" />
</div>
</div>
<div id="container" style="float:left; width:561px; height:50px">
<div id="name" style="float:left; width:150px;">
Movie Path:
</div>
<div id="field" style="float:left; width:411px;">
<input type="text" name="path" />
</div>
</div>
<div id="container" style="float:left; width:561px; height:50px; text-align:center">
<div id="btn" style="float:left;margin-left: 375px; margin-top: 25px;">
<input type="submit" value="Submit" />
</div>
</div>
<?php echo form_close(); ?>
</div>
这是我的控制器代码...
public function upload_data()
{
$this->load->library('form_validation');
// field name, error message, validation rules
$this->form_validation->set_rules('movie_name', 'Movie Name', 'trim|required|min_length[4]|xss_clean');
$this->form_validation->set_rules('date', 'date', 'trim|required|min_length[4]|xss_clean');
$this->form_validation->set_rules('genres', 'genres', 'trim|required|min_length[4]|xss_clean');
$this->form_validation->set_rules('star', 'star', 'trim|required|min_length[4]|xss_clean');
$this->form_validation->set_rules('director', 'director', 'trim|required|min_length[4]|xss_clean');
$this->form_validation->set_rules('writers', 'writers', 'trim|required|min_length[4]|xss_clean');
$this->form_validation->set_rules('path', 'path', 'trim|required|min_length[4]|xss_clean');
if($this->form_validation->run() == FALSE)
{
$this->admin();
}
else
{
$result = $this->site_upload->add_data();
if ($result)
{
$this->load->view('admin');
}
}
}
这是我的模型代码...
public function add_data()
{
$values = array (
'movie_name' => $this->input->post('movie_name'),
'date' => $this->input->post('date'),
'genres' => $this->input->post('genres'),
'rating' => $this->input->post('rating'),
'star' => $this->input->post('star'),
'director' => $this->input->post('director'),
'writers' => $this->input->post('writers'),
'path' => $this->input->post('path')
);
$rows = $this->db->insert('data',$values);
return $rows;
}