étendre les sessions WP a d’autres pages non WP (Créer un compte)

  • Statut : non résolu
  • Ce sujet contient 20 réponses, 7 participants et a été mis à jour pour la dernière fois par cid0u, le il y a 18 années.
15 sujets de 1 à 15 (sur un total de 21)
  • Auteur
    Messages
  • #450182
    cid0u
    Participant
    Chevalier WordPress
    153 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : 2.0.7
    – Thème utilisé : K2
    – Plugins en place :
    – Nom de l’hebergeur : FREE

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

    Salut !
    J’aimerais utiliser les infos des cookies de WP pour d’autres pages sur mon domaine.
    Ces pages serviront aux abonnés de mon blog de se creer une galerie de photos.
    Il faut donc qu’ils soient reconnu sur ces pages en tant qu’abonné ou admin, et récuperer diverses infos comme le pseudo, l’email …

    Si quelqu’un sait comment faire, ou l’a deja fait, une petite explication ne serait pas de refus (surtout au niveau des fonctions à appeler etc)

    Merci.

    #589520
    cid0u
    Participant
    Chevalier WordPress
    153 contributions

    apparemment j’inspire personne
    peut-etre que j’ai mal expliqué…

    j’aimerais utiliser les cookies wordpress_user et wordpress_pass pour extraire des info de l’utilisateur sur d’autres pages de mon site.

    En fait il faudrait que je sache comment faire « si pass du cookie = pass de la bdd alors … »

    #589521
    benkenobi
    Participant
    Maître WordPress
    4069 contributions

    Cela me semble difficile à réaliser…

    #589522
    Oo
    Membre
    Maître WordPress
    2484 contributions

    Bonjour,

    Je suis de l’avis de Ben mais peut-être qu’AmO dira que c’est facile ^^ Mais sinon, il existe une multitude de plug-ins permettant de créer une galerie photographique ! Pourquoi pas voir déjà de ce côté là ?

    Oo

    #589523
    cid0u
    Participant
    Chevalier WordPress
    153 contributions

    ben l’espace photo de chaque membre est deja codé, sauf que ca utilise le login et le pass de la bdd d’un forum installé sur mon serveur.

    depuis j’ai découvert bbpress, qui gére les cookies et les membres de wordpress grace a un plugin.

    donc ca serait mieux de virer mon ancien forum, transferer les membres sur wordpress, et qu’ils se log par l’intermediaire de wordpress pour naviguer partout (blog, espace photo et forum) tout en etant reconnu membre

    #589524
    alakhnor
    Participant
    Maître WordPress
    996 contributions

    A mon avis, ça sera plus simple de chercher comment migrer ta base photo que de tenter d’insérer dans ton application existante le login de WordPress. Cela risque de demander de reprendre et d’adapter une grosse partie de code (en gros, il faudra revoir la gestion des sessions de ta bdd actuelle et reprendre le code login de WP).

    #589525
    cid0u
    Participant
    Chevalier WordPress
    153 contributions

    moi jpensais que ce serait plus simple de lire les cookies wordpress, verifier que le pass du cookie et celui de la bdd de l’user correspondent, et a partir de la, faire un sql select pour recup le pseudo, le level etc de l’user

    enfin cest ce que jpensais mais apparemment c’est pas le plus facile d’aprés ce que vous me dites 😗

    #589526
    cid0u
    Participant
    Chevalier WordPress
    153 contributions

    bon sinon, quelqu’un connait la fonction qui vérifie si le password du cookie est égal a celui de la bdd ?
    lire le pass du cookie, lire celui de la bdd (a partir du pseudo du cookie user) et voir si ils sont égaux.

    #589527
    Qwindoo
    Modérateur
    Maître WordPress
    2861 contributions

    Voici l’extrait du fichier wp-login.php, qui correspond à la tentative d’authentification suivie de l’affichage éventuel du formulaire en cas d’erreur :

    has_cap(‘edit_posts’) && ( empty( $redirect_to ) || $redirect_to == ‘wp-admin/’ ) )
    $redirect_to = get_option(‘siteurl’) . ‘/wp-admin/profile.php’;

    if ( wp_login($user_login, $user_pass, $using_cookie) ) {
    if ( !$using_cookie )
    wp_setcookie($user_login, $user_pass, false,  »,  », $rememberme);
    do_action(‘wp_login’, $user_login);
    wp_redirect($redirect_to);
    exit();
    } else {
    if ( $using_cookie )
    $errors[‘expiredsession’] = __(‘Your session has expired.’);
    }
    }

    if ( $_POST && empty( $user_login ) )
    $errors[‘user_login’] = __(‘<strong>ERROR</strong>: The username field is empty.’);
    if ( $_POST && empty( $user_pass ) )
    $errors[‘user_pass’] = __(‘<strong>ERROR</strong>: The password field is empty.’);

    // Some parts of this script use the main login form to display a message
    if ( TRUE == $_GET[‘loggedout’] ) $errors[‘loggedout’] = __(‘Successfully logged you out.’);
    elseif ( ‘disabled’ == $_GET[‘registration’] ) $errors[‘registerdiabled’] = __(‘User registration is currently not allowed.’);
    elseif ( ‘confirm’ == $_GET[‘checkemail’] ) $errors[‘confirm’] = __(‘Check your e-mail for the confirmation link.’);
    elseif ( ‘newpass’ == $_GET[‘checkemail’] ) $errors[‘newpass’] = __(‘Check your e-mail for your new password.’);
    elseif ( ‘registered’ == $_GET[‘checkemail’] ) $errors[‘registered’] = __(‘Registration complete. Please check your e-mail.’);

    login_header(__(‘Login’));
    ?>

    <form name="loginform" id="loginform" action="wp-login.php" method="post">
    <p>
    <label><br />
    <input type="text" name="log" id="user_login" class="input" value=" » size= »20″ tabindex= »10″ /></label>
    </p>
    <p>
    <label><br />
    </label>
    </p>

    <p><label> </label></p>
    <p class="submit">
    <input type="submit" name="submit" id="submit" value=" » » tabindex= »100″ />
    <input type="hidden" name="redirect_to" value=" » />
    </p>
    </form>
    </div>

    <ul>

    <li><a href="/wp-login.php?action=register »></a></li>
    <li><a href="/wp-login.php?action=lostpassword » title= » »></a></li>
    <li><a href="/ » title= » »></a></li>

    <li><a href="/ » title= » »></a></li>
    <li><a href="/wp-login.php?action=lostpassword » title= » »></a></li>

    </ul>

    …l’important, c’est surtout ces passages :

    $cookie_login = wp_get_cookie_login();

    do_action_ref_array(‘wp_authenticate’, array(&$user_login, &$user_pass));

    if ( $user_login && $user_pass && empty( $errors ) ) {
    $user = new WP_User(0, $user_login);
    ……..

    😉

    P.S: je n’ai pu trouver la fonction wp_authenticate dans aucun fichier de WordPress … Quelqu’un aurait-il une idée ? 😕

    #589528
    cid0u
    Participant
    Chevalier WordPress
    153 contributions

    oui moi non plus je la trouve pas depuis hier !
    grrrrr

    #589529
    AmO
    Participant
    Maître WordPress
    4447 contributions

    wp-settings.php par hazard ?

    #589530
    Qwindoo
    Modérateur
    Maître WordPress
    2861 contributions

    Ah ? Pas trouvé chez moi en tout cas 😇

    #589531
    cid0u
    Participant
    Chevalier WordPress
    153 contributions

    ni chez moi …

    #589532
    AmO
    Participant
    Maître WordPress
    4447 contributions
    #589533
    Qwindoo
    Modérateur
    Maître WordPress
    2861 contributions

    Beh alors comment que ça marche ? o_0

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