Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/02/2007, 15h31   #1
Membre du Club
 
Inscription : septembre 2006
Messages : 184
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 184
Points : 43
Points : 43
Par défaut générer dynamiquement un include()

Bonjour,

Est-il possible selon vous de récupérer une variable en get et de générer dynamiquement mon include()?

Exemple :

Code :
<? include($_GET['mavar'].php) ?>
Ceci m'éviterai d'inombrables lignes de code redondantes:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
if($_GET['concerne'] == "competitions"){
			if($_GET['action'] == "ajout"){
				include("actualite/competitions/ajout.php");
			}else if($_GET['action'] == "modification"){
				include("actualite/competitions/modification.php");
			}
		}else if($_GET['concerne'] == "clés"){
			if($_GET['action'] == "ajout"){
				include("actualite/cles/ajout.php");
			}else if($_GET['action'] == "modification"){
				include("actualite/cles/modification.php");
			}
		}else if($_GET['concerne'] == "generale"){
			if($_GET['action'] == "ajout"){
				include("actualite/generale/ajout.php");
			}else if($_GET['action'] == "modification"){
				include("actualite/generale/modification.php");
			}
		}else if($_GET['concerne'] == "juges"){
			if($_GET['action'] == "ajout"){
				include("actualite/juges/ajout.php");
			}else if($_GET['action'] == "modification"){
				include("actualite/juges/modification.php");
			}
		}else if($_GET['concerne'] == "cadres"){
			if($_GET['action'] == "ajout"){
				include("actualite/cadres/ajout.php");
			}else if($_GET['action'] == "modification"){
				include("actualite/cadres/modification.php");
			}
		}else if($_GET['concerne'] == "gymnastes"){
			if($_GET['action'] == "ajout"){
				include("actualite/gymnastes/ajout.php");
			}else if($_GET['action'] == "modification"){
				include("actualite/gymnastes/modification.php");
			}
		}
Merci bien
taffMan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 15h31   #2
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
oui c'est possible

mais le mieux c'est d'essayer !
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 15h36   #3
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
C'est un détail, mais utilisez plutôt
Code :
<?php include($_GET['mavar'].php) ?>
que
Code :
<? include($_GET['mavar'].php) ?>
Je parle d'expérience...
__________________
GAMIN !!!!
_______________________________________________
PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 15h38   #4
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
voir meme :
Code php :
1
2
 
<?php include($_GET['mavar']."php") ?>
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 16h36   #5
Inscrit
 
Inscription : octobre 2006
Messages : 430
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 430
Points : 52
Points : 52
Exactement il existe quelque chose que moi j'avait fait j'avais mis toute les variable dans une base de donné et mon code (de 8 ligne ), allai cherchai les inofrmation prenait le texte a afficher et c tout!!
Dans ta base tu met nom de ta variablequi s'associe avec un texte a afficher bien sur en .txt
guismoman33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 16h52   #6
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 251
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 251
Points : 1 514
Points : 1 514
salut,
si je ne me trompe pas, la syntaxe est avec des guillemets et non des parenthèses nan ?

Code :
<?php include "page.php"; ?>
essaye ca :
Code :
<?php include "$_GET['ta_var']"; ?>
pour simplifier les choses, t'as cas mettre l'extention comprise dans ta var nan ?
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 16h58   #7
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
Perso, j'utilise la syntaxe avec les 2 :
Code :
<?php include("page.php") ?>
Mais je crois qu'on n'est pas obligé de mettre les parenthèses... et s'il s'agit d'une variable, on n'est pas obligé de mettre les quotes...
__________________
GAMIN !!!!
_______________________________________________
PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 16h59   #8
Inscrit
 
Inscription : octobre 2006
Messages : 430
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 430
Points : 52
Points : 52
surtout pas c'est a l'ancienne sa!!!!!!!!!!!!!!!!!!!!les conditions sont la pour fermé la faille qui pendant lontemps était utilisé par les petit hackeur la faille include...Fait comme je t'ai dit fait le avec uen base de donnée
guismoman33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 17h07   #9
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
bon en fait, il me semblait qu'elle était corrigée cette faille, mais dans le doute, il est très simple de s'en prémunir :
Code :
1
2
3
4
if(file_exists($_GET['ta_var'].'.php'))
{
include $_GET['ta_var'].'.php';
}
Et là y'a plus de faille !
__________________
GAMIN !!!!
_______________________________________________
PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2007, 08h55   #10
Inscrit
 
Inscription : octobre 2006
Messages : 430
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 430
Points : 52
Points : 52
c bien se ke je di donc c la mem chose que son programme de départ...Pourquoi elle serait corrigé cette faille??Elle existe toujours c'est le programmeur qui la bouche automatiquement
guismoman33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2007, 16h17   #11
Membre du Club
 
Inscription : septembre 2006
Messages : 184
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 184
Points : 43
Points : 43
Salut les gars,

C'est parfait mon code est allégé grâce donc à:

Code :
<? include("monrepertoire/".$_GET['mavar'].".php") ?>
Interessant guismoman ce que tu dis à propos d'utiliser une bdd pour ces vars + leur code respectifs en fichier .txt (pour alléger le poids surement...)

Donc tu optimises à fond le poids de tes applications grâce à ce procédé, nickel! Je ne demande pas mieux de débroussailler à fond mon code. Plus mon code est propre plus je prends du plaisir à dire vrai , je déteste les redondances.
taffMan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h59.


 
 
 
 
Partenaires

Hébergement Web