Fork me on GitHub

Rapport de message :*
 

Re: Comment donner un lien direct vers une page sous mot de passe ?

Titre du sujet : Re: Comment donner un lien direct vers une page sous mot de passe ?
par olivee sur 15/03/2014 14:39:47

<?php

if (file_exists("mainfile.php")) {   
include(
"mainfile.php");  
}

include 
XOOPS_ROOT_PATH '/header.php';

// le mot de passe, sensible à la case tu peux modifier le mot de passe comme tu veux
$password 'gars';
$login 'abrouti';
$mail 'test@mail.com';

$mdp = (isset($_GET['mdp'])) ? trim(sprintf("%s"$_GET['mdp'])) : '';
$log = (isset($_GET['log'])) ? trim(sprintf("%s"$_GET['log'])) : '';
$mail = (isset($_GET['mail'])) ? trim(sprintf("%s"$_GET['mail'])) : '';


if (isset(
$_GET['mdp']) && isset($_GET['log']) && isset($_GET['mail'])){

    if(
$mdp !== $password || $log !== $login || $mail !== $mail)
    {
        
// pas le bon mdp
        
$message 'pas le bon mdp';
        
redirect_header("index.php"5$message);
                        exit();
    };

    
        
$member_handler1 =& xoops_gethandler('member');
        
$profile_handler1 xoops_getmodulehandler('profile''profile');
                

        
        
//Verification de l'existance du membre
        
if ($member_handler1->getUserCount(new Criteria('uname'$login)) > 0  || $member_handler1->getUserCount(new Criteria('pass'$password)) > 0  || $member_handler1->getUserCount(new Criteria('mail'$mail)) > 0) {
            
//Membre present dans la BDD
            
$login trim($login);
            
            
$criteria = new CriteriaCompo();
            
$criteria->add(new Criteria('uname'$uname));
            
$criteria->add(new Criteria('email'$email));
            
$criteria->add(new Criteria('pass'md5($password)));
            
$users_arr $member_handler1->getUsers($criteria);
    
    
// Regenerate a new session id and destroy old session
                
$GLOBALS["sess_handler"]->regenerate_id(true);
                
$_SESSION = array();
                
$_SESSION['xoopsUserId'] = $users_arr[0]->getVar('uid');
                
$_SESSION['xoopsUserGroups'] = $users_arr[0]->getGroups();
                
$user_theme $users_arr[0]->getVar('theme');
                if (
in_array($user_theme$xoopsConfig['theme_set_allowed'])) {
                    
$_SESSION['xoopsUserTheme'] = $user_theme;
                }
    
    
// Set cookie for rememberme
    
if (!empty($xoopsConfig['usercookie'])) {
    
                        
setcookie($xoopsConfig['usercookie'], $_SESSION['xoopsUserId'] . '-' md5($password XOOPS_DB_NAME XOOPS_DB_PASS XOOPS_DB_PREFIX), time() + 31536000'/'XOOPS_COOKIE_DOMAIN0);
    }    
    
    echo 
' si on arrive ici ce que le mdp est bon';
    
    
    
    echo 
'<iframe width="560" height="315" src="//www.youtube.com/embed/67MJxn0UdiI" frameborder="0" allowfullscreen></iframe>)';
    
    
    
    } else {
        
                                                        
                                                        
            
//Creation de l'utilisateur
            //$member_handler1 =& xoops_gethandler('member');
            
$newuser $member_handler1->createUser();
            
$profile $profile_handler1->create();
            
$newuser->setVar("user_viewemail","");
            
$newuser->setVar("attachsig","");
            
$newuser->setVar("name"$login);
            
$newuser->setVar("uname"$login);
            
$newuser->setVar("email"$mail);
            
$newuser->setVar("url""");
            
$newuser->setVar("user_avatar",'blank.gif');
            
$newuser->setVar('user_regdate'time());
            
$newuser->setVar("user_icq""");
            
$newuser->setVar("user_from""");
            
$newuser->setVar("user_sig""");
            
$newuser->setVar("user_aim""");
            
$newuser->setVar("user_yim""");
            
$newuser->setVar("user_msnm""");
            
$newuser->setVar("pass"md5($password));
            
$newuser->setVar("timezone_offset"$xoopsConfig['default_TZ']);
            
$newuser->setVar("uorder"$xoopsConfig['com_order']);
            
$newuser->setVar("umode",$xoopsConfig['com_mode']);
            
// RMV-NOTIFY
            
$newuser->setVar("notify_method"1);
            
$newuser->setVar("notify_mode"1);
            
$newuser->setVar("bio""");
            
$newuser->setVar("rank"1);
            
$newuser->setVar("level"1);
            
$newuser->setVar("user_occ""");
            
$newuser->setVar("user_intrest""");
            
$newuser->setVar('user_mailok'true);
            
$newuser->setVar('last_login'time());
            if (!
$member_handler1->insertUser($newuser1)) {
            echo 
$newuser->getHtmlErrors();
                echo 
_AM_NOTINSERTED;

            } 
        
$profile->setVar('profile_id'$newuser->getVar('uid') );
        
$profile_handler1->insert($profile);
            
$member_handler1->addUserToGroup('2'$newuser->getVar('uid'));


                
// Regenerate a new session id and destroy old session
                
$GLOBALS["sess_handler"]->regenerate_id(true);
                
$_SESSION = array();
                
$_SESSION['xoopsUserId'] = $newuser->getVar('uid');
                
$_SESSION['xoopsUserGroups'] = $newuser->getGroups();
                
$user_theme $newuser->getVar('theme');
                if (
in_array($user_theme$xoopsConfig['theme_set_allowed'])) {
                    
$_SESSION['xoopsUserTheme'] = $user_theme;
                }

                
// Set cookie for rememberme
                
setcookie($xoopsConfig['usercookie'], $_SESSION['xoopsUserId'] . '-' md5($newuser->getVar('pass') . XOOPS_DB_NAME XOOPS_DB_PASS XOOPS_DB_PREFIX), time() + 31536000'/'XOOPS_COOKIE_DOMAIN0);

            
            
redirect_header('tstloginmdp.php?mdp='.$password.'&log='.$login.'&mail='.$mail.''10_AM_USERRANK_SAVE);
            
        }
    
};


