begin process at 2012 02 15 17:30:19
  Trouver un code source :
 
dans
 
Accueil > 

Tutoriels

 > 

Application

 > CRÉER UN SITE WEB SIMPLE AVEC UN TEMPLATE

CRÉER UN SITE WEB SIMPLE AVEC UN TEMPLATE


 Information sur le tutoriel



 Description

Bonjour et bienvenue sur ce tutoriel.

Nous allons apprendre, ici, à créer un site web simple géré par un template.
Compliqué me direz-vous, eh bien vous vous trompez.
Cependant, à la première lecture de ce tutoriel, l'utilisation des templates pourra vous semblez encore flou. Une conclusion a donc été écrite et résume de façon très simple ce que vous allez lire.
Bonne lecture.

Vous pouvez télécharger la source dans cet exemple concret, allez y faire un tour, c'est la mise en pratique de ce tuto :
http://baddarkspirit.olympe-network.com/

Tutorial

Template pour création de site web simple


Bonjour et bienvenue sur ce tutoriel. Nous allons apprendre, ici, à créer un site web simple géré par un template . Compliqué me direz-vous, eh bien vous vous trompez.

Cependant, à la première lecture de ce tutoriel, l'utilisation des templates pourra vous semblez encore flou. Une conclusion a donc été prise et résume de façon très simple ce que vous allez lire.

Bonne lecture.



Pré requis :

- Connaissance du HTML

- Connaissance du PHP

- Création de classe en PHP




La toute première chose à faire est de créer une coquille vide de votre site web. Un simple fichier HTML suffit amplement. Bien évidemment, vous pouvez coupler cette page HTML avec un fichier CSS . Cette coquille vide est le template et en voici le code de base (vous pouvez ajouter du CSS évidemment, je le conseille même très fortement) :


< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns = "http://www.w3.org/1999/xhtml" xml:lang = " fr " >
< head >
< meta http-equiv= "Content-Type" content= "text/html; charset =iso-8859-1" / >
< title >Test sur les templates< /title >
< l ink rel = " stylesheet " media= "screen" type= "text/ css "
href = "style.css" / >
< /head >


< body >

< div id= " divHeader " >
< ? php echo($application- > header); ?>
< /div >

< div id= " divMenu " >
< ? php echo($application- >menu); ?>
< /div >

< div id= " divContent " >
< ? php echo($application- >content); ?>
< /div >

< div id= " divFooter " >
< ? php echo($application- >footer); ?>
< /div >

< /body >

< /html >





Notre coquille vide ne va pas rester comme ça. Ne faites pas attention au code PHP du template pour le moment, nous y reviendrons en temps voulu. La deuxième étape consiste à créer une classe application. Cette classe va comprendre plusieurs éléments. Mais tout d'abord voici le code, les explications viennent ensuite :


<? php


class application {


/* ATTRIBUTS * /


    var $header;

    var $menu;

    var $content;

    var $footer;

    var $template;

    


/* =================================================================== ===

METHODES

                                

Ici sont regroupées les fonction s du programme, qui récupère

les valeurs du header, du contenu, du pied de page, et enfin, la

fonction buildPage ( ) exécute ces fonctions d'un coup .    On a aussi le construteur de la classe ici, qui nous donne l'emplacement du template

========================================================================*/


    //FONCTION CONSTRUCTEUR

    functionapplication() {

        $this->template='template.html';

    }



    //FONCTION QUI CREE LE HEADER

    functiongetHeader() {

        $this->header = 'ici le contenu du header';

    }

    

    

    //FONCTION QUI CREE LE MENU

    functiongetMenu() {

        $this->menu.='<a href="?action=afficherIndex">Index</a>';

    }

    

    

    //FONCTION QUI CREE LE CONTENU

    functiongetContent() {

        if(isSet($_GET['action'])) {

            

            switch($_GET['action']) {

                case 'home' :

                    include('content/home.php');

                    break;

                case 'afficherTutoriel' :

                    include('content/tutoriel.php');

                    break;

                //Par défaut, on affiche la page d'accueil

                default :

                    include('content/home.php');

            }

        }

        //Sinon on fait afficher la page d'accueil

        else {

            include('content/home.php');

        }

    }

    

    

    //FONCTION QUI CREE LE PIED DE PAGE

    functiongetFooter() {

        $this->footer = 'contenu du pied de page';

    }

    

    

