AnswerPlace
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



 
AccueilBlogDernières imagesRechercherS'enregistrerConnexion
Le Deal du moment : -40%
Tefal Ingenio Emotion – Batterie de cuisine 10 ...
Voir le deal
59.99 €

 

 Récapitulifaen ! ( suite de : Lifaen ? J'ai mal au PHP )

Aller en bas 
2 participants
AuteurMessage
Lifaen

Lifaen


Nombre de messages : 42
Age : 30
Date d'inscription : 11/06/2008

Feuille de personnage
Nom: Gwaenael Lebihan
PV:
Récapitulifaen ! ( suite de : Lifaen ? J'ai mal au PHP ) Left_bar_bleue10/10Récapitulifaen ! ( suite de : Lifaen ? J'ai mal au PHP ) Empty_bar_bleue  (10/10)
Métier: Geek

Récapitulifaen ! ( suite de : Lifaen ? J'ai mal au PHP ) Empty
MessageSujet: Récapitulifaen ! ( suite de : Lifaen ? J'ai mal au PHP )   Récapitulifaen ! ( suite de : Lifaen ? J'ai mal au PHP ) I_icon_minitimeMer 18 Juin - 20:35

Récapitulons


Tu avais l'intention de faire une seule page affichant toutes les autres pages contenues dans la bdd. Je t'ai répondu que c'était une très mauvaise idée, bien que ce fut possible. Il existe d'autres moyens, je t'en ai montré un : les structures à pages inclues. Le site du Zer0, Judgehype, mon propre site et plein d'autres sites à structure pratiquement invariable fonctionnent avec des includes sécurisés.

Les includes :
"Tout code peut être sécurisé, tout est dans l'art et la manière de faire."
Lifaen

Une inclusion normale est sans danger : "include('fonction.php');". Ce code inclus fonction.php, rien de particulier ne se passe. Qu'une include soit sécurisée ou insécurisée vient du fait que le paramètre de la fonction est variable. "include($page);" est potentiellement dangereux car $page peut avoir plusieurs valeurs ('accueil.php' ou 'bdd.php' ou 'http://www.hack.net/virus.php'), le code inclus le fichier quel qu'il soit.
Je ne veux donc jamais, JAMAIS voir : "include($_GET[$page]);".

En revanche, si tu met le code :
Code:
if($_GET['page'] == 'page')
{
include('page.php');
}
Alors il n'y a aucun risque, il inclus page ou il inclus rien. *Ouf*

Voici un exemple :
Un lien pour un livre d'or : "index.php?page=livredor" et celle d'une page de connexion : "index.php?page=connexion".
Code:
 // Le code qui affiche la page
if($_GET['page'] == 'livredor')
{
include('livredor.php');
}

elseif($_GET['page'] == 'connexion')
{
include('connexion.php');
}

else // Sinon j'affiche la page d'accueil
{
include('accueil.php');
}
Ce système est parfaitement sécurisé, il n'y a aucun risque.


Petite précision :

  1. Le lien peut aussi être "?page=livredor", écrire index.php n'est pas nécessaire car si aucun fichier spécifique n'est demandé, c'est lui qui s'affiche.
  2. Le lien peut aussi être "index.php?livredor", c'est plus joli et ça fonctionne aussi avec le code suivant.
    Code:
    if(isset($_GET['livredor']))
    {
    include('livredor.php');
    }

    elseif(isset($_GET['connexion']))
    {
    include('connexion.php');
    }

    else // Sinon j'affiche la page d'accueil
    {
    include('accueil.php');
    }
  3. Il est également possible de combiner les deux : ?livredor". C'est plus pratique, plus esthétique...
Tuto sur les includes sécurisés et infinis !

Je t'ai ensuite proposé de faire, pour ton site, un système qui combine plusieurs méthodes.
Essaie de faire une boucle qui, à l'aide de ta bdd et de ta table page, détermine quelle page il faut inclure.

Modifie ta table page comme ceci :
id : auto_increment, int, 9
nom : varchar, 255
chemin_page : varchar, 255

Pour faire ce système, tu dois:

  1. Charger la liste des pages existante et le chemin correspondant avec une requête SQL
  2. Faire une boucle qui détermine la page qui correspond à la valeur dans ton lien ($_GET['page])
  3. Faire un script dans une page à part qui permet de rajouter le nom d'un nouvelle page et son chemin dans ta table page
Précision : Tu peux mettre une variable dans une variable superglobale ou un array : si $variable = 'page' alors $_GET[$variable] revient à $_GET['page'].

Si tu n'y arrives pas, je t'y aiderais. Prochain épisode : le bonus !
Bonne chance !

(une petite récapitulation ne fait pas de mal, surtout pour un sujet qui devenait compliqué alors qu'il ne l'est pas particulièrement)
Revenir en haut Aller en bas
http://elouan.p.c.free.fr/
Paladin

Paladin


Nombre de messages : 1103
Date d'inscription : 25/05/2008

Feuille de personnage
Nom: Venceslas Iosef
PV:
Récapitulifaen ! ( suite de : Lifaen ? J'ai mal au PHP ) Left_bar_bleue9/11Récapitulifaen ! ( suite de : Lifaen ? J'ai mal au PHP ) Empty_bar_bleue  (9/11)
Métier: Psychologue

Récapitulifaen ! ( suite de : Lifaen ? J'ai mal au PHP ) Empty
MessageSujet: Re: Récapitulifaen ! ( suite de : Lifaen ? J'ai mal au PHP )   Récapitulifaen ! ( suite de : Lifaen ? J'ai mal au PHP ) I_icon_minitimeMer 18 Juin - 22:10

Le fou. N'oublie de t'occuper de ta vie, de temps en temps. Et encore merci... je vais relire ça. Après dodo.
Revenir en haut Aller en bas
http://www.vulgus.net
Lifaen

Lifaen


Nombre de messages : 42
Age : 30
Date d'inscription : 11/06/2008

Feuille de personnage
Nom: Gwaenael Lebihan
PV:
Récapitulifaen ! ( suite de : Lifaen ? J'ai mal au PHP ) Left_bar_bleue10/10Récapitulifaen ! ( suite de : Lifaen ? J'ai mal au PHP ) Empty_bar_bleue  (10/10)
Métier: Geek

Récapitulifaen ! ( suite de : Lifaen ? J'ai mal au PHP ) Empty
MessageSujet: Vifaen   Récapitulifaen ! ( suite de : Lifaen ? J'ai mal au PHP ) I_icon_minitimeJeu 19 Juin - 16:54

Paladin a écrit:
Le fou. N'oublie de t'occuper de ta vie, de temps en temps. Et encore merci... je vais relire ça. Après dodo.

Meuh non, je tape très vite, ça ma pris quoi ? Un quart d'heure ? Non, non, ne t'inquiète pas pour ça.
Revenir en haut Aller en bas
http://elouan.p.c.free.fr/
Contenu sponsorisé





Récapitulifaen ! ( suite de : Lifaen ? J'ai mal au PHP ) Empty
MessageSujet: Re: Récapitulifaen ! ( suite de : Lifaen ? J'ai mal au PHP )   Récapitulifaen ! ( suite de : Lifaen ? J'ai mal au PHP ) I_icon_minitime

Revenir en haut Aller en bas
 
Récapitulifaen ! ( suite de : Lifaen ? J'ai mal au PHP )
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Lifaen ? J'ai mal au PHP...

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
AnswerPlace :: Bienvenue à Geekland :: Hardware, Software y tutti quanti-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser