Variable dans include

Fermé
Angelneonizz Messages postés 788 Date d'inscription mardi 9 décembre 2003 Statut Membre Dernière intervention 19 février 2018 - 14 juil. 2007 à 11:53
 FrK - 22 janv. 2010 à 20:33
Bonjour,

j'ai un petit problème sur un site que je viens tout juste de commencer. Je voudrais pouvoir avoir plusieur theme pour mon site j'ai donc une page index.php au tout début qui contient uniquement 2 include :

$theme = "scrin"
include ('theme/$theme/header.html');
include ('theme/$theme/index.php');

malheureseument ça ne fonctionne pas car il ne remplace pas $theme par scrin

si quelqu'un pouvait m'aider SVP, je m'y prens peut être mal pour créer des thémes mais ça me paraissait simple :'(

merci d'avance

5 réponses

sfel Messages postés 1640 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 430
14 juil. 2007 à 11:55
bonjour,

en concaténant ton code ca ne marche pas ??

ca donne ca

$theme = "scrin"
include "('theme/".$theme."/header.html')";
include "('theme/".$theme."/index.php')"; 
1
Angelneonizz Messages postés 788 Date d'inscription mardi 9 décembre 2003 Statut Membre Dernière intervention 19 février 2018 137
14 juil. 2007 à 12:14
Impec :) effectivement ça fonctionne, merci beaucoup.

Entre temps j'ai aussi essayé ça et sa fonctionne :

$theme = "scrin"
$theme_header = "theme/$theme/header.html";
$theme_index = "theme/$theme/index.php";

include $theme_header;
include $theme_index;

Puis je t'embéter encore un peu ?

en fait $theme je voudrait le récupérer dans l'url mais si les visiteurs arrivent directement sur ma page le lien ne contient pas de variable theme, j'ai donc mis in IF, si c'est vide theme = scrin, comme ceci

$recup_theme = $_GET['theme'];
if( $recup_theme == "" )
{
$theme = "scrin";
}

ça fonctionne mais il y a un message d'erreur sur la page comme quoi il ne trouve pas la valeur theme.
comment est ce que je peux résoudre ce problème ?

merci d'avoir répondu aussi vite
1
sfel Messages postés 1640 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 430
14 juil. 2007 à 14:53
alors il y a un test qui existe justement pour ce cas là

isset


dans ton cas on va dire
if (isset($_GET['theme']))
 $recup_theme = $_GET['theme']; 
else 
 $recup_theme = "scrin";


en fait il dit :

if (isset($_GET['theme']))              // si $_GET['theme'] existe
 $recup_theme = $_GET['theme'];         // alors $recup_theme = $_GET['theme']
else $recup_theme = "scrin";            // sinon $recup_theme = "defaut" ,
                                        // tu remplace scrin par ce que tu veux.
0
Je crois que y'a une faille non ?
Si dans $_GET['theme'] je met un truc "louche" je pourrais peut-etre afficher une autre page index non ?!
Je connais pas trop en terme de sécurité, mais si tu met :

$_GET['theme'] = '/admin/'
et que le dossier admin est protégé par htacces, je crois qu'il l'affiche..
Je suis pas sur mais voilà à vérifier, ça m'a pas l'air super sécurisé.
Bonne continuation
0

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

Posez votre question
Hello,

$theme = "scrin" ;

Il faut ajouter une virgule après la déclaration de la variable.

Je pense que c'est solutionné depuis quand même (;

Un petit conseil en prime : faire attention avec les simple quotes ' et les doules quotes "
des fois, tout inverser peut solutionner des problèmes !

Bonne continuation.
0