Menu

Page vierge lors de la validation d'un formulaire

arsene2 4 Messages postés vendredi 10 août 2018Date d'inscription 12 août 2018 Dernière intervention - 10 août 2018 à 04:47 - Dernière réponse : arsene2 4 Messages postés vendredi 10 août 2018Date d'inscription 12 août 2018 Dernière intervention
- 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>
Afficher la suite 

Votre réponse

5 réponses

jordane45 22909 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 21 octobre 2018 Dernière intervention - 10 août 2018 à 09:37
0
Merci
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);

arsene2 4 Messages postés vendredi 10 août 2018Date d'inscription 12 août 2018 Dernière intervention - 10 août 2018 à 19:39
Merci pour ton aide mais même après modification j'ai toujours le même problème.
jordane45 22909 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 21 octobre 2018 Dernière intervention - 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
arsene2 4 Messages postés vendredi 10 août 2018Date d'inscription 12 août 2018 Dernière intervention - 11 août 2018 à 01:41
oui je l'ai fais
Commenter la réponse de jordane45
arsene2 4 Messages postés vendredi 10 août 2018Date d'inscription 12 août 2018 Dernière intervention - 12 août 2018 à 12:27
0
Merci
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
Commenter la réponse de arsene2