Salut !
Voilà ma requête :
Je désire importer des utilisateurs ( 2000 environ)dans mon site Xoops !
Je dispose de leur adresse email .
Je désire utiliser leur adresse email comme pseudo et le mot de passe sera commun à chacun ( dans un premier temps) ils le changeront ensuite !
J'ai fait des recherche et trouvé ce code de Kris :
Citation :<?php
// christian@frxoops.org - https://www.frxoops.org
// Import users from a csv or text file into xoops 2.0.18
// variables
$bdd= "nom de la base";
$host= "localhost";
$user= "utilisateur de la base";
$pass= "mot de passe de la base";
$prefix= "préfixe"; //préfixe des tables, sans indiquer le _
$separator = ";";//séparateur uilisé dans le fichier à importer
$regdate=time();
$fichier = "membres.txt"; //nom du fichier à parcourir
//file structure : pseudo;email;password en clair
//ne pas laisser de ligne vide à la fin du fichier à importer
mysql_connect($host,$user,$pass) or die("Unable to connect Database");
mysql_select_db($bdd);
//Open file for read - Ouverture du fichier contenant les membres
if (file_exists($fichier))
$fp = fopen("$fichier", "r");
else{ // unknown file - fichier non trouvé
echo "File not found !<br />Import stopped.";
exit();
}
echo 'Begin file import : <b>'.$fichier.'</b><br /><br />';
echo '<table border="1" cellspacing="3">';
echo '<tr><td>UID</td><td>Pseudo</td>';
// import line by line - import ligne par ligne
while (!feof($fp)){
$ligne = fgets($fp,4096);
$liste = explode($separator,$ligne); //create array
$uname = $liste[0];
$email = $liste[1];
$pass= md5(trim($liste[2]));
$user_mailok = "0"; //n'autorise pas l'administrateur à envoyer des mails par défaut - mettre à un (1) dans le cas contraire
// Add user in xoops_users table
$query = "insert into ".$prefix."_users (uname, email, pass, user_regdate, user_mailok) VALUES ('".$uname."', '".$email."', '".$pass."', '".$regdate."' , ".$user_mailok.")";
$result= mysql_query($query);
$uid = mysql_insert_id();
//Add user in group : registered users / utilisateurs enregistrés
$numgroup ='2';//changer cette valeur pour affecter le membre à un autre groupe
$query = "insert into ".$prefix."_groups_users_link (groupid, uid) VALUES('".$numgroup."', '".$uid."')";
$result= mysql_query($query);
if (mysql_error()){
echo "Error in database : ".mysql_error();
echo "</table><br /><br /><b>Importation stoppée.</b><br /><br />";
fclose($fp);
exit();
}else{
echo "<tr><td> ".$uid." </td><td> ".$uname." </td></tr> ";
}
}
echo "</table><br />Import finished successfully.";//Import réalisé avec succès
fclose($fp);
?>
Quelle forme le fichier d'import doit il avoir ???
D'après ce que je lis :
Citation :$fichier = "membres.txt"; //nom du fichier à parcourir
//file structure : pseudo;email;password
Le fichier txt doit ressembler à ça :
pseudo;email;password
pseudo1;email1;password1
pseudo2;email2;password2
pseudo3;email3;password3
pseudo4;email4;password4
pseudo5;email5;password5
Merci de votre aide !!!
PS : je suis en 2.0.18.2