Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Pobieranie zasobu email


Przejdź do rozwiązania Rozwiązane przez DawPi,

Rekomendowane odpowiedzi

Witam

 
Mam taki problem że chciałbym aby z member (bazy) pobierało email przy tworzeniu konta do nowej tabeli lss_users

 

Zawartość register która odpowiada za to. Wszystko działa tworzy konta lecz nie pobiera email.

 

$karerps = md5( strtolower($member['members_display_name']) . "MRFX_01" . $in_password );

mysql_query("INSERT INTO `lss_users` (login, hash, quiz) VALUES('".$member['members_display_name']."', '$karerps', 1)",$karerhandler);
//-----------------------------------------
// Login handler create account callback
//-----------------------------------------
 
    $this->han_login->createAccount( array( 'email' => $member['email'],
'joined' => $member['joined'],
'password' => $in_password,
'ip_address' => $this->member->ip_address,
'username' => $member['members_display_name'],
    ) );
 
//-----------------------------------------
// We'll just ignore if this fails - it shouldn't hold up IPB anyways
//-----------------------------------------
 
/*if ( $han_login->return_code AND ( $han_login->return_code != 'METHOD_NOT_DEFINED' AND $han_login->return_code != 'SUCCESS' ) )
{
$this->registry->output->showError( 'han_login_create_failed', 2017, true );
}*/
   
//-----------------------------------------
// Validation
//-----------------------------------------
 
$validate_key = md5( IPSMember::makePassword() . time() );
$time         = time();
 
