Modification d'un script pour conformité avec php4 et/ou php5

Résolu
Signaler
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Statut
Membre
Dernière intervention
31 mars 2011
-
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Statut
Membre
Dernière intervention
31 mars 2011
-
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-->

28 réponses

Messages postés
1662
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008
1
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
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
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)
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Statut
Membre
Dernière intervention
31 mars 2011

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
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
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)
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Statut
Membre
Dernière intervention
31 mars 2011

Je ne suis pas si nul que ca le rep & la page existe.
Merci quand meme de ton aide
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
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)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
<?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
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Heu ?

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Coucou a bu un coup-coup de trop ce soir.
Mwarf.
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
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
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
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)
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Statut
Membre
Dernière intervention
31 mars 2011

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
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Statut
Membre
Dernière intervention
31 mars 2011

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
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
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)
Messages postés
1662
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008
1
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
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Statut
Membre
Dernière intervention
31 mars 2011

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
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
"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)
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Statut
Membre
Dernière intervention
31 mars 2011

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
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
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)
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Statut
Membre
Dernière intervention
31 mars 2011

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