IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[CakePHP2.4.1] Echec de chargement de la page


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Février 2008
    Messages : 154
    Points : 58
    Points
    58
    Par défaut [CakePHP2.4.1] Echec de chargement de la page
    bonsoir à tous,
    je suis le tuto d'authentification du book de cakephp.org: Authentification Simple et Autorisation de l’Application

    pour l'adapter à mon sujet, j'ai remplacé le champ role par une clé etrangere group_id qui provient de la table groups:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    CREATE TABLE `users` (
     `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
     `username` varchar(50) DEFAULT NULL,
     `password` varchar(50) DEFAULT NULL,
     `group_id` varchar(20) NOT NULL,
     `created` datetime DEFAULT NULL,
     `modified` datetime DEFAULT NULL,
     PRIMARY KEY (`id`),
     KEY `group_id` (`group_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1
    user.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    <?php
    App::uses('AuthComponent', 'Controller/Component');
     
    class User extends AppModel {
     
        public $name = 'User';
     
    	var $belongsTo = 'Group';
     
        public $validate = array(
            'username' => array(
                'required' => array(
                    'rule' => array('notEmpty'),
                    'message' => 'Un nom d\'user est requis'
                )
            ),
            'password' => array(
                'required' => array(
                    'rule' => array('notEmpty'),
                    'message' => 'Un mot de passe est requis'
                )
            )
        );
     
     
    	public function beforeSave($options = array()) {
        if (isset($this->data[$this->alias]['password'])) {
            $this->data[$this->alias]['password'] = AuthComponent::password($this->data[$this->alias]['password']);
        }
        return true;
    }
     
    }
    ?>

    UsersController.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
     
    <?php
    	class UsersController extends AppController {
     
      public function beforeFilter() {
        parent::beforeFilter();
        $this->Auth->allow('add'); // Laissons les users d'enregistrer eux-memes
    }
     
        public function index() {
            $this->User->recursive = 0;
            $this->set('users', $this->paginate());
        }
     
        public function view($id = null) {
            $this->User->id = $id;
            if (!$this->User->exists()) {
                throw new NotFoundException(__('User invalide'));
            }
            $this->set('user', $this->User->read(null, $id));
        }
     
       public function add() {
            if ($this->request->is('post')) {
                $this->User->create();
                if ($this->User->save($this->request->data)) {
                    $this->Session->setFlash(__('L\'user a été sauvegardé'));
                    return $this->redirect(array('action' => 'index'));
                } else {
                    $this->Session->setFlash(__('L\'user n\'a pas été sauvegardé. Merci de réessayer.'));
                }
            }
     
    		$groups = $this->User->Group->find('list');
    		$this->set(compact('groups'));
     
     
        }
     
        public function edit($id = null) {
            $this->User->id = $id;
            if (!$this->User->exists()) {
                throw new NotFoundException(__('User Invalide'));
            }
            if ($this->request->is('post') || $this->request->is('put')) {
                if ($this->User->save($this->request->data)) {
                    $this->Session->setFlash(__('L\'user a été sauvegardé'));
                    return $this->redirect(array('action' => 'index'));
                } else {
                    $this->Session->setFlash(__('L\'user n\'a pas été sauvegardé. Merci de réessayer.'));
                }
            } else {
                $this->request->data = $this->User->read(null, $id);
                unset($this->request->data['User']['password']);
            }
        }
     
        public function delete($id = null) {
            $this->request->onlyAllow('post');
     
            $this->User->id = $id;
            if (!$this->User->exists()) {
                throw new NotFoundException(__('User invalide'));
            }
            if ($this->User->delete()) {
                $this->Session->setFlash(__('User supprimé'));
                return $this->redirect(array('action' => 'index'));
            }
            $this->Session->setFlash(__('L\'user n\'a pas été supprimé'));
            return $this->redirect(array('action' => 'index'));
        }
     
    public function login() {
        if ($this->request->is('post')) {
            if ($this->Auth->login()) {
                return $this->redirect($this->Auth->redirect());
            } else {
                $this->Session->setFlash(__('Nom d\'user ou mot de passe invalide, réessayer'));
            }
        }
    }
     
    public function logout() {
        return $this->redirect($this->Auth->logout());
    }
     
    }
     
    ?>
    AppController.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    <?php
    App::uses('Controller', 'Controller');
     
    class AppController extends Controller {
     
    public $components = array(
        'Session',
        'Auth' => array(
            'loginRedirect' => array('controller' => 'posts', 'action' => 'index'),
            'logoutRedirect' => array('controller' => 'pages', 'action' => 'display', 'home'),
            'authorize' => array('Controller') // Ligne ajoutée
        )
    );
     
    public function isAuthorized($user) {
        // Admin peut accéder à toute action
        if (isset($user['group_id']) && $user['group_id'] === 'admin') {
            return true;
        }
     
        // Refus par défaut
        return false;
    }
     
    }
    Ma vue login.ctp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <div class="users form">
    <?php echo $this->Session->flash('auth'); ?>
    <?php echo $this->Form->create('User');?>
        <fieldset>
            <legend><?php echo __('Merci de rentrer votre nom d\'user et mot de passe'); ?></legend>
            <?php echo $this->Form->input('username');
            echo $this->Form->input('password');
        ?>
        </fieldset>
    <?php echo $this->Form->end(__('Connexion'));?>
    </div>
    j'arrivais à me logguer jusqu'à ce que apparaisse ceci (voir piece jointe)

    j'ai essayé avec tous mes navigateurs, c'est le meme message!!

    franchement, je ne comprends pas, expliquez moi svp qu'es ce qui bug !!!

    merci d'avance
    Images attachées Images attachées  

Discussions similaires

  1. echec de chargement d'applet en jsp
    Par makaphrodite dans le forum Programmation par agent
    Réponses: 2
    Dernier message: 04/10/2007, 14h57
  2. Echec de chargement d'un applet
    Par enimiste dans le forum Applets
    Réponses: 2
    Dernier message: 31/07/2007, 17h30
  3. Réponses: 1
    Dernier message: 24/04/2007, 09h27
  4. Echec de chargement de l'Applet java
    Par nada83 dans le forum Applets
    Réponses: 2
    Dernier message: 19/05/2006, 18h16
  5. [C#] [CR] [Win98] Echec du chargement de l'état
    Par Drahu dans le forum Windows Forms
    Réponses: 2
    Dernier message: 30/09/2004, 19h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo