Page 1 sur 1

Pseudo Frame avancé

Posté : 28 janv. 2009, 16:44
par DarkSulfura
Exemples :

1) http://www.monsite.org/index.php?folder=Forum
2) http://www.monsite.org/index.php?folder=Telechargement
3) http://www.monsite.org/index.php?folder=Compte
4) http://www.monsite.org/index.php?folder=Jeux

1a) root/www/modules/Forum
2a) root/www/modules/Telechargement
3a) root/www/modules/Compte
4a) root/www/modules/Jeux
---
Légende :

Le dossier modules est celui qui contient tout les sous dossiers comme Forum, Telechargement, Compte, Jeux ...

Dans le lien 1) le dossier est "Forum" qui est ouvert à partir d'une page web.
Donc on répéte tout les autres dossiers dans modules par une adresse php automatiquement sans modifier le tableau array qui contient toutes les pages pseudo-frames.

Folder étant le nom que j'ai choisis dans la ligne :
$_GET['folder']
J'ai lu plusieurs articles mais aucun m'a satisfait.

Je ne sais pas trop quoi faire pour que cela fonctionne même avec :
<?php
$wowvar = "modules.'/'. $_SERVER['DOCUMENT_ROOT'] .'/'.index.'.php'";
if ( (isset($_GET['folder'])) && (isset($wowvar[$_GET['folder']])) ) {
  if(!file_exists) {
	  include($wowvar[$_GET['folder']]);
  } else {
	  echo "La page que vous désirez visiter n'existe pas ou plus !";
}
?>
Pourtant aucune erreur......

Bizard .. :-k

Posté : 28 janv. 2009, 19:44
par djtec
A quoi servent tout les points dans ta variable $wowvar.

J'aurais plutôt écrit:
$wowvar = "modules/".$_SERVER['DOCUMENT_ROOT']."/index.php";

Mais quand tu écris cela tu ne dis pas dans quel dossier de module tu veux accéder.
Voudrais mieux faire:
<?php
if(isset($_GET['folder'])) {
  $folder = "modules/".$_GET['folder']."/index.php";

  if(!file_exists($folder)) {
      include($folder);
  } else {
      echo "La page que vous désirez visiter n'existe pas ou plus !";
}
?>

Posté : 30 janv. 2009, 13:14
par DarkSulfura
bizard le code marche pas non plus....

Je cré un nouveau fichier appeler: config_var.inc.php
et je met ce code :
<?php 
if(isset($_GET['folder'])) { 
  $folder = "modules/".$_GET['folder']."/index.php"; 

  if(!file_exists($folder)) { 
      include($folder); 
  } else { 
      echo "La page que vous désirez visiter n'existe pas ou plus !"; 
} 
?>
ensuite dans la page index.php je met l'include + la page par défaut :
<?php

include('config_var.inc.php');
if(isset($_GET['folder'])) {
   include($folder);
} else {
          include('news.php');
}

?>

Posté : 30 janv. 2009, 13:54
par djtec
Je viens de voir l'erreur.

Tu utilise !file_exists($folder) mais cela veut dire si le fichier existe pas, donc il faut mettre file_exists($folder) comme cela si le fichier existe il l'affiche.

Voilà...

Posté : 02 févr. 2009, 08:41
par DarkSulfura
C'est bon ça marche ! ;)

Merci de ton aide mais cela dit, comment je peux avoir par exemple:

j'obtien l'espace membre quand je tape "?folder=Membre" mais comment avoir la page d'inscription via cette : "?folder=Membre&ch=inscription" ? (car quand je met folder à la place de art, l'include fonctionera pas car je devrai créer un autre dossier appelé "inscription" suivi d'une page index.php.
Mais moi je veux tout dans le meme dossier.

Posté : 02 févr. 2009, 09:01
par naholyr
Modération :
Afin d'obtenir plus de réponses, le sujet est déplacé dans le forum "PHP débutant".

Merci de prendre le temps de lire les règlements
ainsi que l'intitulé de chaque forum avant de poster un nouveau sujet.


Je vais être cruel, mais faut pas déconner, il faut avoir quelques bases avant de prétendre faire du "PHP Avancé".
$wowvar = "modules.'/'. $_SERVER['DOCUMENT_ROOT'] .'/'.index.'.php'";
if ( (isset($_GET['folder'])) && (isset($wowvar[$_GET['folder']])) ) {
  if(!file_exists) { 
Ligne 1 & 2 : tu n'as pas compris ce qu'est une chaine de caractère et comment fonctionne la concaténation.
Ligne 2 : tu n'as pas compris ce qu'est un tableau associatif, sinon tu en aurais utilisé un précédemment.
Ligne 3 : tu n'as pas compris ce qu'est une fonction.

Nous serons ravis de t'aider à appréhender ces principes de base, mais ne grille pas les étapes car ici tu crois n'avoir qu'un problème, mais vu le niveau dès que tu auras un pseudo-frame qui marche tu buteras au premier problème suivant.

Posté : 02 févr. 2009, 18:59
par djtec
Et bien tu peux tout à fait il suffit que tu teste si la variable $_GET["ch"] existe et si elle existe et bein tu remplace la page index.php par inscription.php.

Il faut utiliser un peu le même principe que le code que tu as déjà fait.

Posté : 03 févr. 2009, 12:50
par DarkSulfura
merci pour ton aide Djtec ;)

j'ai réussis à créer mes pseudos frames pour mon forum j'te remercie :wink: