Variable dans include

Angelneonizz Messages postés 788 Date d'inscription   Statut Membre Dernière intervention   -  
 FrK -
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   Statut Membre Dernière intervention   430
 
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   Statut Membre Dernière intervention   137
 
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   Statut Membre Dernière intervention   430
 
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
Yamy
 
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
FrK
 
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