Fork me on GitHub






importation problèmatique
Aspirant
Inscrit: 12/12/2005 13:18
Messages: 23
cette fois j'ai bien fait attention à ne pas utiliser la version 2.2.3 mais la 2.0.13.2....
le script semble fonctionner parfaitement, je retrouve mes 647 membres actifs... MAIS quand j'essaie un login, xoops le jette en disant "identifiant incorrect" pourtant j'ai même copié/collé à partir de la base. Là je suis à bout d'arguments. Je me demande si je ne vais pas retourner sur
la 2.2.3 car j'avais réussi à faire apparaître quelques membres dont j'avais indiqué la présence dans users_profile...Quel est le bon chemin ?

Posté le : 26/01/2006 15:32

Edité par humpty sur 28/01/2006 16:21:53
Partager Twitter Partagez cette article sur GG+
Re: importation problèmatique
Xoops accro
Inscrit: 04/02/2003 01:54
De Le Mans
Messages: 12273
je suis désolé mais ta réponse est trop imparfaite pour que l'on puisse t'aider. En effet en la matière il convient d'être extrêmement précis et factuel, c'est pourquoi il faudrait nous fournir plus de détails

- structure du fichier csv utilisé, avec un exemple d'enregistrement utilisé.
- as tu effectué des modifications dans le fichier php qui sert à exécuter l'import ?

Posté le : 26/01/2006 15:43
Partager Twitter Partagez cette article sur GG+
Re: importation problèmatique
Aspirant
Inscrit: 12/12/2005 13:18
Messages: 23
oui, j'ai effectué des modifs dans le script de bas ( nom de la base, nom du fichier, préfixe des tables).
voici ce que ça donne:
===========================================================
<?
// christian@frxoops.org - https://www.frxoops.org
// Import users from a csv file into xoops 2.0.x
// variables
$bdd"claudel_xoops";
$host"localhost";
$user"root";
$pass"";
$fichier "eleves.txt"// data file as : first name(pseudo);last name;email;password    
// remove line break on last record

mysql_connect($host,$user,$pass) or die("Unable to connect Database");
mysql_select_db($bdd);

// Open file for read
if (file_exists($fichier))
    
$fp fopen("$fichier""r");
else{ 
// unknown file
    
echo "File not found !<br>Import stopped.";
    exit();
}
echo 
'Begin file import '.$fichier.'<br>';
// import line by line
while (!feof($fp)){
    
$ligne fgets($fp,4096);
    
$liste explode(";",$ligne); // create array 
    
$user $liste[0]; //first field 
    
$name $liste[1]; //second field
    
$email$liste[2];
    
$passmd5($liste[3]);    


    
// Add user in xoops_users table
     
$query "insert into cx_users  (uname, name, email, pass) VALUES ('$user', '$name','$email','$pass')";

     
     
$resultmysql_query($query);
     
$uid mysql_insert_id();
    
    
//Add user in group : users registered 
    
$numgroup ='2';
     
$query "INSERT INTO cx_groups_users_link  (groupid, uid) VALUES('$numgroup', '$uid')";
     
$resultmysql_query($query);

     if (
mysql_error()){
      echo 
"Error in database : ".mysql_error();
      echo 
"<br>Importation stoppée.";
      
fclose($fp);
      exit();
}else{
  echo 
"Record ".$uid." - ".$user." added<br> ";
 }
}

echo 
"<br>Import finished successfully.";

fclose($fp);
==========================================================

pour ce qui est du fichier csv, j'ai utilisé un txt avec ";" comme séparateurs. en voici un extrait:

BAUANN;BAUCHE ANNAICK;monmail@home.fr;K010788
BIDPIE;BIDAUD PIERRE;monmail@home.fr;K290888
BOSJAC;BOSSARD JACQUELINE;monmail@home.fr;K270888
BOSNOE;BOSSIERE NOELLA;monmail@home.fr;K101189

Posté le : 26/01/2006 15:57
Partager Twitter Partagez cette article sur GG+
Re: importation problèmatique
Xoops accro
Inscrit: 04/02/2003 01:54
De Le Mans
Messages: 12273
C'est le cryptage du mot de passe qui n'est pas correct. Si tu édites l'utilisateur pour lui remettre le même mot de passe, ensuite il pourra se connecter.

Je regarde ce soir.