if( $coppa != 1 )
{
if( ( $this->settings['reg_auth_type'] == 'user' ) or ( $this->settings['reg_auth_type'] == 'admin' ) or ( $this->settings['reg_auth_type'] == 'admin_user' ) )
{
//-----------------------------------------
// We want to validate all reg's via email,
// after email verificiation has taken place,
// we restore their previous group and remove the validate_key
//-----------------------------------------
 
$this->DB->insert( 'validating', array(
 'vid'         => $validate_key,
 'member_id'   => $member['member_id'],
 'real_group'  => $this->settings['member_group'],
 'temp_group'  => $this->settings['auth_group'],
 'entry_date'  => $time,
 'coppa_user'  => $coppa,
 'new_reg'     => 1,
 'ip_address'  => $member['ip_address'],
 'spam_flag' => $_spamFlag,
)       );
 
if( $this->settings['reg_auth_type'] == 'user' OR $this->settings['reg_auth_type'] == 'admin_user' )
{
IPSText::getTextClass('email')->getTemplate("reg_validate");
 
IPSText::getTextClass('email')->buildMessage( array(
'THE_LINK'     => $this->settings['base_url'] . "app=core&module=global&section=register&do=auto_validate&uid=" . urlencode( $member['member_id'] ) . "&aid=" . urlencode( $validate_key ),
'NAME'         => $member['members_display_name'],
'MAN_LINK'     => $this->settings['base_url'] . "app=core&module=global&section=register&do=05",
'EMAIL'        => $member['email'],
'ID'           => $member['member_id'],
'CODE'         => $validate_key,
 ) );
 
IPSText::getTextClass('email')->subject = sprintf( $this->lang->words['new_registration_email'], $this->settings['board_name'] );
IPSText::getTextClass('email')->to      = $member['email'];
 
IPSText::getTextClass('email')->sendMail();
 
$this->output     = $this->registry->output->getTemplate('register')->showAuthorize( $member );
 
}
else if( $this->settings['reg_auth_type'] == 'admin' )
{
$this->output     = $this->registry->output->getTemplate('register')->showPreview( $member );
}
 
/* Only send new registration email if the member wasn't banned */
if( $this->settings['new_reg_notify'] AND $member['member_group_id'] != $this->settings['banned_group'] )
{
$date = $this->registry->class_localization->getDate( time(), 'LONG', 1 );
 
IPSText::getTextClass('email')->getTemplate( 'admin_newuser' );
 
IPSText::getTextClass('email')->buildMessage( array( 'DATE' => $date,
'LOG_IN_NAME'  => $member['name'],
'EMAIL' => $member['email'],
'IP' => $member['ip_address'],
'DISPLAY_NAME' => $member['members_display_name'] ) );
 
IPSText::getTextClass('email')->subject = sprintf( $this->lang->words['new_registration_email1'], $this->settings['board_name'] );
IPSText::getTextClass('email')->to      = $this->settings['email_in'];
IPSText::getTextClass('email')->sendMail();
}
 
$this->registry->output->setTitle( $this->lang->words['reg_success'] . ' - ' . ipsRegistry::$settings['board_name'] );
$this->registry->output->addNavigation( $this->lang->words['nav_reg'], '' );
}
else
{
/* We don't want to preview, or get them to validate via email. */
$stat_cache = $this->caches['stats'];
 
if( $member['members_display_name'] AND $member['member_id'] AND !$this->caches['group_cache'][ $member['member_group_id'] ]['g_hide_online_list'] )
{
$stat_cache['last_mem_name'] = $member['members_display_name'];
$stat_cache['last_mem_name_seo'] = IPSText::makeSeoTitle( $member['members_display_name'] );
$stat_cache['last_mem_id'] = $member['member_id'];
}
 
$stat_cache['mem_count'] += 1;
 
$this->cache->setCache( 'stats', $stat_cache, array( 'array' => 1 ) );
 
/* Only send new registration email if the member wasn't banned */
if( $this->settings['new_reg_notify'] AND $member['member_group_id'] != $this->settings['banned_group'] )
{
$date = $this->registry->class_localization->getDate( time(), 'LONG', 1 );
 
IPSText::getTextClass('email')->getTemplate( 'admin_newuser' );
 
IPSText::getTextClass('email')->buildMessage( array( 'DATE' => $date,
'LOG_IN_NAME'  => $member['name'],
'EMAIL' => $member['email'],
'IP' => $member['ip_address'],
'DISPLAY_NAME' => $member['members_display_name'] ) );
 
IPSText::getTextClass('email')->subject = sprintf( $this->lang->words['new_registration_email1'], $this->settings['board_name'] );
IPSText::getTextClass('email')->to      = $this->settings['email_in'];
IPSText::getTextClass('email')->sendMail();
}
 
IPSCookie::set( 'pass_hash'   , $member['member_login_key'], 1);
IPSCookie::set( 'member_id'   , $member['member_id']       , 1);
 

 

Struktura lss_users, dodam też że wszystko jest podłączone pod bazę mysql.

post-19072-0-94704600-1421752838_thumb.p

Edytowane przez luki2407
Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Hm, nie wiem czy dobrze zrozumiałem - w tym miejscu Ci tego nie pobiera:

$karerps = md5( strtolower($member['members_display_name']) . "MRFX_01" . $in_password );

Innymi słowy - zmienna $in_password jest pusta?

  • Lubię to 1

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager
  • Lubię to 1

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

No właśnie nw za bardzo gdzie może być błąd, chce aby przy rejestracji na forum pobierało od razu email z members do lss_users (email) tak jak wygląda struktura lss_users 

$karerps = md5( strtolower($member['members_display_name']) . "MRFX_01" . $in_password ); 

- ta zmienna odpowiada za kodowanie haseł w MD5.

 

Może tu czegoś brakuje ? 

Tak jest

mysql_query("INSERT INTO `lss_users` (login, hash, quiz) VALUES('".$member['members_display_name']."', '$karerps', 1)",$karerhandler);

Po dodaniu email będzie działało ?

mysql_query("INSERT INTO `lss_users` (login, hash, email, quiz) VALUES('".$member['members_display_name']."', '$karerps', 1)",$karerhandler);
Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

No jeśli w tabeli lss_users masz pole o nazwie 'email' to będzie działać, ale musisz w VALUES podać ten e-mail.

  • Lubię to 1

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager
  • Rozwiązanie

Może tak, sprawdź:

mysql_query("INSERT INTO `lss_users` (login, hash, email, quiz) VALUES('".$member['members_display_name']."', '$karerps', '".$member['email']."', 1)",$karerhandler);
  • Lubię to 1

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.