login et données de session

Par Frank Drebin, il y a 11 ans


Bonjour,
je ne comprends pas bien ce qu'il se passe alors je ne pourrai maleureusement pas être trés précis sur le type de problème que je rencontre.
Après quelques petits changement dans mes régles de validations sur le model User, lorsque j'essaie de me login les erreurs suivantes s'affiche :

Warning (2): Cannot modify header information - headers already sent by (output started at /Users/moi/Documents/web/cakephp/sites_cake/cakephp2.6.2-tppt/app/Model/User.php:59) [CORE/Cake/Model/Datasource/CakeSession.php, line 721] Code Context setcookie - [internal], line ?? CakeSession::renew() - CORE/Cake/Model/Datasource/CakeSession.php, line 721 SessionComponent::renew() - CORE/Cake/Controller/Component/SessionComponent.php, line 137 AuthComponent::login() - CORE/Cake/Controller/Component/AuthComponent.php, line 604 UsersController::login() - APP/Controller/UsersController.php, line 25 ReflectionMethod::invokeArgs() - [internal], line ?? Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 490 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 191 Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 165 [main] - APP/webroot/index.php, line 108 Warning (2): session_regenerate_id() [function.session-regenerate-id]: Cannot regenerate session id - headers already sent [CORE/Cake/Model/Datasource/CakeSession.php, line 723] Code Context session_regenerate_id - [internal], line ?? CakeSession::renew() - CORE/Cake/Model/Datasource/CakeSession.php, line 723 SessionComponent::renew() - CORE/Cake/Controller/Component/SessionComponent.php, line 137 AuthComponent::login() - CORE/Cake/Controller/Component/AuthComponent.php, line 604 UsersController::login() - APP/Controller/UsersController.php, line 25 ReflectionMethod::invokeArgs() - [internal], line ?? Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 490 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 191 Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 165 [main] - APP/webroot/index.php, line 108

J'ai vu pas quelques discussions sur des forum à propos de cette 'erreur' mais rare avec cakephp et pas en rapport avec les regles de validations. J'ai vu quelques éléments de réponses sur cette discussion, mais je vois pas tellement comment je pourrais intervenir pour corriger le tire :s

11 réponses

connected, il y a 11 ans

Bonjour,

peux-tu nous montrer ton code du model User et aussi, as-tu modifier le index.php sous webroot ?

Frank Drebin, il y a 11 ans

"code sup"
Et sinon ou l'index du webroot a été modifié, mais pas récement.

connected, il y a 11 ans

Je ne vois rien de particulier sur ce fichier, est-ce que je peux voir l'index.php ?
Pour info cette erreur est du au fait qu'il y a deja eu un affichage avant d'utiliser la fonction header() de php. On cherche donc ce caractère, même un espace...

Frank Drebin, il y a 11 ans

Ha d'accord alors je poste le contenu du webroot et au cas ou, je cherche d'autres pistes alors.
webroot/index.php:
"code sup"

Frank Drebin, il y a 11 ans

Une petit info supplémentaire, une fois l'erreur afficher, si je modifie l'url pour revenir sur la home du site, le fait que je me longin est pris en compte et la plupart des pages fonctionnes bien.
Une page n'affiche pas les données qui devraient s'y trouver, c'est en gros la page mon compte, qui est l'index de mon Usercontroller.
La page s'affiche bien , mais tout les

echo $this->session->read('Auth.User......');

n'affiche rien.

edit: petite chose encore, entre la version stable et l erreur actuelle, j'ai rajouté le components 'Cookie', que j'ai retirer, en pensant que l'erreur venanit de là.

connected, il y a 11 ans

Désolé de te faire poster du code à chaque fois lol, est-ce que je peux voir le fichier UsersController.php, je n'avais pas vu dans le de débug la ligne :

UsersController::login() - APP/Controller/UsersController.php, line 25
Frank Drebin, il y a 11 ans

Haha tu n'as vraiement pas à t'excuser, je suis ravis re le faire si ça peut m'aider à comprendre ce qu'il se passe et a résoudre le soucis;
UserController.php:
"code supp"

connected, il y a 11 ans

D'accord, est-ce que tu peux essayer de supprimer le "?>" de ton fichier User (le model) ?

Frank Drebin, il y a 11 ans

Hum, et bien en supprimant le "?>" du user model, ça semble marcher correctement.
Mais comment ça se fait ? et comment t'en ais-tu aperçu ?

connected, il y a 11 ans

Il y a un espace après le "?>" :) c'était lui le caractère parasite Tu peux remettre le "?>" en veillant à ce qu'il n'y ait pas d'espace après, cela devrait fonctionner pareil

Frank Drebin, il y a 11 ans

Oula d'accord trés merci bcp pour l'aide en tout cas.