Viele Frontend-User importieren

Gesperrt
woddel
Beiträge: 89
Registriert: Mi 2. Jun 2004, 10:49
Kontaktdaten:

Viele Frontend-User importieren

Beitrag von woddel » Do 27. Mär 2008, 16:40

Hallo!

Ich habe eine excel-tabelle mit 964 (!) login/passwortkombinationen vom kunden bekommen.

der hätte die jetzt gerne als frontend-user.

zu fuß mach ich das nicht. :(

ich bin jetzt erstmal ziemlich ratlos - wahrscheinlich kann ich das ganze per phpmyadmin als csv reinladen - oder?

aber soweit ich weiss sind die passwörter ja verschlüsselt in der db.

gibt es einen "rüttelwürger" der mir die verschlüsselt, damit ich sie dann hochladen kann?

und ist es mit dem hochladen getan?

oder hat jemand einen schlaueren tip.

schonmal danke für jeden tip.
woddel

MichFress
Beiträge: 750
Registriert: Mo 5. Jan 2004, 22:32
Wohnort: Bochum
Kontaktdaten:

Beitrag von MichFress » Do 27. Mär 2008, 17:13

Die Passwörter sind, soweit ich weiß mit md5 verschlüsselt...
Da käme mir spontan folgende Lösung in den Sinn:
über phpmyadmin die Excel-Tabelle in die DB importieren und dann mittels einer Query in die Frontenduser-Tabelle übertragen...

in etwa:

Code: Alles auswählen

INSERT INTO con_frontenduser (name, pw) VALUES (SELECT name, md5(pw) FROM excel_import_tabelle)
"Es wird keine Handlung geben, keine Geschichte mit ihrer Versprechung auf einen Anfang und ihrer Hoffnung auf ein Ende." (Andrzej Stasiuk)

woddel
Beiträge: 89
Registriert: Mi 2. Jun 2004, 10:49
Kontaktdaten:

Beitrag von woddel » Do 27. Mär 2008, 17:25

Hmm - das klingt ja schonmal ganz interessant.

Ich bin leider kein großer in sachen sql-syntax. :oops:

md5 ist eine verschlüssel-funktion vom mysql?

so wie ich das verstanden habe sollte ich das also nicht direkt in die frontend-user tabelle übertragen, sondern erstmal extra anlegen?

mir ist leider die anwendung deines codes noch nicht ganz klar.

wie zeig ich dem code denn welche excel-tabelle er laden soll?
woddel

rbi
Beiträge: 95
Registriert: Do 27. Sep 2007, 21:33
Kontaktdaten:

Beitrag von rbi » Do 27. Mär 2008, 18:03

Speichere die Liste als CSV und mach dir ein Modul, das in etwa so aussieht:

Code: Alles auswählen

<?php
$oFrontendUserCollection = new FrontendUserCollection();
$handle = fopen ("somewhere/liste.csv","r");
while ( ($data = fgetcsv ($handle, 1000, ";")) !== false ) {
	if (!$oFrontendUserCollection->userExists($data[0])) { // $data[0] ist der username
	    $oFrontendUser = $oFrontendUserCollection->create($data[0]);
	    $oFrontendUser->set('password', $data[1]); // $data[1] ist das passwort
	    $oFrontendUser->set('active', 1);
	    $bReturn = $oFrontendUser->store();
	}
}
fclose ($handle);
?>

woddel
Beiträge: 89
Registriert: Mi 2. Jun 2004, 10:49
Kontaktdaten:

Beitrag von woddel » Do 27. Mär 2008, 19:12

Ui!

Ist ja schick! :shock:

ich werde es ausprobieren.

Danke!
woddel

MakD42
Beiträge: 103
Registriert: Sa 8. Nov 2003, 19:01
Wohnort: Marburg
Kontaktdaten:

Nachgefragt

Beitrag von MakD42 » Fr 11. Apr 2008, 14:15

... und hat der Import mit dem Modul so geklappt?
Habe nämlich auch nur 867 User zu importieren und
kann auch nich-so-gut sql-ísch :lol:
MakD 42
______________________
Contenido 4.6.8 & 4.8.15
MySQL 5.1.54
Linux/Apache
Meine Contenidoprojekte: art & weise | StadtMedia | aidea

jdstrike
Beiträge: 52
Registriert: Di 18. Dez 2007, 14:55
Kontaktdaten:

15000 Einträge aber wie?

Beitrag von jdstrike » So 1. Jun 2008, 02:05

Servus zusammen,

ich hab eine datei auf der datenbank liegen mit 15000 Usern, das Problem ist, das Passwort ist nicht mit md5 verschlüsselt
wenn ich dies durch diese abfrage versuche, taucht dieser Fehler auf:
Fehler

SQL-Befehl: Dokumentation

INSERT INTO con_frontenduser( `idfrontenduser` , `idclient` , `username` , `password` , `active` , `author` , `created` , `modified` , `modifiedby` , `valid_from` , `valid_to` )
VALUES (

SELECT `idfrontenduser` , `idclient` , `username` , MD5( `password` ) , `active` , `author` , `created` , `modified` , `modifiedby` , `valid_from` , `valid_to`
FROM con_frontenduser_zs
)

MySQL meldet: Dokumentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT `idfrontenduser`, `idclient`, `username`, MD5(`password`), `active`, `aut' at line 1
Jemand ne Idee wie ich die 15000 Einträge mit md5 in die Datenbank bekomme? hab sie auch als excel datei.

Bin über jeden Ratschlag dankbar.

LG
jdstrike

jdstrike
Beiträge: 52
Registriert: Di 18. Dez 2007, 14:55
Kontaktdaten:

Beitrag von jdstrike » So 1. Jun 2008, 03:15

Ich nochmal die Frage hat sich jetzt erledigt!
So klappt es:

Code: Alles auswählen

INSERT INTO con_frontendusers (idfrontenduser, idclient, username, password, active, author, created, modified, modifiedby, valid_from, valid_to) VALUES (1, 1, 'admin', md5('admin'), 1, md5('sysadmin'), '2008-05-30 01:05:56', '2008-05-30 01:05:56', md5('sysadmin'), '0000-00-00 00:00:00', '0000-00-00 00:00:00');
LG
jdstrike

Gesperrt