Page vierge lors de la validation d'un formulaire

Fermé
arsene2 Messages postés 4 Date d'inscription vendredi 10 août 2018 Statut Membre Dernière intervention 12 août 2018 - Modifié le 10 août 2018 à 04:50
arsene2 Messages postés 4 Date d'inscription vendredi 10 août 2018 Statut Membre Dernière intervention 12 août 2018 - 12 août 2018 à 12:27
J'apprends à développer avec codeigniter 3.1.8, pour cela je suis confronté à un problème:je suis redirigé vers une page blanche et mes erreurs ne s'affichent pas. s'il vous plaît je voudrais que vous me donnez un coup de main

voici la fonction du modèle pour l'insertion

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class M_root extends CI_Model{



    function isertion_root(){
        $root=array(
            'nom_admin'=>'$user_name',
            'prenom_admin'=>'$user_prenom',
            'email_admin'=>'$user_email',
            'date_nais_admin'=>'$date_nais',
            'date_inscription_admin'=>'NOW(),false',
            'avatar_root'=>'$avatar_root',
            'password_root'=>'$pssword_root'

        );
        $this->db->insert('root', $root);
    }

    /**
     * @param $email
     * @param $password
     * @return bool
     */
    function login_root($email,$password){

        $this->db->select('*');
        $this->db->from('root');
        $this->db->where('email_admin',$email);
        $this->db->where('password_root',$password);

        if ($query=$this->db->get())
        {
            return $query->row_array();
        }
        else{
            return false;
        }
    }

    public function email_check($email_admin){

        $this->db->select('*');
        $this->db->from('root');
        $this->db->where('email_admin',$email_admin);
        $query=$this->db->get();

        if($query->num_rows()>0){
            return false;
        }else{
            return true;
        }

    }


}



voici la fonction du contrôleur pour l'insertion

class Root extends CI_Controller{

    function __construct(){
        parent:: __construct();
        $this->load->database();
        $this->load->model('M_root');
        $this->load->library('upload');
        $this->load->library('form_validation');
        $this->load->helper(array('form', 'url'));
        $this->load->library('session');

    }

    public function index()
       {
        $this->load->view("register.php");
        }

        //debut fonction d'enregistrement

        public function isertion_root(){
            if($this->input->post('registersubmit')){

            $config['upload_path']          = './assets/avatar-root/';
            $config['allowed_types']        = 'gif|jpg|png';
            $config['max_size']             = 100;
            $config['max_width']            = 1024;
            $config['max_height']           = 768;
            $this->upload->initialize($config);
            if(!empty($_FILES['filefoto']['name']))
            {
                if ($this->upload->do_upload('filefoto'))
                {
                    $gbr = $this->upload->data();
                    //Compress Image
                    $config['image_library']='gd2';
                    $config['source_image']='./assets/avatar-root/'.$gbr['file_name'];
                    $config['create_thumb']= FALSE;
                    $config['maintain_ratio']= FALSE;
                    $config['quality']= '60%';
                    $config['new_image']= './assets/avatar-root/'.$gbr['file_name'];
                    $this->load->library('image_lib', $config);
                    $this->image_lib->resize();


                    $this->form_validation->set_rules('nom_admin', 'nom administrateur', 'trim|required|min_length[3]|max_length[23]|alpha_dash|encode_php_tags|xss_clean');
                    $this->form_validation->set_rules('prenom_admin', 'prenom administrateur', 'trim|required|alpha_dash|encode_php_tags|xss_clean');
                    $this->form_validation->set_rules('email_admin', 'Email administrateur', 'trim|required|valid_email|xss_clean');
                    $this->form_validation->set_rules('date_nais_admin', 'Date de naissance administateur', 'trim|required');
                    $this->form_validation->set_rules('avatar_root', 'Avatar root', 'trim|required');
                    $this->form_validation->set_rules('password_root', 'password root', 'trim|required|min_length[8]|xss_clean');
                    $this->form_validation->set_rules('conf_password', 'confirm password', 'trim|required|matches[password]');

                        $root = array(
                            'nom_admin' => strip_tags($this->input->post('nom_admin')),
                            'prenom_admin' => strip_tags($this->input->post('prenom_admin')),
                            'email_admin' => strip_tags($this->input->post('email_admin')),
                            'date_nais_admin' => strip_tags($this->input->post('date_nais_admin')),
                            'avatar_root' => strip_tags($this->input->post('avatar_root')),
                            'password_root' => password_hash($this->input->post('password'),PASSWORD_DEFAULT)


                        );
                        print_r($root);
                        if ($this->form_validation->run() == TRUE)
                    {

                        $email_check=$this->M_root->email_check($root['email_admin']);

                       if($email_check){
                               $this->M_root->isertion_root($root);
                                $this->session->set_flashdata('success_msg', 'Registered successfully.Now login to your account.');
                        redirect('root/login_view');

                                   }
                    }
                                     else{

                                    $this->load->view('register');


                                }

            }

        }
        }

    }
//fin fonction d'enregistrement


la vue


<span style="background-color:red;">
  <div class="container">
      <div class="row">
          <div class="col-md-4 col-md-offset-4">
              <div class="login-panel panel panel-success">
                  <div class="panel-heading">
                      <h3 class="panel-title">Creation d'un compte</h3>
                  </div>
                  <div class="panel-body">

