Modification d'un script pour conformité avec php4 et/ou php5 [Résolu]

Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Dernière intervention
31 mars 2011
- - Dernière réponse : cs_christobal
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Dernière intervention
31 mars 2011
- 11 janv. 2005 à 09:10
Bonjour, depuis plusieurs années j'utilise le même script pour mes sites.
Maitenant avec les derrnieres version de PHP4 et PHP5 ce script ne marche plus.
Qq peut il me dire comment le modifier pour qu'il fonctionne.

Merci de votre aide.

<?php
if (!isset($centre)) $centre="accueil";
if (!isset($rep)) $rep="";
else
{
$rep.="/";
}
if (file_exists("$rep$centre.php"))
{
include ("$rep$centre.php");
}
else
{
include ("404.php");
}
?><!--c2--><!--ec1-->
Afficher la suite 

Votre réponse

20/28 réponses

Meilleure réponse
Messages postés
1663
Date d'inscription
lundi 16 septembre 2002
Dernière intervention
30 juillet 2008
3
Merci
tu peux sois faire passer dans le $_GET quelque chose du genre
news/contact ou sinon tu fais un autre tableau qui correspond à celui
$authorized_page

du style

$folder = array('accueil'=>'', 'contact'=>'news/');



et tu inclus


include ((in_array($current,$authorized_page))?$folder[$current].$current:'404').'.php';




Si la réponse est répondue, choisie Réponse Acceptée à ce qui répond à ta question

PHP Guru
Écoutez les conseils d'un vieux sage ! Ils sont souvent très utiles.
http://www.lookstrike.com

Merci cs_GRenard 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de cs_GRenard
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Dernière intervention
13 avril 2007
0
Merci
Salut,



si tes variables proviennent de l'url fais ceci :




<?php
if (!isset($_GET['centre'])) $centre='accueil';
if (!isset($_GET['rep'])) $rep='';
else
{
$rep.='/';
}
if (file_exists($rep.$centre.'.php'))
{
include $rep.$centre.'.php';
}
else
{
include '404.php';
}

?><!--c2--><!--ec1-->






a ++

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
Commenter la réponse de cs_Anthomicro
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Dernière intervention
31 mars 2011
0
Merci
Ok merci maintenant au lieu qu'il ne se passe rien quand je clic sur un lien j'ai la page 404 qui s'affiche.
les variable proviennet du lien. ( ?rep=include&centre=lapage) ou include est le répertoire et lapage, la page à afficher
Commenter la réponse de cs_christobal
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Dernière intervention
13 avril 2007
0
Merci
Bah si la page "lapage.php" n'existe pas dans le répertoire include, normal

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
Commenter la réponse de cs_Anthomicro
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Dernière intervention
31 mars 2011
0
Merci
Je ne suis pas si nul que ca le rep & la page existe.
Merci quand meme de ton aide
Commenter la réponse de cs_christobal
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Dernière intervention
13 avril 2007
0
Merci
Ok normal,



remplaces le code que je t'ai donné par ça :



<?php
if (!isset($_GET['centre'])) $centre='/accueil';
if (!isset($_GET['rep'])) $rep='';
else
{
$rep.='/';
}
if (file_exists($rep.'/'.$centre.'.php'))
{
include $rep.$centre.'.php';
}
else
{
include '404.php';
}

?>

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
Commenter la réponse de cs_Anthomicro
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Dernière intervention
30 juillet 2012
0
Merci
<?php
if (isset($_GET['centre']))
$centre=$_GET['centre'];
else
$centre='/accueil';

if (isset($_GET['rep']))
{
$rep=$_GET['rep'].'/';
}
if (file_exists($rep.'/'.$centre.'.php'))
{
include $rep.$centre.'.php';
}
else
{
include '404.php';
}
?>

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happyhttp://coucou747.hopto.org
Commenter la réponse de coucou747
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Dernière intervention
13 avril 2007
0
Merci
Heu ?

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
Commenter la réponse de cs_Anthomicro
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
0
Merci
Coucou a bu un coup-coup de trop ce soir.
Mwarf.
Commenter la réponse de malalam
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Dernière intervention
30 juillet 2012
0
Merci
NON !!



putain j'en ai marre leur MAJ est pourrie !!



Il m'a boufé mon code...



J'avais corigé ça !!




<?php
if (!isset($_GET['centre'])) $centre='/accueil';

else

$centre=$_GET['centre'];
if (isset($_GET['rep']))

{
$rep=$_GET['rep'].'/';
}
if (file_exists($rep.'/'.$centre.'.php'))
{
include $rep.$centre.'.php';
}
else
{
include '404.php';
}

?>



