Bonjour,

Je suis actuellement entrain de suivre la formation de PHP, et pour réaliser le router en php avec la solution de $_SERVER['REQUEST_URI']
en faite en local ca fonctionne très bien mais lorsque j'envoie le projet en ligne il n'y a rien qui s'affiche sauf la page d'accueil (home)
Pourriez-vous m'aider svp?

Ce que je fais

Décrivez votre code ou ce que vous cherchez à faire.

  $url = $_SERVER['REQUEST_URI'];

  if($url ==='/nous-contacter'){
  require 'pages/contact.php';
  }
  elseif($url ==='/'){
  require 'pages/home.php';
  }

Ce que je veux

J'aimerais que tous liens soit prise en compte, dommage il prends seulement à la racine et pas les autres lien

Ce que j'obtiens

Décrivez vos éventuelles erreurs ou ce que vous obtenez à la place de ce que vous attendez :(

13 réponses


Bonjour,
Que donne le var_dump($url); ?

OOO777
Auteur

OK, je pense que je vais le tester tout de suite là et voir deja ce que ca donne

OOO777
Auteur

en faite, je viens de verifier le var_dump($url), à la racine il me donne bien (/)
sauf que en faisant par exemple: monsite.fr/bonjour
il affiche: Non Trouvé
Le document demandé n'a pas été trouvé sur ce serveur. voilà c'est ce que j'arrive pas à comprendre

montre le code complet, car je ne vois pas le "non trouvé"
tu peux aussi pour l'instant ajouter un else et afficher la home

OOO777
Auteur

session_start();
require_once 'functions/functions.php';
require_once 'functions/main.php';
require 'elements/header.php';
$url = $_SERVER['REQUEST_URI'];

if($url ==='/nous-contacter'){
require '/pages/contact.php';
}
elseif($url ==='/login'){
require 'pages/login.php';
}
elseif($url ==='/inscription'){
require 'pages/register.php';
}
elseif($url ==='/parametres'){
require 'pages/reglages.php';
}
elseif($url ==='/mon-profil'){
require 'pages/profil.php';
}
elseif($url ==='/'){
require 'pages/home.php';
}
elseif($url ==='/logout'){
require 'pages/logout.php';
}else{
require 'pages/error.php';
}

require 'elements/footer.php';

si tu tapes directement l'adresse du login, par exemple, tu arrives bien dessus ?
comment renseignes-tu le liens dans tes pages ?

OOO777
Auteur

Oui oui si je tape le page en suivant mes dossiers genre
monsite.fr/pages/login.php il affiche bien

peut-être un soucis de priorité,
mets ta home en 1ère

OOO777
Auteur

oui, je viens de le faire mais il ne m'affiche toujour document non trouvé dans le serveur
c bizzarre parceque en local ca fonctionne tres bien, meme le var_dump de tout ce que je tape en URL n'affiche rien du tout

non ce n'est pas bizarre car l'environement est différent

OOO777
Auteur

Alors que faire, il existe t'il une alternative pour recuperer les URL qu'on tape en GET comme on le fait avec $_Server[''REQUEST_URI] ?

Bonjour,
une question bête, tu as bien un fichier .htaccess qui gère la réécriture des urls ?

Gillesr

OOO777
Auteur

Merci beaucoup frerot
le projet marche à la merveille , j'ai aussi associé la compréhension du tutos de PRIMFX où il parle du Router PHP
https://www.youtube.com/watch?v=Q9PZXoe-aAE
Merci infinement