Explication/détails sur key action=rp pour comprendre fonctionnement (Créer un compte)

  • Statut : non résolu
6 sujets de 1 à 6 (sur un total de 6)
  • Auteur
    Messages
  • #548424
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : 4.1.1
    – Version de PHP/MySQL :
    – Thème utilisé : le mien
    – Extensions en place :
    – Nom de l’hebergeur : STRATO
    – Adresse du site :

    Problème(s) rencontré(s) :

    Bonjour,

    Je cherche des informations sur la clé envoyée par Email, après avoir cliqué sur le lien « mot de passe oublié? ».
    Je cherche à recréer le processus donc j’aimerai bien comprendre comment cela fonctionne.

    Quand on clique donc sur le lien « mot de passe oublié? », cela amène à une case où l’on doit entrer le login.
    Une fois cette data validée, un mail est envoyé de ce style là

    « Identifiant : blabla
    Pour renouveler votre mot de passe, cliquez sur le lien suivant :
    <http://site.de/wp-login.php?action=rp&key=XOSHDJUZImYfIKQMLIAq4cje&login=blabla>« 

    Quand on clique sur le lien, cela amène à la page où l’on doit entrer le mot de passe et sa confirmation.

    Maintenant, je voudrais comprendre :
    – cette clé est elle stockée quelque part?
    – quelle vérification est faite avec ce lien ?
    – comment sont cachées les infos du lien quand on arrive sur la page d’entrée du nouveau mot de passe (oui, quand je clique, cela m’amène à la page mais le lien dans l’url ne fait pas apparaître la clé et le login, juste l’adresse de la page)

    Enfin bref, si vous avez quelques infos qui m’aide à mieux comprendre le processus, merci beaucoup !

    Timama

    #999951
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    Par exemple, j’envoi le mail suivant :

    $root = str_replace(basename(get_permalink()).’/’, »,$_SERVER[‘HTTP_HOST’].$_SERVER[‘REQUEST_URI’]) ;
    $activation_link = add_query_arg( array( ‘key’ => $code, ‘user’ => $user_id ), $root.’newpassword/?action=rp’);

    wp_mail( $user_email, ‘ACTIVATION SUBJECT’, ‘CONGRATS BLA BLA BLA. HERE IS YOUR ACTIVATION LINK: ‘ . $activation_link );

    qui envoi en gros le lien : /newpassword/?action=rp&key=ff94ef7d5vsrgqeg1cfdc40a4615ef1b968d1a&user=12

    Ce lien qui amène au formulaire ou je donne mon nouveau mot de passe et sa confirmation.
    Mais pour que ce formulaire fonctionne je fais le test :

    if( (isset($_REQUEST[‘action’])) AND ($_REQUEST[‘action’]==’rp’))

    mais je n’entre jamais dans mon formulaire car mon $_REQUEST[‘action’] est vide.
    Avec le tuto que j’ai trouvé, ça passe par le lien (enfin je crois).

    Avez vous une idée pour avoir le $_REQUEST[‘action’] non vide ?

    merci pour votre aide

    et après je démarre

    #999952
    mathieu789
    Participant
    Maître WordPress
    1082 contributions

    la clé est sauvegardée dans le base de données est sert uniquement à vérifier que seule une personne qui a accès à l’adresse e-mail puisse modifier le mot de passe

    pour la question de ton 2e message, que souhaite-tu faire de spécial quand la personne crée un nouveau mot de passe ?

    #999953
    didier07
    Participant
    Maître WordPress
    1964 contributions

    Ca peut etre tout betement un réglage serveur.
    $_REQUEST correspond en fait (en résumé) à $_POST et $_GET, et selon la configuration du serveur ont peut t’empecher d’y accéder directement. Dans ce cas, tu est obligé de passer par $_GET ou $_POST

    Pour toit, $_GET car tes paramètres sont dans l’url

    #999954
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    merci mathieu9512 et didier07.
    En fait, j’ai essayé plein de chose et voici ce qui fonctionne…..



    <form name="resetpassform" class="resetpassform" action=" » method= »post » id= »resetpassform » autocomplete= »off » >
    <p id="text-form">
    <label for="pass1">*:</label>
    </br>

    <br class="clear"></br>
    <label for="pass2">*:</label>
    </br>

    <br class="clear"></br>
    <br class="clear"></br>
    </p>


    <input type="submit" name="wp-submit" id="wp-submit" value=" » class= »submit »/>

    <input type="hidden" name="user_id" value=" » />
    <input type="hidden" name="rp_key" value=" » />
    </form>

    <?php }

    le problème que j’ai eu avec le $_REQUEST, c’est juste un problème de ‘ à l’intérieur des [] qui n’était pas les bon…oui c’est bête …

    Ensuite, une fois le mot de passe modifier, je demande à aller à la page « connexion »…ça à l’air de fonctionner… pas à chaque fois …mais bon… ça à l’air… 😉

    #999955
    Timama
    Participant
    Chevalier WordPress
    284 contributions

6 sujets de 1 à 6 (sur un total de 6)
  • Le forum ‘Utilisation spécifique de WordPress’ est fermé à de nouveaux sujets et réponses.