Bonjour,
alors voilà je suis en peu en galère :s
J'ai essayé la solution 2 qui me paraissait plus facile a mettre en oeuvre...
Alors voici mon code:
le layout.ctp:
....
<div id="login-box" class="login-popup">
<?php echo $this->element('login'); /* qui appellera l'élément login.ctp créé précédemment */ ?>
</div>
Dans View/Elements/ j'ai créé login.ctp:
<?php $this->set('title_for_layout',"Connexion"); ?>
<a href="#" class="close"><?php echo $this->Html->image('close_pop.png', array('alt' => 'CakePHP','class'=>'btn_close'))?></a>
<form method="post" class="signin" action="users/login">
<fieldset class="textbox">
<label class="username">
<span>Pseudo</span>
<input id="username" name="username" value="" type="text" autocomplete="on" placeholder="Votre pseudo">
</label>
<label class="password">
<span>Mot de passe</span>
<input id="password" name="password" value="" type="password" placeholder="Votre mot de passe">
</label>
<button class="submit button" type="submit">Connexion</button>
<p>
<?php echo $this->Html->link("Mot de passe oublié ?",array('action'=>'password','controller'=>'users')); ?>
</p>
</fieldset>
</form>
Et dans UsersController.php:
function login(){
$this->autoRender = false;
if($this->request->is('post')){
if($this->Auth->login()){
$this->User->id = $this->Auth->user("id");
$this->User->saveField('lastlogin',date('Y-m-d H:i:s'));
$this->Session->setFlash("Vous etes maintenant connecté","notif");
$this->redirect('/');
}
else{
$this->Session->setFlash("Erreur de connexion","notif",array('type'=>'Flasherror'));
}
}
}
Que je mette $this->autoRender = false; ou $this->autoRender = true; On se retrouve quand même sur la page users/login...
Mais ca ne me connecte pas :s
D'où vient mon erreur?
Merci en tout cas d'avoir déjà répondu :)