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 :

Passages de variables dans une url, récupération et affichage


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Par défaut Passages de variables dans une url, récupération et affichage
    Bonjour

    Je suis débutant et j'ai des questions assez basiques qui je pense pourront aider les noob comme moi !

    Je dois passer 3 variables sensibles du fichier "formulaire.php" au fichier "activation.php" par l'intermédiaire d'une url.

    Les 3 variables sont : $pseudo, $mot_de_passe, $email

    Une fois les variables passées par l'url dans le fichier "activation.php", je souhaite afficher un message du style :


    Félicitations ($pseudo), votre compte est désormais créé.

    Important ! Vos informations de connexion :
    Votre email : ($email)
    Votre mot de passe : ($mot_de_passe)


    Mes questions sont les suivantes :
    - Dans le fichier "formulaire.php", quelle est la syntaxe pour passer les 3 variables dans l'url avec un minimum de sécurité ? urlencode ? include ? a href ? SVP donnez un exemple concret avec les 3 variables citées plus haut.

    - Dans le fichier '"activation.php", quelle est la syntaxe pour récupérer les 3 variables passées par l'url ? SVP donnez un exemple concret avec les 3 variables citées plus haut.

    - Quelle est la syntaxe pour afficher le message ? SVP donnez un exemple concret avec les 3 variables citées plus haut.


    Merci d'avance pour la (les) réponses !

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Faire passer une login/pass par l'url c'est le plus vilain; en particulier parce que l'url avec le mot de passe reste dans l'historique du navigateur.

    Les 3 valeurs sont saisies dans un formulaire sur la page formulaire.php ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Par défaut Formulaire
    Oui dans le fichier "formulaire.php" les données sont saisies par un formulaire et traitées avec $_POST au sein du même fichier.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Le mieux serait alors d'utiliser une session.
    Ainsi les informations ne transitent plus entre le client et le serveur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    session_start();
    $_SESSION['login'] = $login;
    $_SESSION['login'] = $mdp;
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Par défaut Lisez les questions !
    Merci d'essayer de m'aider mais ça ne répond pas aux 3 questions posées !

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Passer un mot de passe dans l'url au milieu d'un formulaire est une mauvaise méthode, je ne suis pas malveillant au point de t'aider a la mettre en place.
    Je prefere etrangement t'indiquer une meilleure methode.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre émérite
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 993
    Par défaut
    dans formulaire ta ton formulaire que tu submit à activation avec la méthode POST

    dans activation.php
    tu récupère tes variables avec
    $_POST['pass']
    etc

    c'est comme sa qu'on fait pourquoi changer?

    Et pour améliorer dans activation tu verif et il y a erreur tu met les bonne valeur dans session ex:
    $_SESSION['pass'] = $_POST['pass'];
    et tu redirige vers formulaire que ta modifié et si une variable session existe tu prérempli la case avec.

    edit:
    encore mieux tu utilise qu'une page, au début tu vérif si tout tes champs $_post sont remplis et correct,
    si oui tu traite la demande
    si non tu affiche le formulaire avec les champs vide ou certain rempli si ta déjà des $_post correct

  8. #8
    Membre éclairé
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Par défaut La solution
    Tu avais raison sabotage, il ne faut pas passer de données sensibles par l'url. Finalement j'ai fait avec une session et ça marche.


    Dans le fichier "formulaire.php" :

    - J'ouvre la session à la première ligne de mon code (c'est important car sinon on peut avoir un erreur du type "Header already sent").
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php session_start();?>
    - Ensuite je mémorise mes variables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $_SESSION['pseudo'] = $pseudo;
    $_SESSION['mot_de_passe'] = $mot_de_passe;
    $_SESSION['email'] = $email;
    - Enfin j'appelle ma page "activation.php" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include ("./activation.php");
    Attention ! Je crois qu'il y a une faille de sécurité sur la fonction include qu'il faudra quand même supprimmer ! je crois qu'il faut vérifier que le fichier que le fichier "activation.php" existe bien avant de lancer l'include.


    Dans le fichier "activation.php" :

    - Je récupère mes variables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $mot_de_passe = $_SESSION['mot_de_passe'];
    $pseudo = $_SESSION['pseudo'];
    $email = $_SESSION['email'];
    - Je réaffiche mes variables :
    Même chose pour les variables $pseudo et $mot_de_passe

    - Il faut penser à fermer la session :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php  session_destroy(); ?>
    Voilà !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 03/12/2018, 18h20
  2. Récupération de variable dans une url
    Par knolz dans le forum Langage
    Réponses: 6
    Dernier message: 18/04/2008, 20h45
  3. Réponses: 10
    Dernier message: 31/03/2006, 19h56
  4. passage de variables dans l'url
    Par pimpmyride dans le forum Langage
    Réponses: 1
    Dernier message: 26/03/2006, 17h35
  5. Passage de variable dans une requête
    Par zestrellita dans le forum Langage SQL
    Réponses: 5
    Dernier message: 02/09/2004, 14h27

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