    /*FONCTION QUI APPELLE LES FONCTIONS DE CREATION DES DIFFERENTES PARTIES DE LA PAGE*/

    functionbuildPage() {

        $this->getHeader();

        $this->getMenu();

        $this->getContent();

        $this->getFooter();

    }


} //Fin de la classe application


?>


On crée donc notre classe avec 6 attributs : 5 contenant les différentes parties de notre page, et un qui va contenir l'adresse de notre template (notre fameuse coquille vide). On a notre méthode constructeur qui va nous donner le lien vers notre template , puis, les 4 fonctions suivantes remplissent les attributs et ceux-ci vont donc contenir le code HTML (ou PHP) des différentes partie du site. On a, par exemple, la fonction getMenu ( ) qui nous donne le code pour le menu de notre site web.


Pour le contenu, c'est différent. Quand on clique sur un lien du menu, on renvoi vers l'index du site, mais avec une information transmise avec la méthode GET . Et donc, c'est notre méthode " getContent ( ) " qui récupère cette info, puis, grâce à un switch sur cette variable, on en défini le contenu. Pour que le code soit plus clair, le contenu est mis dans un fichier php qui va contenir un code du style :


<? php

    $this->content = 'contenu de la page';

?>


Enfin, la méthode " buildPage ( ) ", fait appel au 4 méthodes précédentes, et les fait s'exécuter.


    Pour finir nous avons le fichier index.php. C'est ce fichier PHP qui se lance au démarrage de votre site web, mais c'est pourtant le plus petit des fichiers dans ce tutoriel. En voici d'abord le contenu, les explications venant après :


<? php


    //On inclut et on instancie notre classe

    include("application.class.php");

    $application = new application;

    

    //On contruit la page

    $application->buildPage();

    

    //On inclut le template qui appel les différents éléments de la page

    include($application->template);


?>


Ici, pas de souci à se faire. On inclut notre classe et on l'instancie. Ensuite, on fait appel à notre méthode " buildPage ( ) ", qui va nous construire la page par rapport à l'information GET['action'] . Puis, pour finir, on inclut notre attribut $ template (ici $application-> template ). Et c'est ici que l'on peut parler du code PHP du fichier " template.html ".
Ces tous petits bouts de code PHP de ce fichier vont juste nous afficher nos attributs là où on le désire, et donc, c'est à ce moment que notre coquille vide se remplit.


En conclusion, on a un fichier index.php qui instancie une classe. A l'instanciation de cette classe on nous donne dans une variable (attribut), l'emplacement de notre coquille vide ( template ). Ensuite notre fichier index.php appelle la méthode buildPage ( ) qui rempli quatre variables qui correspondent à l'en-tête, le menu, le corps et le pied de page de notre site web.

Pour finir, notre fichier index.php inclut notre template et celui-ci affiche le contenu de nos quatre attributs correspondant à nos quatres parties de notre page web.


Je vous remercie d'avoir lu ce tutoriel jusqu'au bout, en espérant avoir été clair.

 Historique

31 décembre 2008 10:27:05 :
Edit du 31/12 : mise en page
31 décembre 2008 10:28:52 :
Edit du 31/12 : mise en page
31 décembre 2008 10:29:40 :
Edit du 31/12 : mise en page
31 décembre 2008 10:37:00 :
Edit du 31/12 : Mise en page (encore, la version beta pour le chargement de fichier .docx n'est pas super)
02 janvier 2009 09:03:41 :
Edit du 02/01/09 : Encore de la mise en page, la prochaine fois je taperais mes tutos directement sur le site.
16 janvier 2009 13:49:54 :
Ajout d'un lien pour le téléchargement des sources. Sur ce site, vous aurez une mise en pratique de ce tuto

Commentaires

Commentaire de meeng le 05/01/2009 14:24:46

ce totu est vraiment simple et très compréhensible il met en oeuvre les base de la poo mais j'aurai aimer pour plus de détaille qu'il mette en oeuvre le charge d'une troisieme mis à part les deux primière

en tout cas bravo!!! tu es un bon pedagogue

Meeng

Commentaire de dfs le 12/01/2009 15:56:14

c coool

Commentaire de papin59 le 14/01/2009 12:30:44

Ce qui est bien c'est que tu n'as pas surchargé tes explications, ce qui est souvent un défaut des tutos.

Bravo.

Commentaire de Unpacker le 15/01/2009 11:31:23

C'est possible avoir un exemple complait, à téléchargé, car j'ai un peut de mal à le faire marcher, en temps amateur voir amateur. Merci de votre réponse...

Commentaire de bad_dark_spirit le 15/01/2009 11:54:20

@ Unpacker --> J'ai bien un exemple à télécharger, qui est un site web fait avec un template de ma création, et qui en plus sert aussi de tutoriel. Donc oui je peux le mettre en ligne avant lundi et donner le lien dans les explications plus haut. Bien entendu, comme le site est de moi, je souhaiterais que si vous utilisez le template ou bien le contenu, de citer la source voire mon nom (le nom d'auteur).
J'essaie de faire ça pour ce week end.

