php - 当我刷新我的页面时,它会自动将值输入到数据库 Codeigniter

标签 php html codeigniter

我使用 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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <input type="checkbox" name="genres" value="Adventure">Adventure&nbsp;&nbsp;&nbsp;
                    <input type="checkbox" name="genres" value="Animation">Animation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <input type="checkbox" name="genres" value="Biography">Biography<br />

                    <input type="checkbox" name="genres" value="Comedy">Comedy&nbsp;&nbsp;&nbsp;
                    <input type="checkbox" name="genres" value="Crime">Crime&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <input type="checkbox" name="genres" value="Documentary">Documentary&nbsp;&nbsp;&nbsp;
                    <input type="checkbox" name="genres" value="Drama">Drama<br />

                    <input type="checkbox" name="genres" value="Family">Family&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <input type="checkbox" name="genres" value="Fantasy">Fantasy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <input type="checkbox" name="genres" value="Film-Noir">Film-Noir&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <input type="checkbox" name="genres" value="Game-Show">Game-Show<br />

                    <input type="checkbox" name="genres" value="History">History&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <input type="checkbox" name="genres" value="Horror">Horror &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <input type="checkbox" name="genres" value="Music">Music&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <input type="checkbox" name="genres" value="Musical">Musical<br />


                    <input type="checkbox" name="genres" value="Mystery">Mystery&nbsp;&nbsp;&nbsp;&nbsp;
                    <input type="checkbox" name="genres" value="News">News&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <input type="checkbox" name="genres" value="Reality-TV">Reality-TV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                     <input type="checkbox" name="genres" value="Romance">Romance<br />



                    <input type="checkbox" name="genres" value="Sci-Fi">Sci-Fi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <input type="checkbox" name="genres" value="Sport">Sport&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <input type="checkbox" name="genres" value="Talk-Show">Talk-Show&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <input type="checkbox" name="genres" value="Thriller">Thriller<br />

                    <input type="checkbox" name="genres" value="War">War&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <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>

这是我的 Controller 代码...

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;   
    }

最佳答案

if($this->form_validation->run() == FALSE)
{
    $this->admin();
}
else
{
    $result = $this->site_upload->add_data();

    if ($result)
    {
         redirect('/path/you/want/to/redirect'); //do the redirection
    }   
}

redirect() 将达到目的。

关于php - 当我刷新我的页面时,它会自动将值输入到数据库 Codeigniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18431783/

相关文章:

php - 在 PHP 中修改 ZIP 文件中的单个文本文件

java - 有没有办法在php中使用交换加密?

javascript - 访问当前所选 DOM 元素的子项

php - Codeigniter 中带有 If 条件的 MySQL get_where

php - Wordpress 动态页脚小部件 - 仅当一个小部件存在时才显示第二个小部件区域,否则显示 1

php - 如何使用爆炸函数和准备好的语句根据 id 动态获取图像数组?

html - 导航栏按钮

javascript - 如何将参数从javascript传递给less

php - 表单未发送完整数据

php - Codeigniter 连接 4 个表