développement et php

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
zib
Gecko
Messages : 94
Inscription : 06 sept. 2006, 20:34

développement et php

Message par zib »

bonjour,

je refait mon site (dédié au modélisme) et en fait, la page d'accueil est faite avec des include("...")
j'ai un menu à gauche fait avec des liste
le corps de la page
et une colonne de liens

voila la page : ici

je voulais avoir si c'était possible de ne modifier que le corps : en cliquant sur un lien du menu on appelle un autre fichier dans le include("...") du corps de la page.

si c'est possible, comment faire?

merci d'avance

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
mon site perso sur le modélisme : http://microoffshore.servlan.org
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

En gros, il y a deux possibilités :
  1. soit tu fais plusieurs pages dans lesquelles tu inclus à chaque fois l'entête, le menu et le pied de page, et avec le contenu directement dedans (tu auras des liens comme accueil.php, recherche.php etc) ;
  2. soit tu ne fais qu'une seule page contenant l'entête, le menu et le pied de page et dans laquelle tu inclus le contenu (soit include d'un fichier soit depuis une base de données) en fonction d'un paramètre passé (tu auras des liens comme index.php?page=home ou index.php?page=recherche).
:wink:
zib
Gecko
Messages : 94
Inscription : 06 sept. 2006, 20:34

Message par zib »

c'est la deuxième option que je veux.la première est trop lourde je trouve comme l'environnement se répète.
mais la deuxième est peut être plus compliquée à mettre en oeuvre mais c'est celle là que je veux pour des raisons de maintenance

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
mon site perso sur le modélisme : http://microoffshore.servlan.org
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Oui effectivement, c'est probablement la meilleure pour les gros projets (enfin, pour les très gros projets il faut peut-être quelque chose d'encore plus puissant, comme un MVC, mais c'est autre chose et ce n'est pas le cas ici). C'est vite long de répéter tout, j'en ai fait la désagréable expérience avec Smilissimo.

Si tu as besoin de plus de détails, n'hésite pas :wink:
zib
Gecko
Messages : 94
Inscription : 06 sept. 2006, 20:34

Message par zib »

ben justement, comment faut faire?
faut mettre quoi, où et comment?

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
mon site perso sur le modélisme : http://microoffshore.servlan.org
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Il faut utiliser la variable $_GET pour récupérer les valeurs passées.
http://ch2.php.net/manual/fr/reserved.v ... iables.get
zib
Gecko
Messages : 94
Inscription : 06 sept. 2006, 20:34

Message par zib »

alors, en php j'y connais rien du tout, a part l'instruction echo et encore....
je voulais donc savoir quelle ligne de commande permettait de faire ça, et comment on mettait tout ça en oeuvre.

en html j'arrive à me débrouiller mais en php,.....que dalle!

en gros, j'en suis au début!

merci d'avance quand même!

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
mon site perso sur le modélisme : http://microoffshore.servlan.org
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Pour récupérer le paramètre page, tu devras faire quelque chose un peu comme ça :

Code : Tout sélectionner

$page = $_GET['page']
Ensuite tu fais ce que tu en veux !

Je te conseille de commencer avec un tuto, sinon c'est la galère. Celui-ci me semble pas mal du tout : http://www.siteduzero.com/tuto-3-4-0-un ... c-php.html :wink:
zib
Gecko
Messages : 94
Inscription : 06 sept. 2006, 20:34

Message par zib »

je commence à mieux comprendre!!
peut être que j'y arriverai tout seul....

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
mon site perso sur le modélisme : http://microoffshore.servlan.org
zib
Gecko
Messages : 94
Inscription : 06 sept. 2006, 20:34

Message par zib »

donc si je comprend j'aurais des liens qui au lieu de ressembler à :
../pagevoulue.html (ou php peut importe)

j'aurais :
index.php?pagevoulue:=......

j'ai bon?

et dans le include du coorps j'aurais la variable $_GET['pagevoulue'] avec

ou alors j'affecte la valeur de cette variable à une autre variable que je nomme.

c'est ça?

edit : par contre pour la page d'accueil, ça se passe comment? car la variable sera vide...

par contre apparemment c'est pas super sécurisé!

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
mon site perso sur le modélisme : http://microoffshore.servlan.org
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

Tu peux le "sécuriser" en n'acceptant que les valeurs que tu sais exister pour le paramètre "page".

La manière la plus simple c'est un bloc switch.
Par exemple :

Code : Tout sélectionner

// ici, les en-têtes communs pour toutes les pages

$page = $_GET['page'];
if (!$page) {
  // si aucune page n'a été précisée, on affichera la page d'accueil
  $page = 'accueil';
}

switch($page) {
  case 'accueil' : 
    include('accueil.html'); 
    break;
  case 'apropos' :
    include('apropos.html');
    break;
  // etc.
  default : 
    // page non prévue
    echo '<p>La page demandée n'existe pas</p>';
}

// ici, les menus et pieds de page communs pour toutes les pages
Énormément de sites fonctionnent selon ce schéma de base, qui ne demande bien sûr qu'à être peaufiné.
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
zib
Gecko
Messages : 94
Inscription : 06 sept. 2006, 20:34

Message par zib »

Benoit a écrit :Tu peux le "sécuriser" en n'acceptant que les valeurs que tu sais exister pour le paramètre "page".
comment qu'on fait?

ou par exemple, serait-il possible de rajouter mettre dans le include :
http://microoffshore.servlan.org/$page

comme ça si on demande une page qui n'est pas sur mon espace, ... rien de s'affiche...

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
mon site perso sur le modélisme : http://microoffshore.servlan.org
zib
Gecko
Messages : 94
Inscription : 06 sept. 2006, 20:34

Message par zib »

dsl j'avais pas compris.

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
mon site perso sur le modélisme : http://microoffshore.servlan.org
zib
Gecko
Messages : 94
Inscription : 06 sept. 2006, 20:34

Message par zib »

petite question :
est-ce que ce code est correct? :

Code : Tout sélectionner

<?php $page = $_GET['page'].inc.php ?>
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
mon site perso sur le modélisme : http://microoffshore.servlan.org
zib
Gecko
Messages : 94
Inscription : 06 sept. 2006, 20:34

Message par zib »

j'ai fini d'écrire le code, ça marche mais je voudrais une confirmation..

Code : Tout sélectionner

<?php 
$extension = ".inc.php";
$page = $_GET['page'];
if (!$page) {
  // si aucune page n'a été précisée, on affichera la page d'accueil
  $page = 'corps';
} 
$page = $page.$extension;
if (file_exists($page)) 
{
  // si la page existe dans le répertoire
  include ("$page");
}
else
{
echo "la page désirée n'existe pas...";
} 
?>
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
mon site perso sur le modélisme : http://microoffshore.servlan.org
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 0 invité