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

Résolu
cs_christobal Messages postés 208 Date d'inscription jeudi 3 octobre 2002 Statut Membre Dernière intervention 31 mars 2011 - 8 janv. 2005 à 18:10
cs_christobal Messages postés 208 Date d'inscription jeudi 3 octobre 2002 Statut Membre 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-->

28 réponses

cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
10 janv. 2005 à 22:35
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
3
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
8 janv. 2005 à 18:29
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)
0
cs_christobal Messages postés 208 Date d'inscription jeudi 3 octobre 2002 Statut Membre Dernière intervention 31 mars 2011
8 janv. 2005 à 19:12
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
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
8 janv. 2005 à 19:16
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)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_christobal Messages postés 208 Date d'inscription jeudi 3 octobre 2002 Statut Membre Dernière intervention 31 mars 2011
8 janv. 2005 à 20:44
Je ne suis pas si nul que ca le rep & la page existe.
Merci quand meme de ton aide
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
8 janv. 2005 à 20:51
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)
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
8 janv. 2005 à 21:49
<?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
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
8 janv. 2005 à 21:56
Heu ?

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
8 janv. 2005 à 22:06
Coucou a bu un coup-coup de trop ce soir.
Mwarf.
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
8 janv. 2005 à 23:02
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
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
8 janv. 2005 à 23:28
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)
0
cs_christobal Messages postés 208 Date d'inscription jeudi 3 octobre 2002 Statut Membre Dernière intervention 31 mars 2011
8 janv. 2005 à 23:59
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
0
cs_christobal Messages postés 208 Date d'inscription jeudi 3 octobre 2002 Statut Membre Dernière intervention 31 mars 2011
9 janv. 2005 à 00:16
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
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
9 janv. 2005 à 00:19
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)
0
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
9 janv. 2005 à 05:08
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
0
cs_christobal Messages postés 208 Date d'inscription jeudi 3 octobre 2002 Statut Membre Dernière intervention 31 mars 2011
9 janv. 2005 à 10:48
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
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
9 janv. 2005 à 10:58
"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)
0
cs_christobal Messages postés 208 Date d'inscription jeudi 3 octobre 2002 Statut Membre Dernière intervention 31 mars 2011
9 janv. 2005 à 11:34
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
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
9 janv. 2005 à 11:37
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)
0
cs_christobal Messages postés 208 Date d'inscription jeudi 3 octobre 2002 Statut Membre Dernière intervention 31 mars 2011
9 janv. 2005 à 11:53
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
0
Rejoignez-nous