Je voudrai créer un interface dynamique, comment si retrouver include ou pseudo

Résolu
cs_flaydeer Messages postés 27 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 3 septembre 2011 - 2 mars 2009 à 17:02
cs_flaydeer Messages postés 27 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 3 septembre 2011 - 2 mars 2009 à 18:48
Bonjour,

Je suis complètement perdu! Je voudrai créer un interface dynamique pour mon site, c'est à dire: les menus et le contenu de mon site séparer avec un mode de template ou autre !

Entre les include et les pseudos frames, on trouve de tous sur internet mais il n'y en a pas un qui tien le meme language et surtout au point de vue sécurité !
Certain vous parle de array et d'autres de .htaccess, quel solutions ?

Alors comment faire ? une explication et solution simple sécurisé !

En débutant sur php, il n'est pas simple de si retrouver.

Merci.

Flaydeer

11 réponses

cs_flaydeer Messages postés 27 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 3 septembre 2011
2 mars 2009 à 17:12
Merci,

Le .htaccess c'est pour ne pas acceder directement au fichier via l'url ? a ce que j'ai cru comprendre.
J'ai commencer par un système include, pour mes menus pas de problèmes mais pour le contenu. La c'est la galère !

et au point de vue sécurité je ne sais pas comment faire. si tu peux me guider pour pouvoir inclure mon contenu. merci.




Flaydeer
3
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
2 mars 2009 à 17:05
hello,

"Certain vous parle de array et d'autres de .htaccess"  ---> rien a voir !!!
Google > .htaccess
Google > array();

Sinon tu fait comme tu veux :
> soit des include();
> soit avec un moteur de templates (ex: smarty, fasttemplate...)
0
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
2 mars 2009 à 17:15
Tu peux essayer de recuperer des variable via $_GET[] et la valeur de celle-ci sera le nom de ton fichier a inclure, EX:

$myDoc = $_GET['doc'];

include($myDoc);
0
cs_flaydeer Messages postés 27 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 3 septembre 2011
2 mars 2009 à 17:29
Désolé mais je ne comprends rien,

pour mes menus qui sont dans un dossier menu j'ai fais: <?php include 'menu/gauche.php';
???>

mais pour le contenu je ne suis pas

$myDoc = $_GET['doc']

include($myDoc);



Flaydeer
0

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

Posez votre question
cs_flaydeer Messages postés 27 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 3 septembre 2011
2 mars 2009 à 17:30
excuse j'ai oublier:
pour mes menus qui sont dans un dossier menu j'ai fais:<?php include 'menu/gauche.php';
???>

Flaydeer
0
cs_flaydeer Messages postés 27 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 3 septembre 2011
2 mars 2009 à 17:34
probleme d'affichage 2 fois, sorry:

include ' menu/ gauche.php '
0
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
2 mars 2009 à 17:36
La bonne syntaxe est :
include ('menu/gauche.php');
0
cs_flaydeer Messages postés 27 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 3 septembre 2011
2 mars 2009 à 17:46
avec ou sans () sa marche la difference ?

Et pour le contenu ?

 pour le contenu je ne suis pas:

 $myDoc = $_GET['doc']

include($myDoc);

Flaydeer
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
2 mars 2009 à 18:26
Salut Flaydeer,

Peux tu nous dire ce que tu ne suis pas sur ces 2 lignes de code ultra simples ?
C'est le get qui pose pb ?
=> http://fr.php.net/manual/fr/reserved.variables.get.php

En deux mots, imaginons l'url suivante :
http://monsite.fr/inex.php?doc=machinchose

$_GET['doc'] sera égal à machinchose.

Sans vouloir être méchant, si ces 2 lignes te posent déjà problème, oublie le codage de ton site pour le moment et acquiert un minimum de connaissances en php avant de te lancer (et utilise un moteur de templates tout fait), ça t'évitera peut être de te décourager trop vite.

Pour ce qui est de la sécurité l'exemple d'Orange n'est pas à suivre en l'état (mais il ne donnait qu'un exemple). Il faut traiter un minimum les variables passées par l'utilisateur (get, post) afin de ne pas lui permettre d'accéder à des pages non autorisées.

Cordialement,

Kohntark -
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
2 mars 2009 à 18:29
Pour le include (ou les require), les parenthèses ne changent effectivement rien. Comme Orange j'ai l'habitude de les mettre, car c'est une fonction.
Par contre (erreur de frappe de ta part ?) il est impératif de mettre le point virgule de fin et de ne pas mettre d'espace.

Kohntark -
0
cs_flaydeer Messages postés 27 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 3 septembre 2011
2 mars 2009 à 18:48
 en réalité voila mon code :

$pages=strtolower($pages=$_GET['pages']); // pour les carateres majuscules
    $p=$_GET['pages'];           
    if (isset($pages) && preg_match("/^[a-z0-9]+$/i",$pages)){ //  preg_match expression regulier
     if( file_exists("pages/". $p .".html")){
  include "pages/". $p .".html";
  }
  elseif(file_exists("pages/". $p .".php")){
  include "pages/". $p .".php";
  }
    else{            //sinon inclure page erreur 404
        include "pages/404.html";
        }
    }
    else{ //sinon inclure page erreur 404
        include "pages/404.html";
    }

+ un fichier .htaccess:

# On suit les liens symboliques
Options +FollowSymlinks
# Activation du mod rewrite d'Apache RewriteEngine On
RewriteEngine On
RewriteRule ^(.*)\.html$ index.php?pages=$1 [L]

mes problèmes sont: PS, mes pages sont dans un dossier pages.

1.   quand on tape l'url de mon site le page accueil = erreur 404, mais si je clique sur accueil du    menu pas de problème.

2.  J'ai un formulaire : formulaire.html qui renvoi à contact.php  mais il s'afficher pas dans le contenu de
mon site ?  form method="post" action="pages/contact.php"

3.   je ne suis pas sur que mon site sous vraiment sécurisé
0
Rejoignez-nous