Codeigniter 3.1.9表单未提交数据

时间:2019-01-05 13:20:44

标签: php html codeigniter

大家好,我是新来的人,现在我正在为一个项目建立网站我遇到了最后一个问题,我需要修复其中一种形式,即不将数据提交到数据库并且不重定向用户到上一页

我试图将表单的代码与控制器中的其他表单,视图和模型进行比较,但是看不到任何差异。我几次检查了几个小时,然后尝试搜索一些解决方案,但没有一个起作用

首先,这是控制器函数,该函数从表单中获取数据以在数据库中进行创建和更新

public function modifier_stage($stage_id)
    {
        $this->load->helper(array('form','url'));

        $this->load->model('mStages');
        $stage = $this->mStages->get_non_valide($stage_id);
        if(!$stage) redirect('main_stage/afficher_gestion_stages');

        $data = array();
        $data['stage'] = $stage;

        $this->load->library('form_validation');
        $this->form_validation->set_rules('intitule', 'Intitule_stage','required');
        $this->form_validation->set_rules('nom_entreprise','Nom entreprise','required'); 
        $this->form_validation->set_rules('date_debut','Date de début','required');
        $this->form_validation->set_rules('date_fin','Date de fin','required');
        $this->form_validation->set_rules('adresse','Adresse','required');
        $this->form_validation->set_rules('mission','Mission du stage','required');
        $this->form_validation->set_rules('code_postal','code postal','required');
        $this->form_validation->set_rules('ville','Ville','required');
        $this->form_validation->set_rules('pays_stage','Pays','required');
        $this->form_validation->set_rules('mail','Mail auteur','required'); 


        if($this->form_validation->run() == FALSE)
        {
            $this->load->view('stage_modif',$data);
            echo validation_errors();
        }
        else{
                $emailauteur = $this->input->post('mail');
                $entreprise_nom = $this->input->post('nom_entreprise');

                $idauteur = $this->mStages->get_utilisateur_id($emailauteur);
                $entreprise_id = $this->mStages->get_entreprise_id($entreprise_nom);
                $stage_modif = array(
                'intitule_stage' => $this->input->post('intitule'),
                'entreprise' => $entreprise_id,
                'date_debut_stage' => $this->input->post('date_debut'),
                'date_fin_stage' => $this->input->post('date_fin'),
                'adresse' => $this->input->post('adresse'),
                'mission' => $this->input->post('mission'),
                'code_postal' => $this->input->post('code_postal'),
                'ville' => $this->input->post('ville'),
                'pays' => $this->input->post('pays_stage'),
                'auteur' => $idauteur,

                );

                $this->mStages->update_stage($stage_id,$stage_modif);
                redirect('main_stage/afficher_gestion_stages');
        }
    }

现在这是在数据库中进行更新的模型函数

 public function update_stage($stage_id,$data)
{
    $this->db->where('id_stage',$stage_id);
    $query = $this->db->update('stage', $data);
}

最后这是视图中表单的代码

 <form method="POST" >


    <label> Intitulé du Stage </label><input class="pseudo" id="pseudo" type="text"  name="intitule" value="<?php echo set_value('intitule',$stage->intitule_stage);?>" required="" >
    <br>

    <label> Nom Entreprise </label><input class="pseudo" id="pseudo" type="text" name="nom_entreprise" value="<?php echo set_value('nom_entreprise',$stage->nom_entreprise);?>" required="">
    <br>

    <br> 
    <label> Date de début </label><input type="date" name="date_debut" class="pseudo" id="pseudo" value="<?php echo set_value('date_debut',$stage->date_debut_stage);?>" required="" >
    <br>

    <br> 
    <label> Date de fin </label><input type="date" name="date_fin" class="pseudo" id="pseudo" value="<?php echo set_value('date_fin',$stage->date_fin_stage);?>" required="">
    <br>

    <br> 
    <label> Adresse du stage</label><input class="pseudo" id="pseudo" type="text"  name="adresse" value="<?php echo set_value('adresse',$stage->stage_adresse);?>" required="">
    <br>

    <br> 
    <label> Mission du stage</label><input class="pseudo" id="pseudo" type="text"  name="mission"   value="<?php echo set_value('mission',$stage->mission);?>" required="">
    <br>

    <br> 
    <label> Code Postal du stage </label><input class="pseudo" id="pseudo" type="text"  name="code_postal"  value="<?php echo set_value('code_postal',$stage->cp_stage);?>" required="">
    <br>

    <br> 
    <label> Ville du stage </label><input class="pseudo" id="pseudo" type="text" name="ville" value="<?php echo set_value('ville',$stage->ville_stage);?>" required="">
    <br>

    <br> 
    <label> Mail Auteur du stage </label><input class="pseudo" id="pseudo" type="mail" name="mail" value="<?php $this->load->model('mStages'); echo set_value('mail',$this->mStages->get_utilisateur_email($stage->auteur));?>" required="" >
    <br>

    <br> 
    <label> Pays du stage </label><input class="pseudo" id="pseudo" type="text"  name="pays_stage" value="<?php echo set_value('pays_stage',$stage->pays_stage);?>" required="" >
    <br>

    <br>
    <br> 
    <br>

    <center><input type="submit" id="button" value="Modifier les valeurs"><?php echo anchor("/main_stage/afficher_confirmation_suppression_stage/$stage->id_stage",'Supprimer', 'class="btn_choice" ' ); ?></center>


    <br> 
    <br>

    </div>



</form> 

即使将其与其他没有问题的形式进行比较,我也不知道我的代码有什么问题。我需要查看为什么当我单击“提交”按钮时,我停留在表单页面上,而不是被重定向到上一页并在数据库中更新数据。

1 个答案:

答案 0 :(得分:1)

更改

<form method="POST">

<form method="POST" action="[url of your php script]">

有关表单的动作标签here

的更多信息