IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Comment gérer le contenu de "page.php?id=" quand on tape "page.php" tout court ?


Sujet :

Langage PHP

  1. #1
    Membre averti
    Inscrit en
    Août 2012
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Août 2012
    Messages : 44
    Par défaut Comment gérer le contenu de "page.php?id=" quand on tape "page.php" tout court ?
    Bonjour tout le monde,

    J'ai une question très idiote mais franchement, je cherche, je cherche, je viens ici un peu en dernier recours
    Voilà, j'ai donc une page "page.php" qui est appelée avec une variable "ID" puisqu'elle est composée essentiellement de contenus issus de ma BDD.

    Or, quand on tape "page.php", on tombe sur le contenu de l'ID 1 (ce qui, au passage, fait un beau duplicat pour notre ami Google). Sauriez-vous comment gérer cette url ?
    J'aimerai ne pas faire de redirection 301 mais plutôt, genre, envoyer une 404 quand on tape seulement "page.php" puisqu'elle n'a aucun intérêt sans ses variables.

    Merci d'avance d'éclairer ma misérable question de vos lumières.
    Et désolé, ça fait très "noob" mais je fais beaucoup d'effort pour faire du php/mysql

  2. #2
    Membre expérimenté
    Homme Profil pro
    DSI interne
    Inscrit en
    Juin 2011
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DSI interne
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2011
    Messages : 197
    Par défaut
    Bonsoir,

    une page "page.php" qui est appelée avec une variable "ID"
    Comment est telle appelée ? $_POST, $_GET ?

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php 
    if(!isset($_POST['id'])){ //Si la variable existe pas
    //Renvoie 404
    }else{
    // on lance le script
    } 
    ?>

  3. #3
    Membre éclairé Avatar de zugolin
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 275
    Par défaut
    ... ou en travaillant direct avec le .htaccess , non?

  4. #4
    Membre éclairé
    Homme Profil pro
    au
    Inscrit en
    Mars 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Zélande

    Informations professionnelles :
    Activité : au
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2011
    Messages : 41
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
    if(isset($_GET['id']))
    {
      // 404
    }
    else 
    {
      // les instructions pour renvoyer le résultat voulu
    }
    une autre chose puisque tu utilise une base de donnée, et que le contenu qui sera affiché dépend de l'ID entré, il faut faire attention, si non ton site risque d'être pirater avec une injection SQL, mais pour cela applique cette fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    htmlspecialchars($_GET['id']);
    avant de récupérer le résultat.

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Citation Envoyé par Devildz Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
    if(isset($_GET['id']))
    {
      // 404
    }
    else 
    {
      // les instructions pour renvoyer le résultat voulu
    }
    Utiliser !empty() et pas isset() ca évite les problème avec un argument vide ou une id à 0.

    une autre chose puisque tu utilise une base de donnée, et que le contenu qui sera affiché dépend de l'ID entré, il faut faire attention, si non ton site risque d'être pirater avec une injection SQL, mais pour cela applique cette fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    htmlspecialchars($_GET['id']);
    avant de récupérer le résultat.
    htmlspecialcharsca s'utilise à l'affichage pas à l'insertion. Dans son cas on utilisera intval() ou filter_input
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Comment gérer la hauteur d'une page en fonction de la résolution ?
    Par Kenshin86 dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 10/05/2007, 15h55
  2. Réponses: 8
    Dernier message: 18/12/2006, 13h36
  3. Réponses: 6
    Dernier message: 23/05/2006, 14h28
  4. Comment séparer le contenu des pages de leur structure?
    Par djodjo dans le forum Général Conception Web
    Réponses: 7
    Dernier message: 06/05/2005, 15h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo