Bonjour à tous,

je suis très embêtée, car le site web que j'ai codé fais partie de ma formation et si je ne résous pas mon problème, je n'aurai surement pas mon diplôme...
Voila en local tout fonctionne c'est parfait !
Or dès que je suis en ligne... plus d'accès à la partie admin... quand je tape /admin je tombe sur une page blanche et quand je tape /users/login et que je rentre les ID, ça refresh la page et rien d'autre...

Je ne sais plus quoi faire , ça fait deux jours non-stop que je cherche partout ma solution , je désespéré complètement...

voici mes routes :

Router::connect('/', array('controller' => 'pages', 'action' => 'home'));
Router::connect('/pages/:slug-:id',array('controller' =>'pages','action' =>'show'),array('pass' =>array('id','slug'), 'id'=>'[0-9]+','slug' => '[a-z0-9-]+'));
Router::connect('/admin', array('controller' =>'pages','action' =>'accpart','admin'=>true));
Router::connect('/pro', array('controller' =>'pages','action' =>'index','prefix' => 'pro','pro'=>true));

mon AppController

class AppController extends Controller {

public $helpers = array('Text','Form','Html','Session','Cache');
var $components = array(
'Auth',
'Session');

function beforeFilter() {
//debug($this->request);
if(isset($this->Auth))
{
$this->Auth->userModel = 'User';
$this->Auth->fields = array('username' => 'login', 'password' => 'password');
$this->Auth->loginAction = array('controller' => 'users', 'action' => 'login', 'admin' => false);
$this->Auth->loginRedirect = array('controller' => 'pages', 'action' => 'accpart', 'admin' => true);
$this->Auth->loginError = "Identifiant ou mot de passe incorrects.";
$this->Auth->authError = "Vous n'avez pas accès à cette partie du site";
$this->Auth->logoutRedirect = array('controller' =>'pages','action'=>'home', 'admin'=>false);
$this->Auth->autoRedirect = true;

if((empty($this->params'prefix']) || $this->params'prefix'] != 'admin') && $this->action != 'login')
{
$this->Auth->allow();
}

if(isset($this->request->params'prefix']) && $this->request->params'prefix'] == 'admin')
{
$this->layout = 'admin';
}

}
}
}

et enfin mon UsersController :

class UsersController extends AppController {
public $uses = array('Post');
var $name = "Users";

function beforeFilter() {
parent::beforeFilter();
$this->Auth->allow('*');
}

function login() {

if($this->request->is('post')){
if($this->Auth->login()){
return $this->redirect(array('controller'=>'pages','action'=>'accpart','admin'=>true));

}else{
$this->Session->setFlash("Votre login ou votre mot de passe ne correspond pas");
}
}

}

function admin_logout(){

$this->Auth->logout();
$this->Session->setFlash("Vous êtes maintenant déconnecté","notif");
$this->redirect('/');
}

}

?>

Merci d'avance de votre aide qui ne sera précieuse....

si vous voulez constater le problème : http://site.teaminformatique.com/admin

et vous pouvez essayer n'importe quel mdp il n'y aura jamais d'erreur : http://site.teaminformatique.com/users/login

11 réponses


Prescillia Nierichlo
Auteur
Réponse acceptée

Problème résolu !!!!

il fallait que je rajoute SetEnv PHP_VER 5_4 dans mon htacces !!!!

Uu cry more plz

Soyons un peu plus sérieux :

  • Il n'y a rien sur ton serveur ? J'ai accédé au lien et je n'ai rien vu.
  • As-tu d'autres problèmes sur tes vues autre que ton admin ? problèmes de CSS etc...
  • Quand on passe du local au web, on a souvent des problemes avec la casse ou le rooting si y a un probleme à ce niveau.
    • Vérifies si tu as utilisé toutes les normes de cake au niveau MAJ
    • ton site est au niveau du www de ton hébergeur ou non ?

J'attends ta réponse (c'est un diplôme de quoi par curiosité =) )

++