include 
XOOPS_ROOT_PATH '/footer.php';

?>


tu modifie les lignes 10 - 11 - 12
11 avec le mot de passe que tu veux donner
12 avec le login que tu veux donner
13 l'email du monsieur on suppose que tu le connais puisque tu dois l'utiliser pour envoyer le lien.

tu envois donc le lien

h t t p : / / tonsite . com / tstloginmdp.php?mdp=gars&log=abrouti&mail=test@mail.com


abrouti tu le modifie avec se que t'a modifié ligne 10
gars tu le modifie avec se que t'a modifié ligne 11
test@mail.com tu le modifie avec l'email du monsieur.

une fois il clique sur le lien il va être inscrit avec les les 3 paramètres mdp log et mail. après il sera redirigé sur la même page en se loguant avec son compte.
voilà j’espère c'est se que tu cherche. c'est facile de l'adapter pour l'ajouter dans une page d'un module.
si c'est pas clair tu demande.

ça sera facile et meilleur si tu ajoute un formulaire avec les 3 champs à remplir une fois tu enregistre l'email part automatiquement au monsieur avec le lien nécessaire pour lui comme ça tu peux ajouter une infinité de compte. les donnés seront enregistrés dans une table sql bien évidemment. ou bien ajouter un bouton ou bien un lien sur ton site dans ce cas le monsieur doit tapper son email pour recevoir le lien.
je te merci en tout cas tu m'a donné des idées.
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

14 Personne(s) en ligne (10 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 14 | Plus ...