профиль пользователя не обновляет информацию о пользователе - PullRequest
0 голосов
/ 29 декабря 2018

У меня проблема, когда я делаю страницу редактирования моего профиля пользователя на моем веб-сайте, кнопка отправки не работает. Мне нужно знать, почему она не работает

, вот мой контроллер, функция edit_profile

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

    $this->load->model('mStages');
    $email_user = $this->session->userdata('email');
    $utilisateur = $this->mStages->get_utilisateur($email_user);
    if(!$utilisateur) redirect('main_stage/afficher_dashboard');

    $data = array();
    $data['personne'] = $utilisateur;

    $this->load->library('form_validation');
    $this->form_validation->set_rules('nom','Nom','required');
    $this->form_validation->set_rules('prenom','Prénom','required');
    $this->form_validation->set_rules('mail','Email','required');
    $this->form_validation->set_rules('adresse','Adresse','required');
    $this->form_validation->set_rules('code_postal','Code postal','required');
    $this->form_validation->set_rules('tel','téléphone','required');
    $this->form_validation->set_rules('date_nais','Date de naissance','required');
    $this->form_validation->set_rules('num_secu','numéro de sécurité sociale','required');
    $this->form_validation->set_rules('mutuelle','Mutuelle','required');
    $this->form_validation->set_rules('obj_pro','Objectif pro','required');
    $this->form_validation->set_rules('motdepasse','Mot de passe','required');


    if($this->form_validation->run() == FALSE)
    {
        $this->load->view('form',$data);
    }
    else 
    {
        $update_profil = array (
            'statut'=> $this->input->post('statut'),
            'civilite' => $this->input->post('civilite'),
            'prenom' => $this->input->post('prenom'),
            'nom' => $this->input->post('nom'),
            'mail' => $this->input->post('mail'),
            'adresse' => $this->input->post('adresse'),
            'complement' => $this->input->post('complement'),
            'code_postal' => $this->input->post('code_postal'),
            'tel' => $this->input->post('tel'),
            'date_nais' => $this->input->post('date_nais'),
            'num_secu' => $this->input->post('num_secu'),
            'mutuelle' => $this->input->post('mutuelle'),
            'objectif_pro' => $this->input->post('obj_pro'),
            'Mot de passe' => $this->input->post('motdepasse'),

            );
            $utilisateur_id = $this->mStages->get_utilisateur_id($email_user);
            $this->mStages->update_personne($utilisateur_id,$update_profil); 
            redirect('main_stage/afficher_dashboard');          
    }
}

и вот моя модель, когда я хочу обновить данные пользователя в базе данных

public function update_personne($utilisateur_id,$data)
{
    $this->db->where('id_personne',$utilisateur_id);
    return $this->db->update('personne', $data);
}

и, наконец, вот код вида формы

<!DOCTYPE html>
 <html>
<head>
 <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="assets/css/form.css"> <link rel="shortcut icon" type="image/png"> <link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet"> 
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">

<!-- Theme CSS -->
<link href="<?php echo base_url('assets/css/form.css');?>" rel="stylesheet"> 
<title>Mon Profil</title>
  <center><h1>Mon Profil</h1></center>
</head>
<body>

<form action="<?php echo base_url().'main_stage/edit_profil' ?>" method="POST">

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

    <label>Civilité</label>

    <div class="styled-select blue semi-square">

     <select id="carte" name="civilite">
         <option value="Mr" <?php if($personne->civilite == 'Mr'){ echo set_select('civilite', 'Mr', TRUE);} ?> >Mr</option>
         <option value="Mrs" <?php if($personne->civilite == 'Mrs'){ echo set_select('civilite', 'Mrs', TRUE);} ?>>Mrs</option>
         <option value="Autre" <?php if($personne->civilite == 'Autre'){ echo set_select('civilite', 'Autre', TRUE); }?>>Autre</option>
     </select>

    </div>

    <br> 
    <label> Mail </label><input class="pseudo" id="pseudo" type="mail" name="mail" value="<?php echo set_value('mail',$personne->mail);?>" required="">
    <br>

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

    <br> 
    <label> Complement </label><input class="pseudo" id="pseudo" type="text" name="complement" value="<?php echo set_value('complement',$personne->complement);?>">
    <br>

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

    <br> 
    <label> Telephone </label><input class="pseudo" id="pseudo" type="text"  name="tel" value="<?php echo set_value('tel',$personne->tel);?>" required="" pattern="(01|02|03|04|05|06|07|08|09)[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}">
    <br>

    <br> 
    <label> Date de naissance </label><input type="date" name="date_naissance" value="<?php echo set_value('date_naissance',$personne->date_naiss);?>" class="pseudo" id="pseudo" required="">
    <br>

    <br> 
    <label> Numero de sécurité sociale </label><input type="text" class="pseudo" id="pseudo" name="num_secu" value="<?php echo set_value('num_secu',$personne->num_secu);?>" required="" pattern="[12][ \.\-]?[0-9]{2}[ \.\-]?(0[1-9]|[1][0-2])[ \.\-]?([0-9]{2}|2A|2B)[ \.\-]?[0-9]{3}[ \.\-]?[0-9]{3}[ \.\-]?[0-9]{2}">
    <br>

    <br> 
    <label> Mutuelle </label><input type="text" class="pseudo" id="pseudo" name="mutuelle" value="<?php echo set_value('mutuelle',$personne->mutuelle);?>" required="" >
    <br>

    <br> 
    <label> Objectif pro </label><input type="text" class="pseudo" id="pseudo" name="obj_pro" value="<?php echo set_value('obj_pro',$personne->objectif_pro);?>" required="" >
    <br>

    <br> 
    <label> Mot de passe </label><input type="text" class="pseudo" id="pseudo" name="motdepasse" value="<?php echo set_value('motdepasse',$personne->motdepasse);?>" required="" >
    <br>

    <br> 

    <center><input type="submit" id="button" value="Valider"></center>

    </div>

</form> 

</html>

Мне нужнопосмотрите, не ошибся ли я, потому что при попытке этого кода я получаю ошибку 404, когда нажимаю на кнопку отправки, которая должна перенаправить пользователя на его панель управления


Решено

Iсделал так, что вот что изменилось в контроллере

$update_profil = array (
                'civilite' => $this->input->post('civilite'),
                'prenom' => $this->input->post('prenom'),
                'nom' => $this->input->post('nom'),
                'mail' => $this->input->post('mail'),
                'adresse' => $this->input->post('adresse'),
                'complement' => $this->input->post('complement'),
                'code_postal' => $this->input->post('code_postal'),
                'tel' => $this->input->post('tel'),
                'date_naiss' => $this->input->post('date_naissance'),
                'num_secu' => $this->input->post('num_secu'),
                'mutuelle' => $this->input->post('mutuelle'),
                'objectif_pro' => $this->input->post('obj_pro'),
                'motdepasse' => $this->input->post('motdepasse'),

                );
                $this->load->model('mStages');
                $utilisateur_id = $this->mStages->get_utilisateur_id($email_user);
                $this->mStages->update_personne($utilisateur_id,$update_profil); 
                redirect('main_stage/afficher_dashboard');

и вот что изменилось в представлении

<form method="POST">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...