Alors c'est un sous domaine qu'on a déployé pour moi pour que je puisse tester justement avant de le mettre sur le domaine directement.
tu devrais pouvoir avoir quelque chose quand tu va sur site.teaminformatique.com

  • Non je n'ai pas de problème CSS ou autre,
  • J'ai essayer de tordre mes routes dans tous les sens et je ne vois pas ce qu'est "la casse" ?
  • Oui tout est bon niveau MAJ j'ai eu justement le problème au départ avec le dossier Users mais je l'ai réglé
  • oui il est dans le www du sous domaine

(je fais un DUT SRC services des réseaux de communication et j'ai fais option programmation ^^ )

Soit tu ne me donnes pas le bon lien soit j'en sais rien : http://screencast.com/t/tId9pK2jJ

Il faudrait activer l'affichage des erreur pour que tu puisses voir le probleme sur ta page blanche

core.php

Configure::write('debug', 2);

(SRC qu'elle ville ? Me semblait qu'ils avaient changer le nom en mmi)

oui ça a changé de nom en MMI mais étant en deuxième année je reste SRC, je suis à Chambéry !
Je suis en train de suivre un tuto plus récent (jours 4 de la création d'un site web) je le finis et je vois si j'ai toujours le problème
Si tu n'a plus rien pour le moment c'est normal j'ai tout supprimé du FTP, je reviens vers toi dès que j'ai tout ré uploadé !

Merci de ton aide, j'espère pouvoir te solliciter à nouveau après avoir finis le tuto?

La communauté Grafikart te répondra si tu as des éventuels problème en prog. Après moi je suis totalement dispo que pour Vava ( : D )

Bonne journée.

Bon voilà j'ai refais le tuto et toujours pareil... et j'ai bien Configure::write('debug', 2); dans mon core.php...

j'ai tout remis en ligne http://site.teaminformatique.com/
et http://site.teaminformatique.com/admin toujours page blanche...
et http://site.teaminformatique.com/users/login toujours le refresh...

je sais plus quoi faire :(

voila mon nouvel AppController.php

class AppController extends Controller {

public $helpers = array('Text','Form','Html','Session');
var $components = array('Auth','Session');

function beforeFilter() {
//debug($this->request);

$this->Auth->loginAction = array('controller'=>'users','action'=>'login','admin'=>false);
if(!isset($this->request->params'prefix'])){
$this->Auth->allow();
}

if(isset($this->request->params'prefix']) && $this->request->params'prefix'] == 'admin')
{
$this->layout = 'admin';
}

}

/*public $components = array(
'DebugKit.Toolbar','Session'

);*/

}

Mon UsersController.php

<?php

class UsersController extends AppController {
public $uses = array('Post');
var $name = "Users";

function login() {

if($this->request->is('post')){
if($this->Auth->login()){
return $this->redirect($this->Auth->redirect());

}else{
$this->Session->setFlash("Votre login ou votre mot de passe ne correspond pas");
}
}

}

function admin_logout(){
$this->Auth->logout();
$this->Session->setFlash("Vous êtes maintenant déconnecté","notif");
$this->redirect('/');
}

}

?>

Mes routes :

Router::connect('/', array('controller' => 'pages', 'action' => 'home'));
Router::connect('/pages/:slug-:id',array('controller' =>'pages','action' =>'show'),array('pass' =>array('id','slug'), 'id'=>'[0-9]+','slug' => '[a-z0-9-]+'));
Router::connect('/admin', array('controller' =>'pages','action' =>'accpart','admin'=>true));
Router::connect('/pro', array('controller' =>'pages','action' =>'index','prefix' => 'pro','pro'=>true));

Il est déjà arrivé qu'il y est un problème d'espace au niveau des routes (un caractère spécial :p l'action d'un être spirituel :p) et que cela ne marche pas à cause de cela.

Fait un test en remplaçant ton fichier routes.php par celui

J'avais pas pensé à la compatibilité PHP :p (sachant que tu es pas censé dev en local avec une version qui n'est pas la même sur ton server ;)

Bonne continuation.

Bah je ne savais pas qu'elle était la version de mon server :/ Merci coloo de ton aide et pour ton temps