en gros c'est mieux comme ça...


In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Commenter la réponse de coucou747
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Dernière intervention
13 avril 2007
0
Merci
LOL



je vais corriger le code de coucou qui est lui-même déjà une correction du mien...



<?php
if (!isset($_GET['centre'])) $centre='accueil';

else

$centre=$_GET['centre'];
if (isset($_GET['rep']))

{
$rep=$_GET['rep'];
}
if (file_exists($rep.'/'.$centre.'.php'))
{
include $rep.'/'.$centre.'.php';
}
else
{
include '404.php';
}

?>



Voilà, ça devrait fonctionner ;-)



a ++


Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
Commenter la réponse de cs_Anthomicro
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Dernière intervention
31 mars 2011
0
Merci
VOUS SAVEZ QUOI ?
C'est géniale merci à vous pour votre aide c'est impeccable et ça marche à 99%.
Les1% restant venant du fait que quand j'appel la page d'accueil (?centre=accueil) j'ai maintenant une erreur 404 mais bon c'est pas grave j'appellerais la page index.php et sa ira bien.
Encor merci
Commenter la réponse de cs_christobal
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Dernière intervention
31 mars 2011
0
Merci
Super les liens du type ?rep=lerepertoire&centre=lapage fonctionne très bien.
Cependant la première page "accueil.php" n'est plus appeler j'ai une erreur 404 à la place. Et je ne voie pas comment cela se fait ?
J'ai l'impression qu'il faut renseigner toutes les variables et donc que toutes les pages doivent être dans un répertoire. Mais alors pourquoi la page 404.php est appeler alors quelle se trouve comme acceuil.php à la racine du site?

Merci
Commenter la réponse de cs_christobal
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Dernière intervention
13 avril 2007
0
Merci
tu dois appeler la page "accueil" et non "accueil.php"

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
Commenter la réponse de cs_Anthomicro
Messages postés
1663
Date d'inscription
lundi 16 septembre 2002
Dernière intervention
30 juillet 2008
0
Merci
Dangereux ce genre de script... si quelqu'un connait tes fichiers il
peut inclure à peu pret n'importe quoi qui est dans ton site et tout
fucké le chien...

PHP Guru
Écoutez les conseils d'un vieux sage ! Ils sont souvent très utiles.
http://www.lookstrike.com
Commenter la réponse de cs_GRenard
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Dernière intervention
31 mars 2011
0
Merci
Oui c'est une erreur lors de la saisie du post, mais j'appelle bien le fichier accueil.
D'ailleurs dans le script que t'as modifié, tu vois bien qu'il s'agisse de la bonne page et portant à l'ouverture du site au lieu d'avoir la page accueil j'ai la page 404.
Merci de ton aide

Concernant le post de GRenard je suis d'accord avec toi sur la vulnérabilité de ce script cependant j'ai que celui la, est suis donc ouvert à toute proposition d'amélioration ou de changement.
A bon entendeur

Merci à vous
Commenter la réponse de cs_christobal
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Dernière intervention
13 avril 2007
0
Merci
"Dangereux ce genre de script... si quelqu'un connait tes fichiers il
peut inclure à peu pret n'importe quoi qui est dans ton site et tout
fucké le chien..."


Disons qu'il faudrait une protection pour éviter d'inclure le fichier
en cours de lecture, parce que ça donnerait un truc assez marrant ^^


Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
Commenter la réponse de cs_Anthomicro
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Dernière intervention
31 mars 2011
0
Merci
Ok peut tu m'aider à résoudre ce pb de page d'accueil et me dire comment protéger mes fichiers ou si tu as un meilleur script de pseudo frame mais qui me permet tj d'inclure des fichiers venant de rep différents je suis preneur.

Merci de ton aide et de tes conseils ci précieux
Commenter la réponse de cs_christobal
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Dernière intervention
13 avril 2007
0
Merci
Bah disons que ce qui est mieux est sur chaque page de faire un switch :



switch($_GET['page'])

{

case 'acceuil':

include 'accueil.php';

break;

case 'centre':

include 'centre.php';

break;

}



a +

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
Commenter la réponse de cs_Anthomicro
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Dernière intervention
31 mars 2011
0
Merci
Heee ! J'ai besoin de plus d'explication.
Ce script doit être sur chaque page que je veux inclure à un moment ou à un autre.Mais dans la page index il doit bien y avoir un script de pseudo frame pour indiquer l'emplacement d'inclusion ?<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />

Comment doit être formater un lien ?
Je vais abuser de ta gentillesse et de ta patience mais y aurait il moyen de m'envoyer un exemple concret avec une ou deux pages.

Merci
Commenter la réponse de cs_christobal

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.