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 :

Code de validation par page unique


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 21
    Points : 14
    Points
    14
    Par défaut Code de validation par page unique
    Bonjour à tous,

    J'ai inséré le code PHP suivant en page d'accueil de mon site internet :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method="post" action="page_1.php" id="q"> <input size="40" name="q" value="Reference" onfocus="if(this.value=='Reference')this.value='';" onblur="if(this.value=='')this.value='Reference'" type="text"> <input value=" " type="submit"> </form>

    Il n'y a qu'un seul champ à renseigner et un bouton de validation. Le code suivant est placé dans la page qui doit être affichée si le mot de passe est "page1"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <html><head><?php if (isset($_POST['q']) AND $_POST['q'] ==  "page1") // Si le mot de passe est bon
        {
        // On affiche la suite du code
        ?>
    Je souhaiterais que lorsque dans le champ de la page d'accueil il est indiqué "page2", que seule la page_2.php soit affichée.
    Comment pourrais-je faire ?

    Merci à vous.

    Marc

  2. #2
    Membre actif Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Points : 258
    Points
    258
    Par défaut
    Si j'ai bien compris ta question,
    tu peux faire faire une page de traitement intermédiaire.

    en page d'accueil ceci :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method="post" action="traitement.php" id="q">

    et ta page traitement.php pour rediriger vers la bonne page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if (isset($_POST['q']) && $_POST['q'] == "page1"){
         header("Location: page_1.php");
    }
    elseif (isset($_POST['q']) && $_POST['q'] == "page2"){
         header("Location: page_2.php");
    }
    else{
         //ici ta gestion des erreurs, code faux, ...
         header("Location: error.php");
    }
    et pense aux balises code
    C'est curieux chez les marins ce besoin de faire des phrases !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 21
    Points : 14
    Points
    14
    Par défaut Merci
    1000 mercis renaudjuif de ton aide. C'est exactement ce que je souhaitais.
    Par rapport à la sécurité de ce système (Chaque page ayant des données personnelles mais pas vraiment confidentielles), as tu des conseils à me donner ?

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    @renaudjuif

    Pour des questions de maintenabilité, il est largement préférable de procéder ainsi en lieu et place de la ribambelle de if / elseif.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $locations = array(
        'page1' => 'page_1.php',
        'page2' => 'page_2.php'
    );
     
    $location = (isset($_POST['q'], $locations[$_POST['q']])) ? $locations[$_POST['q']] : 'error.php';
    header("Location: {$location}");

  5. #5
    Membre actif Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Points : 258
    Points
    258
    Par défaut
    oui, ma réponse était sur le principe, pas vraiment sur la forme...
    C'est curieux chez les marins ce besoin de faire des phrases !

Discussions similaires

  1. [Toutes versions] Insérer Pied de page par vba sur dernière page uniquement
    Par vieuxmonsieur dans le forum VBA Word
    Réponses: 11
    Dernier message: 15/05/2010, 21h24
  2. [MySQL] Nouveau code par page
    Par Interface dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 20/09/2008, 14h28
  3. Réponses: 3
    Dernier message: 12/07/2007, 10h00
  4. [W3C] Validation multipages et page par page
    Par Strix dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 27/04/2007, 12h28
  5. [Conception] Afficher uniquement un nombre de ligne de BDD par page (pageNum_Rs)
    Par guillaumeIOB dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 19/10/2006, 12h00

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