Pages dynamiques

Petit nouveau ! | 4 Messages

01 juin 2016, 13:15

Bonjour,

J'aurai une question je voudrais faire un système de pages dynamique qui seront stocker dans une base de données. Un peu comme sur ce tuto http://pbnaigeon.developpez.com/tutorie ... dynamique/.

Mais une chose que je comprend pas ce fameux tuto sert juste a afficher des pages avec du contenu HTML, mais si nous voulons mettre du PHP dans ses pages comment faisons nous ?

Merci pour vos réponses, et désoler si cette question est ridicule

Cordialement

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

01 juin 2016, 15:12

Bonjour,

En fait, le html est le langage qui est interprété par les navigateurs pour afficher des pages web à l'écran. Le code html permet de décrire le contenu de la page (image, paragraphes, blocs...) et est statique. Tu peux donc créer des fichiers .htm ou .html, les mettre en ligne sur un serveur et demander au navigateur de les afficher en saisissant leurs urls.

Par exemple, le code suivant affichera le message "Hello world !" en gras dans une page html :
<b>Hello world !</b>
Les langages tels que php permettent de générer de façon dynamique le code html qui est envoyé au navigateur. Tu peux donc proposer un contenu qui varie en fonction de différent critères. Lorsque tu appelles une page .php, le serveur va "exécuter" celle-ci afin d'obtenir un code html à retourner au navigateur.
<?php 
  if (date('h') < 21) {
    echo '<b>Hello world !</b>';
  }
  else {
    echo '<i>Good night world !</i>';
  }
?>
Le code ci-dessus générera le code html "Hello world !" (toujours en gras) si l'heure du serveur est inférieure à 21h et le code html "Goog night world !" sans gras, mais en italique, à partir de 21h jusqu'au lendemain.

En espérant que ce soit plus clair pour toi :)


Edit : en relisant la question, je réalise que je ne répond pas entièrement à celle-ci par rapport au tuto que tu as trouvé.

Dans ton tuto, tu vas effectivement lire le contenu de ta page en base de données et affiche celui-ci. Il ne s'agit donc que de contenu html que tu envois au navigateur. Si dans ta base tu as du code php, il faut demander au serveur de l'exécuter en tant que tel. Pour cela tu peux utiliser la fonction eval() qui va interpréter le texte présent dans ta base comme s'il s'agissait de code php. Le résultat obtenu pourra ainsi être affiché et reprendre le processus présenté ci-dessus

Il faut cependant faire trèèèèèèèèèès attention avec eval(). En effet, cela va exécuter n'importe quelle chaîne passée en paramètre comme étant du code php de ton serveur. Il faut donc s'assurer que personne d'autre que toi ne puisse soumettre de code php dans tes pages en base au risque qu'un petit malin en profite pour glisser son propre code afin de lister les pages du serveur, obtenir les informations de connexion à la base, tout supprimer...

Bref, a utiliser avec énormément de vigilance :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 4 Messages

01 juin 2016, 15:43

Merci beaucoup pour ta réponse c'est effectivement plus claire pour moi, quand tu a parler de la fonction eval(). De toute façon les pages seront créer que a partir du back-office et il y'aura que moi qui pourra en créer donc je pense de ce coté la, cela ne posera pas de problèmes ;)