                  <p class="alert-danger"><?php
                  $error_msg=$this->session->flashdata('error_msg');
                  if($error_msg){
                    echo $error_msg;
                  }
                   ?></p>
                     <?php echo validation_errors(); ?>
                      <form role="form" method="post" enctype="multipart/form-data" autocomplete="off" action="<?php echo base_url().'Root/isertion_root'?>">
                          <fieldset>
                              <div class="form-group">
                                <?php echo form_error('nom_admin'); ?>
                                  <input class="form-control" placeholder="Votre nom" name="nom_admin" value="<?php echo set_value('nom_admin'); ?>"type="text" autofocus>
                              </div>

                               <div class="form-group">
                                  <input class="form-control" placeholder="Votre prenom" name="prenom_admin" type="text" autofocus>
                              </div>

                              <div class="form-group">
                                  <input class="form-control" placeholder="E-mail" name="email_admin" type="email" autofocus>
                              </div>
                              <div class="form-group">

                              <div class="form-group">
                                  <input class="form-control" placeholder="votre date de naissance" name="date_nais_admin" type="date" value="">
                              </div>

                               <div class="form-group">
                                  <input class="form-control" placeholder="mot de passe " name="password_root" type="password" value="">
                              </div>

                                  <div class="form-group">
                                  <input class="form-control" placeholder="confirmez votre mot de passe" name="conf_password" type="password" value="">
                              </div>

                              <div class="form-group">
                                  <input class="form-control" placeholder="votre photo" name="avatar_root" type="file" value="">
                              </div>

                              <input class="btn btn-lg btn-success btn-block" type="submit" value="Register" name="registersubmit" >

                          </fieldset>
                      </form>
                      <center><b>Already registered ?</b> <br></b><a href="<?php echo base_url('root/login_view'); ?>">Login here</a></center><!--for centered text-->
                  </div>
              </div>
          </div>
      </div>
  </div>





</span>
A voir également:

2 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
10 août 2018 à 09:37
Bonjour,

Déjà
$root=array(
            'nom_admin'=>'$user_name',
            'prenom_admin'=>'$user_prenom',
            'email_admin'=>'$user_email',
            'date_nais_admin'=>'$date_nais',
            'date_inscription_admin'=>'NOW(),false',
            'avatar_root'=>'$avatar_root',
            'password_root'=>'$pssword_root'

        );

Il ne faut pas placer les VARIABLES entre simples quotes. Sinon elles ne sont pas interprétées...
$root=array(
            'nom_admin'=>$user_name,
            'prenom_admin'=>$user_prenom,
            'email_admin'=>$user_email,

      etc...



Concernant l'affichage des erreurs...
Commence par ajouter ces quelques lignes à ton index.php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

0
arsene2 Messages postés 4 Date d'inscription vendredi 10 août 2018 Statut Membre Dernière intervention 12 août 2018
10 août 2018 à 19:39
Merci pour ton aide mais même après modification j'ai toujours le même problème.
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
10 août 2018 à 20:24
Tu as activé l'affichage des erreurs ?
Tu n'as pas de message d'erreur qui apparait sur ta page ?? Oo
0
arsene2 Messages postés 4 Date d'inscription vendredi 10 août 2018 Statut Membre Dernière intervention 12 août 2018
11 août 2018 à 01:41
oui je l'ai fais
0
arsene2 Messages postés 4 Date d'inscription vendredi 10 août 2018 Statut Membre Dernière intervention 12 août 2018
12 août 2018 à 12:27
Merci Jordan j'ai revérifie mon code et voilà mon nouveau contrôleur

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Root extends CI_Controller{

    function __construct(){
        parent:: __construct();
        $this->load->database();
        $this->load->model('M_root');
        $this->load->library('upload');
        $this->load->library('form_validation');
        $this->load->helper(array('form', 'url'));
        $this->load->library('session');

    }

    public function index()
       {
        $this->load->view("register.php");
        }

        //debut fonction d'enregistrement

    public function isertion_root(){
        if ($this->input->post('registersubmit')) {
        $this->form_validation->set_rules('nom_admin', 'nom administrateur', 'trim|required|min_length[3]|max_length[23]|alpha_dash|encode_php_tags|xss_clean');
        $this->form_validation->set_rules('prenom_admin', 'prenom administrateur', 'trim|required|alpha_dash|encode_php_tags|xss_clean');
        $this->form_validation->set_rules('email_admin', 'Email administrateur', 'trim|required|valid_email|xss_clean');
        $this->form_validation->set_rules('date_nais_admin', 'Date de naissance administateur', 'trim|required');
        $this->form_validation->set_rules('avatar_root', 'Avatar root', 'trim|required');
        $this->form_validation->set_rules('password_root', 'password root', 'trim|required|min_length[8]|xss_clean');
        $this->form_validation->set_rules('conf_password', 'confirm password', 'trim|required|matches[password]');
        if ($this->form_validation->run()) {
            $this->load->library('upload');
            $config['upload_path'] = './assets/avatar-root/';
            $config['allowed_types'] = 'gif|jpg|png';
            $config['max_size'] = 100;
            $config['max_width'] = 1024;
            $config['max_height'] = 768;
            $this->upload->initialize($config);
            if ($this->upload->do_upload('filefoto')) {
                $gbr = $this->upload->data();
                //Compress Image
                $config['image_library'] = 'gd2';
                $config['source_image'] = './assets/avatar-root/' . $gbr['file_name'];
                $config['create_thumb'] = FALSE;
                $config['maintain_ratio'] = FALSE;
                $config['quality'] = '60%';
                $config['new_image'] = './assets/avatar-root/' . $gbr['file_name'];
                $this->load->library('image_lib', $config);
                $this->image_lib->resize();
                $root = array(
                    'nom_admin' => strip_tags($this->input->post('nom_admin')),
                    'prenom_admin' => strip_tags($this->input->post('prenom_admin')),
                    'email_admin' => strip_tags($this->input->post('email_admin')),
                    'date_nais_admin' => strip_tags($this->input->post('date_nais_admin')),
                    'avatar_root' => strip_tags($this->input->post('avatar_root')),
                    'password_root' => password_hash($this->input->post('password'), PASSWORD_DEFAULT)
                );
               
                if ($this->M_root->email_check($root['email_admin'])) {
                    $this->M_root->isertion_root($root);
                    $this->session->set_flashdata('success_msg', 'Registered successfully.Now login to your account.');
                    redirect('root/login_view');
                } else {
                    $this->session->set_flashdata('error_msg', 'bad email');
                }
            } else {
                $this->session->set_flashdata('error_msg', $this->upload->display_errors());
            }
        }
    }
    $this->load->view("register.php");
}
//fin fonction d'enregistrement



mes erreurs s'affichent déjà mais lorsque je soumets des informations valides j'ai ceux ci comme erreur


Vous ne pouvez pas accéder à un message d'erreur pour votre champ nommé nom de l'administrateur. (Xss_clean)

Vous ne pouvez pas accéder à un message d'erreur pour votre champ nommé administrateur prénom. (Xss_clean)

Vous ne pouvez pas accéder à un message d'erreur pour votre champ nommé Email administrateur. (Xss_clean)

Le champ racine Avatar est requis.

Vous ne pouvez pas accéder à un message d'erreur pour votre champ nommé mot de passe root. (Xss_clean)

Le champ Confirmer le mot de passe doit correspondre au champ du mot de passe.

Vous ne pouvez pas accéder à un message d'erreur pour votre champ nommé nom de l'administrateur. (Xss_clean).

j'ai pas trop pourquoi
0