[rejestracja użytkowników - CURL] Jak za pomocą CURL'a rejestrować użytkowników?
Wyniki 1 do 7 z 7

Temat: [rejestracja użytkowników - CURL] Jak za pomocą CURL'a rejestrować użytkowników?

  1. #1
    Bywalec
    Dołączył
    15-10-2007
    Wpisy
    102
    Punkty
    30

    Domyślny [rejestracja użytkowników - CURL] Jak za pomocą CURL'a rejestrować użytkowników?

    Próbowałem tego na wersji 1.5.15 i dało się rejestrować użytkowników z pomocą CURL'a i uznałem, że problem rozwiązany a kiedy przyszło do przenoszenia użytkowników z innego systemu okazało się, że nie da rady... w tym czasie zmieniła się wersja z 1.5.15 na 1.5.18. Wprawdzie znam hasła i maile użytkowników ale ręczne przeniesienie 4000 kont to chyba raczej chory pomysł. Ma ktoś jakiś pomysł? (wg moich danych pojawia się problem z tokenem ale mogę się mylić).

    Z góry dziękuję za pomoc.

  2. Pani Reklamowa
    Pani Reklamowa jest aktywna
    Avatar Panny Google

    Dołączył
    19-08-2010
    Skąd
    Internet
    Postów
    milion
    Pochwał
    setki
  3. #2
    Senior moje awatar
    Dołączył
    08-01-2008
    Skąd
    Silesia
    Wpisy
    6 057
    Punkty
    188

    Domyślny

    Napisanie własnego kodu w php, który jednocześnie eksportuje dane użytkowników z starego serwisu i zaimportuje je na nowym serwisie (opartym na Joomla) - z bazy danych do bazy danych.
    Webdeveloper do usług ;)

  4. #3
    Bywalec
    Dołączył
    15-10-2007
    Wpisy
    102
    Punkty
    30

    Domyślny

    Chciałem właśnie uniknąć przepisywania z bazy danych do bazy danych ze względu na to dokonano zmiany w regulaminie, który należy zaakceptować dodano nowe formularze danych osobowych, które należy zaktualizować no i z racji braku zgody na przetwarzanie danych a jedynie na ich magazynowanie w formie papierowej wymusza ponowną aktywację kont. Kolejną sprawą jest przy okazji weryfikacja mail użytkowników. 30 dniowe odłożenie w czasie aktywacji da pogląd na to czy można kogoś wywalić czy nie ... no i odbicie maila na serwer spowoduje zmniejszenie bazy użytkowników - jak znam życie o połowę - będzie można ich wywalić bo nie ma z nimi kontaktu .

  5. #4
    Senior moje awatar
    Dołączył
    08-01-2008
    Skąd
    Silesia
    Wpisy
    6 057
    Punkty
    188

    Domyślny

    To nie przetwarzasz danych osobowych, tylko przenosisz z bazy do bazy (zmiana magazynu ;) ).

    Możesz napisać ten kod w taki sposób, żeby każdemu założył konto, które ponownie wysyła maila aktywacyjnego- co za problem?
    Webdeveloper do usług ;)

  6. #5
    Bywalec
    Dołączył
    15-10-2007
    Wpisy
    102
    Punkty
    30

    Domyślny

    no wlasnie prosciej wyslac curlem dane bo to raptem pare lini kodu zamiast sie zaglebiac w joomle i wysylanie maili aktywacyjnych ... wszystko działało tylko cos mnie podkusilo aktualizowac zanim przenioslem ludzi do nowego systemu ... trzeba bylo odpalic i zaktualizowac ...

    Do tej pory nie interesowalem sie wysylaniem maili w joomli bo nie bylo takiej potrzeby ... i narazie nadal nie mam... a juz napewno nie aktywacyjnych...


    wlasnie szukam czy moze gdzies mam kopie 1.5.15 na ktorym to dzialalo ... i zainstaluje chwilowo ... i bedzie po sprawie chyba ze nie uda mi sie odpalic tego jak nalezy ...
    Ostanio edytowane przez seeb : 26-07-2010 15:36

  7. #6
    Senior moje awatar
    Dołączył
    08-01-2008
    Skąd
    Silesia
    Wpisy
    6 057
    Punkty
    188

    Domyślny

    Możesz poszukać pakietu 1.5.15 zainstalować na osobnym koncie, zaimportować tam użytkowników, a stamtąd przenieść tabelę z użytkownikami na serwer docelowy.
    Webdeveloper do usług ;)

  8. #7
    Bywalec
    Dołączył
    15-10-2007
    Wpisy
    102
    Punkty
    30

    Domyślny

    Może ktoś coś zauważy... co spartoliłem

    Kod PHP:
    <?php
    define
    ('POSTURL''http://***/index.php?option=com_user');
    include_once 
    $_SERVER['DOCUMENT_ROOT'].'/configuration.php';
    $jconfig = new JConfig();
    $link mysql_connect($jconfig->host$jconfig->user$jconfig->password);
    if (!
    $link) {
        die(
    'Błąd połączenia : ' mysql_error());
    }
    mysql_select_db($jconfig->db$link) or die(mysql_error());

    $q="SELECT * FROM `starabaza` ORDER BY `starabaza`.`id` ASC LIMIT 0 , 2";
    $go mysql_query ($q) or die ("błąd pobierania z tabeli");
    // tu musimy pobrac token


    // działamy tylko kiedy mamy wyniki pobrane z bazy, jeśli nie to po co przetwarzać? to chyba oczywiste.
    if(mysql_num_rows($go) > 0) {
        while(
    $dane mysql_fetch_object($go)) { // pobieramy obiekt z bazy - z przyzwyczajenia biore obiekt


       // musimy za kazdym razem miec nowy token
       // więc łączymy się z com_user by wygenerowac nową pustą sesję. - wersja nie sprawdzona merytorycznie ani technicznie
            
    $c curl_init('http://***/index.php');
             
    curl_setopt ($cCURLOPT_POST0);
             
    curl_setopt ($cCURLOPT_POSTFIELDS"option=com_user");
             
    curl_exec ($c);



    //          $sessionid = mysql_query("SELECT `session_id FROM " . $jconfig->dbprefix . "_session WHERE username = NULL");

                
    $sessionid mysql_query("SELECT `session_id FROM " $jconfig->dbprefix "_session WHERE username = ''");

        
    $token md5$jconfig->secret.'0'.$sessionid);

    // z formularza rejestracyjnego:
    // action="/index.php?option=com_user" method="post" id="josForm" name="josForm"
    //----------------------------------------------------------------------------------------------------------------
        //id nazwisko login haslo  email


            
    $name=$dane->nazwisko;
            
    $username=$dane->login;
            
    $password=$dane->haslo;
            
    $email=$dane->email;


    // userform - formularz po register_save
    // sprawdzałem też task=save

    $data='&josForm=josForm&task=register_save&option=com_user&id=0&gid=0&'.$token.'=1&name='.$name.'&username='.$username.'&password='.$password.'&password2='.$password.'&email='.$email;

     
    $ch curl_init(POSTURL);
     
    curl_setopt($chCURLOPT_POST      ,1);
     
    curl_setopt($chCURLOPT_POSTFIELDS    ,$data);
     
    curl_setopt($chCURLOPT_FOLLOWLOCATION  ,1);
     
    curl_setopt($chCURLOPT_HEADER      ,0);  // nie zwracaj nam nagłówków http
     
    curl_setopt($chCURLOPT_RETURNTRANSFER  ,1);  // pokaż nam co tam wymodziłeś ;)
     
    $rezultat curl_exec($ch);

    // dumpniemy sobie co tam wyszło
    var_dump($data);
    echo 
    "<br/>";
    var_dump($rezultat);
        }
    // WHILE
    }// IF
    ?>
    Ostanio edytowane przez seeb : 28-07-2010 12:40

Podobne tematy

  1. Odpowiedzi: 1
    Ostatni post/autor: 12-11-2009, 09:01
  2. Rejestracja użytkowników
    przez Dzumla na forum Wydajność, optymalizacja
    Odpowiedzi: 3
    Ostatni post/autor: 01-10-2009, 23:14
  3. Rejestracja użytkowników
    przez patryk28091991 na forum Administracja - ogólne
    Odpowiedzi: 11
    Ostatni post/autor: 29-03-2009, 17:21
  4. Rejestracja użytkowników w 1.5.8
    przez cdsMarcin na forum Administracja - ogólne
    Odpowiedzi: 23
    Ostatni post/autor: 16-02-2009, 09:01
  5. Rejestracja użytkowników
    przez marcinr na forum Administracja składnikami
    Odpowiedzi: 0
    Ostatni post/autor: 13-12-2007, 23:51

Reguły pisania

  • Nie możesz zakładać nowych tematów
  • Nie możesz dodawać wypowiedzi
  • Nie możesz dodawać załączników
  • Nie możesz poprawiać swoich postów
  •