Fork me on GitHub

Rapport de message :*
 

Re: profile : mot de passe

Titre du sujet : Re: profile : mot de passe
par chrysalis sur 25/05/2011 21:07:26

Bonjour,

J'utilise la fonction suivante pour créer et envoyer un nouveau mot de passe généré par le système, via une saisie d'adresse email dans un bloc :
<?php 
include '../../mainfile.php';
$email = isset($_GET['email']) ? trim($_GET['email']) : ''
$email = isset($_POST['email']) ? trim($_POST['email']) : $email

xoops_loadLanguage('user'); 

if (
$email == '') { 
    
redirect_header("http://www.monsite.com/fm/modules/profile/user.php",2,_US_SORRYNOTFOUND); 
    exit(); 


$myts =& MyTextSanitizer::getInstance(); 
$member_handler =& xoops_gethandler('member'); 
$getuser =& $member_handler->getUsers(new Criteria('email'$myts->addSlashes($email))); 

if (empty(
$getuser)) { 
    
$msg _US_SORRYNOTFOUND
    
redirect_header("user.php",2,$msg); 
    exit(); 
} else { 
        
$newpass xoops_makepass(); 
        
$xoopsMailer =& xoops_getMailer(); 
        
$xoopsMailer->useMail(); 
        
$xoopsMailer->setTemplate("bienvenue.tpl"); 
        
$xoopsMailer->assign("SITENAME"$xoopsConfig['sitename']); 
        
$xoopsMailer->assign("ADMINMAIL"$xoopsConfig['adminmail']); 
        
$xoopsMailer->assign("SITEURL"XOOPS_URL."/"); 
        
$xoopsMailer->assign("IP"$_SERVER['REMOTE_ADDR']); 
        
$xoopsMailer->assign("NEWPWD"$newpass); 
        
$xoopsMailer->setToUsers($getuser[0]); 
        
$xoopsMailer->setFromEmail($xoopsConfig['adminmail']); 
        
$xoopsMailer->setFromName($xoopsConfig['sitename']); 
        
$xoopsMailer->setSubject(sprintf('Bienvenue sur Autoformation')); 
        if ( !
$xoopsMailer->send() ) { 
            echo 
$xoopsMailer->getErrors(); 
        } 

        
// Next step: add the new password to the database 
        
$sql sprintf("UPDATE %s SET pass = '%s' WHERE uid = %u"$xoopsDB->prefix("users"), md5($newpass), $getuser[0]->getVar('uid')); 
        if ( !
$xoopsDB->queryF($sql) ) { 
            include 
"header.php"
            echo 
_US_MAILPWDNG
            include 
"footer.php"
            exit(); 
        } 
        
redirect_header("user.php"3sprintf(_US_PWDMAILED,$getuser[0]->getVar("uname")), false); 
        exit(); 

?>


Je voudrais savoir comment je peux l'intégrer à register.php afin que ce soit automatique à l'enregistrement d'un utilisateur ?

Merci d'avance
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

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