Page 1 sur 1

Comment faire une erreur 404 ?

Posté : 18 août 2012, 02:24
par MrB0ulet
Salut,
Comme dit sur le sujet je voudrais faire une page d'erreur 404, j'ai donc testé dans faire une mais il y à une erreur :/,

Voici ce que firefox me met :

Image

Le code en question :

Code : Tout sélectionner

<?php 1. class Controller{ 2. 3. public $request; 4. public $vars = array(); 5. public $layout = 'default'; private $rendered = false; function __construct($request){ 10. $this->request = $request; } public function render($view){ 15. if($this->rendered){ return false; } extract($this->vars); if(strpos($view,'/')===0){ $view.ROOT.DS.'view'.$view.'.php'; }else{ 20. $view = ROOT.DS.'view'.DS.$this->request->controller.DS.$view.'.php'; } ob_start(); require($view); $content_for_layout = ob_get_clean(); 25. require ROOT.DS.'view'.DS.'layout'.DS.$this->layout.'.php'; $this->rendered = true; } public function set($key,$value=null){ 30. if(is_array($key)){ $this->vars += $key; }else{ $this->vars[$key] = $value; } 35. } } ?>
Les nombres au début de lignes sont leur numéros ils n'ont rien avoir avec le code.

Re: Comment personnaliser la page d'erreur 404 ?

Posté : 18 août 2012, 08:06
par sirakawa

Re: Comment faire une erreur 404 ?

Posté : 18 août 2012, 23:36
par MrB0ulet
Salut merci du lien mais sa ne m'aide pas vraiment à corriger mon code qui à l'air proche du but :/

Re: Comment faire une erreur 404 ?

Posté : 19 août 2012, 12:20
par moogli
en gros ton fichier n'existe pas.

affiche le chemin que tu utilise ça devrait t'aider.


la solution proposée repose sur le mécanisme d'apache, elle est intérrésante vue que la c'est le serveur qui gère la chose :)

ceci dit tu peux utiliser ton code, quand il fonctionnera, et la tu a besoin d'un var_dump() pour voir c que $view a dans le ventre :mrgreen:


@+

Re: Comment faire une erreur 404 ?

Posté : 20 août 2012, 06:11
par djtec
C'est tout à fait normal car tu dis que si $view commence par un / et ben tu ne dis pas à quel chemin est égale $view donc remplace cela:
if(strpos($view,'/')===0){
         $view.ROOT.DS.'view'.$view.'.php';
      }else{
20.         $view = ROOT.DS.'view'.DS.$this->request->controller.DS.$view.'.php';
      }
Par cela:
if(strpos($view,'/')===0){
         $view = ROOT.DS.'view'.$view.'.php';
      }else{
20.         $view = ROOT.DS.'view'.DS.$this->request->controller.DS.$view.'.php';
      }
Tu avais simplement mit $view.ROOT.DS.'view'.$view.'.php'; hors que c'est $view = ROOT.DS.'view'.$view.'.php';

Re: Comment faire une erreur 404 ?

Posté : 21 août 2012, 12:31
par MrB0ulet
Je te remercie énormément O_O, j'était en train de refaire mon code pour faire comme dans le Tuto alors qu'il n'y avait qu'a remplacer le / par un égale merci !