Liens avec variable (liens.php?variable=1)

[Résolu]
Signaler
Messages postés
42
Date d'inscription
mercredi 14 mai 2003
Statut
Membre
Dernière intervention
7 novembre 2005
-
Messages postés
22
Date d'inscription
vendredi 3 mars 2006
Statut
Membre
Dernière intervention
30 août 2007
-
Bonjour,

Je suis actuellement en train de monter un serveur local pour un site intranet. Sur certaines pages, je fais appel a la fonction "include" pour afficher des pages dans une page template.
<?
include "$page.php";
?>

Mon probléme viens lorsque je fais un liens en incluant une variable:

[liens.php?page=1

Sur mon site local, avec Apache, MySQL, etc.. (WAMP) ca ne marche pas, j'obtiens l'erreur suivante:
Warning: main(.php) [
]function.main]: failed to open stream: No such file or directory in c:\wamp\www\FMC\manuel\directives\directives-read.php on line 34

Warning: main() [
function.include]: Failed opening '.php' for inclusion (include_path='.;C:\php5\pear') in c:\wamp\www\FMC\manuel\directives\directives-read.php on line 34

Or, si je met ces fichiers sur mon site hebergé par mediatemple, le liens marche parfaitement

Il y a t il une modification particuliere a faire sur PHPini, ou ais-je fais une erreur qqpart?

Merci d'avance

P.S: WAMP installe sur deux ordinateurs differents, avec la meme erreur, pareil avec easyphp

Federal Design House

9 réponses

Messages postés
196
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
2 septembre 2005

^ register_globals = on dans le php.ini
http://fr.php.net/register_globals
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Salut,



garde les register globals à off, mets l'error reporting à E_ALL et
évite d'utiliser cette méthode pour inclure des fichiers sans l'avoir
un minimum sécurisée auparavant, même si il s'agit d'un intranet...



Failles PHP

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
196
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
2 septembre 2005

essaye include $_GET['page'].".php";
attention à bien controler le contenu de cette variable
Messages postés
42
Date d'inscription
mercredi 14 mai 2003
Statut
Membre
Dernière intervention
7 novembre 2005

Effectivement, j'avais oublié de mettre Register_globals= On

Merci pour cette réponse rapide :)

Federal Design House
Messages postés
1662
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008
1
Non :) C'est mieux à off

http://www.phpcs.com/code.aspx?ID=24870

, EssayezTestez avant de Poser une question !
http://www.lookstrike.com
Messages postés
42
Date d'inscription
mercredi 14 mai 2003
Statut
Membre
Dernière intervention
7 novembre 2005

Ok, je ferais ça pour la version "production" du site

Merci :)

Federal Design House
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
"Federal Design House" => Met un "Corporation" à ta signature ça fait stayle (bon ok je sors lol)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
42
Date d'inscription
mercredi 14 mai 2003
Statut
Membre
Dernière intervention
7 novembre 2005

^^ j'y reflechissais hier, aprés que Mozzila devienne corporate :p

Federal Design House
Messages postés
22
Date d'inscription
vendredi 3 mars 2006
Statut
Membre
Dernière intervention
30 août 2007

Bonjour, c'est normal, tu as fais des erreurs toutes betes, tu as mis un ".php" dans ta variable, tu as pas mis les parenthèse de ton include. il faut que tu fasse ca :

<?
$page="page.php"
include ("$page");
?>
a la place de




<?
include "$page.php";
?>






Et si tu veux que ca marche quand on clique sur un liens c'est :

Dans ton menu :

[index.php?page=mapage

]

[index.php?page=mapage2

]

Dans ton fichier "index.php" :

<?

$page=$_GET[page];
include ("$page");
?>

Voila !

sur ce, bon courage ;)