Bonjour à tous,
J'utilise une interface qui crée un utilisateur Joomla, car je dois développer sur deux systèmes qui sont bien à part, dans eux bases de données différentes.
Tout part d'un formulaire, je récupère mes données de la manière suivante :
$_SESSION['MDP'] est un mot de passe de 7 caractères non crypté composé de chiffres et de lettres, ex : 3CH1VG6.
Pourtant une fois mon utilisateur crée, je ne parviens pas à me logger. Merci de m'aider, car je ne comprends pas d'où vient le problème.
J'utilise une interface qui crée un utilisateur Joomla, car je dois développer sur deux systèmes qui sont bien à part, dans eux bases de données différentes.
Tout part d'un formulaire, je récupère mes données de la manière suivante :
/* création JOOMLA */
$id = '';
$name = $_SESSION['PRENOM'].' '.$_SESSION['NOM'];
$username = substr($_SESSION['PRENOM'], 0, 1).'.'.$_SESSION['NOM'];
$email = $_SESSION['EMAIL'];
/*
* Fonction qui créée un clé aléatoire
* pour générer un mot de passe Joomla crypté
*
* @param $length
* @return $salt
*
*/
function genRandomPassword($length = 32)
{
$salt = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW XYZ0123456789";
$len = strlen($salt);
$makepass = '';
mt_srand(10000000 * (double) microtime());
for ($i = 0; $i < $length; $i ++) {
$makepass .= $salt[mt_rand(0, $len -1)];
}
return $makepass;
}
//Création de la clé de cryptage
$salt = genRandomPassword();
//Cryptage du password
$new_password = md5($_SESSION['MDP'].$salt).':'.$salt;
$usertype = '';
$block = 0;
$sendEmail = 0;
$registerDate = date("Y-m-d H:i:s");
$lastvisitDate = date("Y-m-d H:i:s");
$activation = '';
$params = '{"admin_style":"","admin_language":"","language": "","editor":"","helpsite":"","timezone":""}';
$sql = 'INSERT INTO `vl5aq_users` (
`name`,
`username`,
`email`,
`password`,
`usertype`,
`block`,
`sendEmail`,
`registerDate`,
`lastvisitDate`,
`activation`,
`params`
) VALUES (
"'.$name.'",
"'.$username.'",
"'.$email.'",
"'.$new_password.'",
"'.$usertype.'",
'.$block.',
'.$sendEmail.',
"'.$registerDate.'",
"'.$lastvisitDate.'",
"'.$activation.'",
"'.mysql_escape_string($params).'"
)';
$query = mysql_query($sql) or die(mysql_error());
$id = '';
$name = $_SESSION['PRENOM'].' '.$_SESSION['NOM'];
$username = substr($_SESSION['PRENOM'], 0, 1).'.'.$_SESSION['NOM'];
$email = $_SESSION['EMAIL'];
/*
* Fonction qui créée un clé aléatoire
* pour générer un mot de passe Joomla crypté
*
* @param $length
* @return $salt
*
*/
function genRandomPassword($length = 32)
{
$salt = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW XYZ0123456789";
$len = strlen($salt);
$makepass = '';
mt_srand(10000000 * (double) microtime());
for ($i = 0; $i < $length; $i ++) {
$makepass .= $salt[mt_rand(0, $len -1)];
}
return $makepass;
}
//Création de la clé de cryptage
$salt = genRandomPassword();
//Cryptage du password
$new_password = md5($_SESSION['MDP'].$salt).':'.$salt;
$usertype = '';
$block = 0;
$sendEmail = 0;
$registerDate = date("Y-m-d H:i:s");
$lastvisitDate = date("Y-m-d H:i:s");
$activation = '';
$params = '{"admin_style":"","admin_language":"","language": "","editor":"","helpsite":"","timezone":""}';
$sql = 'INSERT INTO `vl5aq_users` (
`name`,
`username`,
`email`,
`password`,
`usertype`,
`block`,
`sendEmail`,
`registerDate`,
`lastvisitDate`,
`activation`,
`params`
) VALUES (
"'.$name.'",
"'.$username.'",
"'.$email.'",
"'.$new_password.'",
"'.$usertype.'",
'.$block.',
'.$sendEmail.',
"'.$registerDate.'",
"'.$lastvisitDate.'",
"'.$activation.'",
"'.mysql_escape_string($params).'"
)';
$query = mysql_query($sql) or die(mysql_error());
$_SESSION['MDP'] est un mot de passe de 7 caractères non crypté composé de chiffres et de lettres, ex : 3CH1VG6.
Pourtant une fois mon utilisateur crée, je ne parviens pas à me logger. Merci de m'aider, car je ne comprends pas d'où vient le problème.
Commentaire