大家好,我是新来的人,现在我正在为一个项目建立网站我遇到了最后一个问题,我需要修复其中一种形式,即不将数据提交到数据库并且不重定向用户到上一页
我试图将表单的代码与控制器中的其他表单,视图和模型进行比较,但是看不到任何差异。我几次检查了几个小时,然后尝试搜索一些解决方案,但没有一个起作用
首先,这是控制器函数,该函数从表单中获取数据以在数据库中进行创建和更新
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>
即使将其与其他没有问题的形式进行比较,我也不知道我的代码有什么问题。我需要查看为什么当我单击“提交”按钮时,我停留在表单页面上,而不是被重定向到上一页并在数据库中更新数据。
答案 0 :(得分:1)
更改
<form method="POST">
到
<form method="POST" action="[url of your php script]">
有关表单的动作标签here
的更多信息