Posté le : 26/01/2006 17:15
Partager Twitter Partagez cette article sur GG+
Re: importation problèmatique
Aspirant
Inscrit: 12/12/2005 13:18
Messages: 23
ouaiche! mais justement, si je veux le faire avec un script, c'est pour ne pas avoir à entrer 700 mots de passe à la main! Comme je n'ai aucune idée de comment le mot de passe est codé, je crois que je vais attendre ta réponse. Avec la plus grande angoisse...et la plus grande impatience.
Merci d'avance de la peine que tu prendras. Si avec un script amélioré sur ce point ça roule eh ben je te devrai une fière chandelle!

Posté le : 26/01/2006 17:55
Partager Twitter Partagez cette article sur GG+
Re: importation problèmatique
Xoops accro
Inscrit: 04/02/2003 01:54
De Le Mans
Messages: 12273
il faut juste remplacer cette ligne : $pass= md5($liste[3]);
par celle-ci : $pass= md5(trim($liste[3]));

signé : nutella power(il se reconnaitra)
Open in new window

Posté le : 26/01/2006 22:05
Partager Twitter Partagez cette article sur GG+
Re: importation problèmatique
Aspirant
Inscrit: 12/12/2005 13:18
Messages: 23
AH! là, ça le fait! Grand merci, reconnaissance éternelle etc...
Du coup je me suis attaqué au problème de la version 2.2.3a parceque je trouve très intéressant de pouvoir utiliser un login court et impersonnel avec un pseudo choisi. Sauf que, puisque j'entre mes membres en automatique, ils n'ont pas de moyen de modifier le pseudo attrivué. Mais bon, je n'aurai qu'à trouver un formulaire qui me récoltera les pseudos avant l'inscription au site (si quelqu'un a une idée la-dessus, elle sera la bienvenue).
Pour en revenir à la configuration différente des fichiers de la 2.2.3a par rapport à la 2.01.3, je suis parvenu à entrer ma liste et à activer mes membres avec le script modifié comme suit:
<? php
// christian@frxoops.org - https://www.frxoops.org
// Import users from a csv or text file into xoops 2.2.3a
// variables
$bdd"claudel_xoops";
$host"localhost";
$user"root";
$pass"";
$regdate=time();
$fichier "eleves.txt"// data file as : pseudo,login,nom-prénom,email,password 
// remove line break on last record

mysql_connect($host,$user,$pass) or die("Unable to connect Database");
mysql_select_db($bdd);

// Open file for read
if (file_exists($fichier))
$fp fopen("$fichier""r");
else{ 
// unknown file
echo "File not found !<br>Import stopped.";
exit();
}
echo 
'Begin file import '.$fichier.'<br>';
// import line by line
while (!feof($fp)){
$ligne fgets($fp,4096);
$liste explode(";",$ligne); // create array 
$pseu $liste[0];
$user $liste[1];
$name $liste[2];
$email$liste[3];
$passmd5(trim($liste[4])); 


// Add user in xoops_users table
$query "insert into cx_users (uname, loginname, name, email, pass ) VALUES ('$pseu', '$user', '$name','$email', '$pass')";
$resultmysql_query($query);
$uid mysql_insert_id();

//Create profile
$query "INSERT INTO cx_user_profile (profileid, user_regdate, user_mailok) VALUES('$uid', '$regdate', '1' )";
$resultmysql_query($query);

//Add user in group : users élèves 
$numgroup ='4';
$query "INSERT INTO cx_groups_users_link (groupid, uid) VALUES('$numgroup', '$uid')";
$resultmysql_query($query);

if (
mysql_error()){
echo 
"Error in database : ".mysql_error();
echo 
"<br>Importation stoppée.";
fclose($fp);
exit();
}else{
echo 
"Record ".$uid." - ".$user." added<br> ";
}
}

echo 
"<br>Import finished successfully.";

fclose($fp);
?>

à partir d'un fichier texte comme:
BAUCHE A .;BAUANN;1ES1-Annaick BAUCHE;monmail@home.fr;AB010788;
BIDEAU P .;BIDPIE;1ES1-Pierre BIDAUD;monmail@home.fr;PB290888;
BOSSARD J .;BOSJAC;1ES1-Jacqueline BOSSARD;monmail@home.fr;JB270888;

Il resterait à adapter pour gérer encore un groupe profs et un groupe administration, mais c'est déjà un bon début, non?

Encore merci !

Posté le : 28/01/2006 16:02
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

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