Je voudrai créer un interface dynamique, comment si retrouver include ou pseudo [Résolu]

Signaler
Messages postés
27
Date d'inscription
dimanche 22 août 2004
Statut
Membre
Dernière intervention
3 septembre 2011
-
Messages postés
27
Date d'inscription
dimanche 22 août 2004
Statut
Membre
Dernière intervention
3 septembre 2011
-
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

Messages postés
27
Date d'inscription
dimanche 22 août 2004
Statut
Membre
Dernière intervention
3 septembre 2011

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
Messages postés
1375
Date d'inscription
dimanche 28 novembre 2004
Statut
Membre
Dernière intervention
2 août 2011

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...)
Messages postés
1375
Date d'inscription
dimanche 28 novembre 2004
Statut
Membre
Dernière intervention
2 août 2011

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);
Messages postés
27
Date d'inscription
dimanche 22 août 2004
Statut
Membre
Dernière intervention
3 septembre 2011

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
Messages postés
27
Date d'inscription
dimanche 22 août 2004
Statut
Membre
Dernière intervention
3 septembre 2011

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

Flaydeer
Messages postés
27
Date d'inscription
dimanche 22 août 2004
Statut
Membre
Dernière intervention
3 septembre 2011

probleme d'affichage 2 fois, sorry:

include ' menu/ gauche.php '
Messages postés
1375
Date d'inscription
dimanche 28 novembre 2004
Statut
Membre
Dernière intervention
2 août 2011

La bonne syntaxe est :
include ('menu/gauche.php');
Messages postés
27
Date d'inscription
dimanche 22 août 2004
Statut
Membre
Dernière intervention
3 septembre 2011

avec ou sans () sa marche la difference ?

Et pour le contenu ?

 pour le contenu je ne suis pas:

 $myDoc = $_GET['doc']

include($myDoc);

Flaydeer
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
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 -
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
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 -
Messages postés
27
Date d'inscription
dimanche 22 août 2004
Statut
Membre
Dernière intervention
3 septembre 2011

 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é