Commentaire de bad_dark_spirit le 16/01/2009 13:57:31

Voilà, tout est en ligne comme prévu.

le lien : http://baddarkspirit.olympe-network.com/

Commentaire de Unpacker le 20/01/2009 17:15:45

ok merci, si non pour le nom de l'auteur, je le métré sur une page copyright, ou si non j'utilise le moteur de template de phpbb2, mais bon, je testé ta template en c'est jamais...

Commentaire de Unpacker le 20/01/2009 17:26:58

A oui..

Il manque plus une fonction, de chargement des images dynamique avec barre de chargement....

Est la sa serais cool ;=) ...

Commentaire de Unpacker le 21/01/2009 09:44:58

allé je te mais une note pour ton script(s).
Pour un débutant, c'est super pratique et simple emploi.
Merci à toi

Commentaire de sirtal3ab le 23/01/2009 03:08:06

merci et bonne contunuatio ------------> toto

Commentaire de lakhssas le 24/01/2009 15:19:19

Merci

Commentaire de paolo125 le 05/02/2009 11:11:50

Je le trouve très interessant ton tuto très grand merci

Commentaire de chidap le 09/02/2009 14:47:52

pas si mal

Commentaire de Orange73 le 19/02/2009 16:41:56

Une autre manière de parler de templates effectivement sans moteur de templates ...
Sa permet tout de même de faire une approche pour la POO, les classes...

Mais je prefère la gestion de template via un moteur du genre Smarty ou fastTemplate :)

Commentaire de flaydeer le 02/03/2009 13:35:48

Salut,

et au point de vue sécurité, cette solution est elle bien sécuriser ?

Merci.

Commentaire de thouraya8700 le 16/03/2009 16:49:23

vous pouvez m'aider à completer mon site de vente en enchére

Commentaire de kaken le 24/03/2009 11:05:22

Salut, ton tuto est super cool pour bien démarrer en POO

Commentaire de the_vrp le 29/03/2009 17:19:11

tu utilise quel appli pour creer tes pages html ou css ou pour editer les templates ?  
je suis debutant et cela m interesse de ne pas partir sur une appli trop compliquée

merci

Commentaire de bad_dark_spirit le 29/03/2009 19:08:27

the_vrp --> Bonjour, je pense que je vais te décevoir, mais j'utilise simplement Notepad++ pour la création de mes sites web ou services web. J'ai juste besoin d'un coloration syntaxique pour programmer. Pour le reste, les images sont crées avec Photofiltre. Je suis un grand fan du libre.

Kaken --> Merci, une critique positive fait toujours plaisir :)

Thouraya8700 --> Je suis désolé, mais je suis en pleine période d'examen, et j'ai quatre projets en cours. En ce moment aider quelqu'un m'est impossible.

Flaydeer --> Cette méthode est aussi (voire plus) sécurisé qu'un site web en PHP crée "normalement".

orange73 --> Chacun ces goût en matière de programmation. Je n'ai jamais utilisé de moteur de template, mais ça doit aussi avoir ces avantages. Pour ma part je préfère taper tout le code, de A à Z.

Pour le reste --> Merci :D

Commentaire de xsaiddx le 29/04/2009 19:19:15

salut j'ai soucis
c'est quoi cette ligne

echo($application- > header);

ce n'est pas un appelle de fonction c'est un attribut si je me trompe pas

sinon rectifier moi ca
et merci

Commentaire de bigsony le 06/05/2009 16:45:38

très bon tuto.
Je suis un débutant en POO ,cela m'a beaucoup aidé.
Dans mes manipulations j'ai constaté que lorsque je met du code php dans la partie "content" il n'est pas interpreté. En fait je voulais appeler une autre page à partir d'une page "content" mais je n'arrive pas.
S'il te plait j'attends votre aide.

Commentaire de khalidsign le 11/05/2009 14:27:10

pas mal ......

Commentaire de maxma le 23/05/2009 10:41:55

Bonjour Stéphane,
J'ai eu connaissance de ce script sur votre site et depuis 48h mais je ne parviens pas à surmonter quelques difficulés. Je suis donc impatient de pouvoir communiquer directement avec vous.
Le code est très propre, les commentaires parfaits. Mais voila :
Dans "application.class.php" :
J'inclus mes fichiers-perso.php dans la boucle < function getContent (); >.
Dans "fichier-perso.php" :
j'encadre le contenu par   <? php $this->content = 'contenu de la page'; ?>.
Ce qui me pose problème :
1- le contenu est grisé (mais il suffit d'enlever la balise php le temps de travailler sur la page)
2- les apostrophes et guillemets du contenu créent un "parse error" que je ne parviens à résoudre. Je ne peux me permettre de rajouter des antislashs à chacune des occasions (les contenus sont longs et d'autres personnes via un espace admin participent au contenu, c'est pour un collège).
J'ai essayé :
- de conjuguer la balise php du contenu avec l'include;
- avec "get_contents";
- de bidouiller les addcslashes les stripslashes ...
- et je ne sais plus quelle comme méthode douteuse;
et au mieux le contenu s'affiche au-dessus du fichier-perso.php mais jamais dans la balise <divContent> de "template.html".
Quelle peut être la solution ?
J'espère avoir été clair.
Bon courage pour vos exams et projets !
Max

Commentaire de bad_dark_spirit le 23/05/2009 12:05:18

Bonjour Max,
Pour votre problème numéro 1, c'est tout à fait normal que le contenu soit grisé vu que le contenu de la page se trouve entre quote ' . Il n'y a pas de moyen de parer ceci mis à part votre solution de rajouter les quotes à la fin. Pour ma part je connais suffisamment le PHP pour me permettre de continuer à coder malgré le fait que le code est gris.

Le second problème est plus embêtant. La première solution est de placer un antislash \ devant chaque quote, mais si le contenu est long, cela devient vite rébarbatif. La seconde solution est de créer vous même une fonction qui ajoute un antislash avant chaque quote. Pour cela, aidez-vous des expressions régulière. Je vous donne un exemple

$this->content = str_replace("\'", "\\'", $this->content);
// Ici on remplace tous les ' par des \'

Je n'ai pas testé, mais c'est pour vous donner une piste.

bon courage.

Commentaire de maxma le 23/05/2009 12:25:48

Stéphane,
Je ne m'attendais pas à une réponse si rapide, merci d'être là...
Je vais tester (et en profiter pour étudier les regex, j'en fais l'impasse depuis le début). Je vous en informerai bien sûr.
Bonne journée
Max

Commentaire de maxma le 23/05/2009 14:50:51

J'ai beau créer des variables, bidouiller différentes expressions régulières, inclure, etc. je parviens au mieux à des problèmes de vue. Je vais continuer et vous tiendrai au courant.
Puisqu'il s'agit d'un site de collège, donc du ministère, je ne pourrai pas mettre de lien vers votre site, en revanche je l'indiquerai dans le code source (je sais qu'un élève au moins est susceptible d'y jeter un coup d'oeil, il lui est d'ailleurs interdit d'approcher la salle d'info pour piratage...).
Merci pour tout.
Bon courage
Max

Commentaire de bad_dark_spirit le 23/05/2009 16:12:18

Re,

A la limite, tu peux créer un script à part, dans n'importe quelle langage. Tu balance ta chaîne de caractère dans un formulaire et ton script va s'occuper de transformer les quotes en \', ensuite tu fais un copy/paste dans ton code PHP et le tour est joué...

Bon courage

Commentaire de maxma le 24/05/2009 13:33:06

Bonjour Stéphane, j'ai pris connaissance de ton message ce matin. Voici ce que j'ai composé et qui fonctionne parfaitement. Si cela peut être utile à d'autres. J'ai essayé d'être didactique ...
<body>
<!---------------------------------------------------------------------
Voici un script nommée slash.php
Il est utile si le "content" de votre balise divContent contient
un long texte avec des apostrophes et des guillemets et que vous ne voulez pas ou ne pouvez pas placer devant chacun d'eux un antislash.
Le principe :
Vous tapez votre script html dans le body ;
Vous le copiez/collez dans le formulaire ci-dessous ;
Copiez/collez le résultat comme "content" dans :
$this->content .= 'Ici j\'colle avec l\'apostrophe';
----------------------------------------------------------------------->
<div>
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" enctype="multipart/form-data" method="post" >
<fieldset>
<legend>Transformation des quotes</legend>
<label for="texte"></label><br />
<textarea name="texte" id="texte" cols="100" rows="20"></textarea>
<input type="submit" value="Transformer">
</fieldset>
</form>
</div>

<?php
//Ouverture du fichier où la transformation sera effective
$fp = fopen("transformation.txt", "w+");

//On convertit la chaîne de caractères :  
$texte = addslashes(nl2br(htmlentities($_POST['texte'])));
$page = "";
$page .= "<span>$texte</span>\n";

//Ecriture du texte dans le .txt
fwrite($fp,"$page");

//fermeture du fichier
fclose($fp);

//On affiche le message enregistré à coller en tant que "content"
echo "$page";
?>
</body>

Voici pour l'instant un moyen pour éviter de mettre des antislashs devant chaque quote d'un script html.
Merci Stéphane
Max

Commentaire de maxma le 24/05/2009 13:55:33

Correction:
Utile seulement devant les quote, id est les apostrophes !
Et précision :
utile seulement pour le html, non le php (qui n'aurait plus aucun sens sans quote)
Max

Commentaire de laloire33150 le 30/08/2009 18:56:29

bonjour,

J'ai un soucis voici ce que me donne mon navigateur

Warning: main() [function.include]: Failed opening '' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in line 14

voici la ligne en question :

include( $application->template );

Commentaire de seyvapul le 21/09/2009 10:28:14

Merci, je viens de le mettre en place sur mon site.

Commentaire de marocteam le 14/11/2009 10:06:33

merci beauxoup ami pour le travail

je suis debutant et je veux plus

Commentaire de dan4 le 20/12/2009 14:25:27

bonjour.  Possiblement une erreur ici que je comprends pas:

     //On inclut le template qui appel les différents éléments de la page
     include($application->template);

ça donne ceci:

Warning: main(template.html) [function.main]: failed to open stream: No such file or directory in /public_html/site6/index.php on line 19

Warning: main(template.html) [function.main]: failed to open stream: No such file or directory in /public_html/site6/index.php on line 19

Warning: main(template.html) [function.main]: failed to open stream: No such file or directory in /public_html/site6/index.php on line 19

Warning: main() [function.include]: Failed opening 'template.html' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /public_html/site6/index.php on line 19

Commentaire de kharfia le 02/03/2010 12:15:01

meci beaucoup

Commentaire de Elran le 20/03/2010 09:46:56

Salut Bad Dark Spirit,
et bravo et merci pour ton tuto !
simple et efficace, facile de mise en oeuvre, jolie travail.

après avoir visité ton site, je me demandais si tes url qui doivent être assez parlante pour des robots
de référencement, avait étaient modifiées ou est ce simplement toi qui à choisi des noms de champs dans
tes tables très parlant exprès?

Commentaire de bad_dark_spirit le 20/03/2010 09:53:16

@Elran -> J'ai choisi des noms de champs très parlant, c'est toujours plus facile ensuite quand on doit reprendre un "vieux" code.
Pour le site en exemple, je n'ai pas fait attention aux robots de référencement, je voulais juste un exemple à donner.

Commentaire de krishna13 le 09/04/2010 12:32:39

Bonjour et merci pour ce tuto.

Je viens de tester une "combine" donnée sur un autre forum et je n'arrive à rien (code source à la fin)

Avant de le tester le tien, voici mes besoins : pouvoir coupler ce site web dyn à une bdd comme wordpress (en grand débutant), et SURTOUT avoir des div extensible :  left-sidebar & right-sidebar qui évoluent en fonction de la hauteur du contenu.

A ce titre en css, j'ai tout essayé (sauf la bonne option) : js / div clear / float, et même de "pomper" sur qq templates wordpress... mais je n'y suis pas arrivé.

Je developpe avec Dream 8 et easy php.

A titre informatif, voici le code source survivant de tous mes essais.

Merci beaucoup et à très bientôt.




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="demo.js"></script>
<link href="style.css" rel="stylesheet" type="text/css" />


<title>Bienvenue dans votre espace formation informatique</title>
</head>

<body>
<div id="main">
<div id="header">

  <?php

require_once('header.inc.php');
?>
</div>

<div id="left-sidebar">
  <?php

require_once('left-sidebar.inc.php');
?>
</div>
<div id="contenu">
<?php

require_once('contenu.inc.php');
?>
</div>

<div id="right-sidebar">

<?php

require_once('right-sidebar.inc.php');

?>
</div>
<div id="footer">

<?php

require_once('footer.inc.php');

?>

</div>
</div>

</body>

</html>

Commentaire de krishna13 le 09/04/2010 13:48:30

Rebonjour,


Sorry, j'ai oublié de te donner la partie sup de l'index pour info:

<?php

$id_page = isset($_GET['id_page']) ? intval($_GET['id_page']) : 0;
// récupération de la variable passée dans l'URL si elle existe

$pages = array('accueil.html', 'lajavanaise.html', 'uneautrepage.php');
// tableau des pages à inclure (id_page 0, 1 et  2)

if( $id_page > count($pages)-1 ) $id_page = 0;
// Si id_page n'existe pas on affiche la page d'accueil


?>

Commentaire de dan4 le 10/04/2010 06:54:13

En supposant que les pages qu'on doit appeler soit dynamique?

Ex: ?page=1 aller jusqu'à 1000

idéalement, serait de pouvoir afficher les pages qui existe et des pages externe. Un moyen?


Commentaire de Bikarfioul le 28/06/2010 11:56:40

Salut,

J'aime bien déterrer les morts ;o)

Une question se pose à moi.
Peux t-on exploiter du PHP dans le CONTENT ?
J'ai l'impression que l'on ne peut exploiter que du texte les quottes empêchant le code.

Merci,
A+

Commentaire de bad_dark_spirit le 28/06/2010 12:56:15

Bien sûr qu'on peut utiliser du PHP dans le content. Sinon ça ne servirait pas à grand chose :)

Commentaire de Bikarfioul le 28/06/2010 14:08:12

Merci de cette réponse rapide.

Alors ! J'ai pas tout pigé....

si tu initialises ton content comme ceci.
functiongetFooter() {
        $this->footer = 'contenu du pied de page';
    }

comment tu inscrit un scrit PHP ou une fonction ?

Car j'ai testé comme suit et d'autre tournure et je n'arrive pas

<?php
    $this->content = phpinfo();
?>

Commentaire de bad_dark_spirit le 28/06/2010 14:16:36

phpinfo() retourne une page web déjà toute faite.

En fait pour utiliser php, tu peux faire comme suit :

if(condition)
{
   $this->content = '<p> Condition ok </p>';
}
else
{
   $this->content = '<p> Condition erronée </p>';
}

Commentaire de Bikarfioul le 28/06/2010 15:11:40

Boire ou coder il faut choisir...

En effet ça marche très bien quand on enlève les âneries du code.

Commentaire de bad_dark_spirit le 28/06/2010 15:14:32

En fait, pour faire encore plus simple, dans la fonction getFooter(), je fais un include d'une page en PHP dans un dossier à part appelé "content".

Et dans ce fichier j'ai le code que je veux.
Et tu parles de quels âneries ?

Commentaire de Bikarfioul le 28/06/2010 15:16:18

Dsl ! Pour le quiproquo ce sont mes âneries

Commentaire de bad_dark_spirit le 28/06/2010 15:17:57

Pas de soucis. Bonne continuation.

Commentaire de Bikarfioul le 28/06/2010 15:47:55

Très bon tutoriel.
Merci pour ton aide

Commentaire de hazerpo le 26/07/2010 11:23:59

Très bon tutoriel simple et efficace.
Je rajoute pour ceux que cela intéresse un fichier ".htaccess" pour simplifier les url.

Options +FollowSymLinks

RewriteEngine On

RewriteRule ^([a-zA-Z]*).html   index.php?action=$1 [L]

Ne pas oublier de modifier les liens du menu dans "application .php" en "afficherTutoriel.html","afficherIndex.php",etc...

Encore bravo pour le tuto

Commentaire de cruffin le 02/08/2010 13:43:55

Bonjour,
tout d'abord merci pour ce tutoriel fort sympathique et très instructif. J'aurais 2 petites questions svp:
1. Dans le template, on y indique le <title> mais est-il possible de le modifier suivant la page sur laquelle on se trouve. Par exemple "Mon_site - Accueil" pour l'accueil et "Mon_site - contact" pour le formulaire de contact.

2. (je vais essayer d'être clair)
Dans la classe application, dans la fonction getContent(), en plaçant le contenu dans un fichier php et en faisant:

include ('nomFichier.php');

le contenu de ce fichier s'affiche tout en haut de la page et non pas dans le divContent.
J'avais solutionné ce problème en remplaçant

include ('nomFichier.php');

par

$this->content = fread(fopen('monFichier.php','rb'),filesize('monFichier.php'));

Cela fonctionne, mais j'ai l'impression que le php n'est pas exploité: si je place que du text/html, pas de problème, mais si je fais par exemple simplement:

<?php
     echo "<h2>Me contacter</h2>";
?>

cela m'affiche

Me contacter";?>

comme si tout ce qui est avant le caractère '>' (du <h2>) était ignoré et le reste, considéré comme du simple texte (qu'il affiche).

Merci pour votre aide.

Commentaire de krishna13 le 10/08/2010 22:54:07

Hi tout le monde,

Merci pour ce tuto qui m'a aidé à comprendre le site web dynamique avant de commencer le mien.

Je me heurte à pb de débutant : la réécriture d'url ; je fais le tour des forums depuis 2 mois sans trouver de solution stable.

Avec un mix de tuto site web dynamique au final j'obtiens un site ok mais la réécriture ne fonctionne pas. Mon hébergeur la permet PHP5

VOICI L'URL :


www.monsite.fr/index.php?id_page=1



.HTACCESS

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)\.php$    index.php?id_page=0 [QSA,L]

EN INDEX :

<?php

$id_page = isset($_GET['id_page']) ? intval($_GET['id_page']) : 0;


$pages = array('accueil.html', "etc....")

if( $id_page > count($pages)-1 ) $id_page = 0;

?>

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="FR" lang="FR">

<head>
</head>
<body>
<div id="main">

<div id="header">


  <?php

require_once('header.inc.php');
?>
</div>

<div id="conteneur">
<div id="left-sidebar">

<?php

require_once('left-sidebar.inc.php');

?>

</div>

<div id="conteneur2">

<div id="contenu">
<?php

require_once('contenu.inc.php');

?>
</div>

<div id="right-sidebar">
<?php

require_once('right-sidebar.inc.php');
?>
</div>

<div class="clear2"></div>


</div>

<div class="clear1"></div>


</div>


<div id="footer">

<?php

require_once('footer.inc.php');

?>
</div>
</div>
</body>

</html>


ET POUR FINIR EN CONTENU

<link href="style.css" rel="stylesheet" type="text/css" />



<?php
if (file_exists($pages[$id_page])) {

    include($pages[$id_page]);

} else {

    echo "Cette page n'existe pas.";

}
?>

D'avance merci.

Commentaire de crazyfox49 le 29/03/2011 02:06:31

coool

Commentaire de thouthou26 le 03/05/2011 14:15:30

bonjour

Commentaire de haydar7 le 09/05/2011 21:30:37

je ne sais comment fair la programmation de l arbe avec la language du php
je souhait aider pour faire ce problem.

Commentaire de akchoudbaidou le 09/07/2011 14:09:06

super tuto brv  krishna13

Commentaire de BobyEwing2B le 16/08/2011 13:54:53

Super Tuto,
mais j'ai un petit problème,
comment insérer un ou plusieurs scripts <?php....?> dans le content, je m'explique
par exemple dans le home.php:
<?php

    $this->content = ' <h1> Accueil </h1>
                                      <p>   inclure ici le ou les script php. </p> '; ?>

Si j'écris par exemple <?php  require 'mafonction.php'; ?> dans le content
lorsque je clique sur Accueil dans mon menu mon content est vide...
Si quelqu'un à une idée ou alors me donner la syntaxe pour que mon script soit pris en compte
Merci d'avance....

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,905 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales