Kayıt e-posta etkinleştirme onay sorunu.

0 Cevap php

Ben bu yöntemi var:

public function activation_code() 
{ //activation code sent into db
  $activation_code = random_string('alnum', 32);
  return $activation_code;
}  

Ne yapmaya çalışıyorum benim veritabanına gönderdi ama aynı zamanda bu yüzden benim teyidinde "e-posta onaylamak için buraya tıklayın" url ile birleştirebilirsiniz aynı aktivasyon kodunun bir kopyasını temin alır sonrası veriler ile bu sağlamaktır kayıt sırasında kullanıcılara gönderilen e-posta.

Bunu nasıl yapabilirim? Ben veritabanı kodu yapmak ve e-posta URL kodu farklı olacak yani eğer kullanıcı onları maç ve kendi e-posta adresinizi onaylamak için mümkün olmaz, çünkü ben yöntemi sağlayamaz.

Böyle bir yerde eg yöntemini sağlamak gibi birçok başka yollar denedim

public function create() 
{ //get post data and insert into db

  $dbcolumn->group_id = 2; //group 1 for admin group 2 for member
  $dbcolumn->first_name = $this->input->post('first_name');
  $dbcolumn->last_name = $this->input->post('last_name');
  $dbcolumn->email = $this->input->post('email');
  $dbcolumn->password = $this->hashed();
  $dbcolumn->birthday = $this->input->post('year') . 
    '-' . $this->input->post('month') . '-' . $this->input->post('day');
  $dbcolumn->sex = $this->input->post('sex');       
  $dbcolumn->activation_code = $this->activation_code();
  // date and time user joined the website
  $dbcolumn->created_on = date('Y-m-d H:i:s', now()); 
  $this->db->insert('users', $dbcolumn);
}

Eğer dbcolumn-> aktivasyon kodu satırına bakarsanız ben ne yaptığımı görürsünüz. Bu çalışır ve kod veritabanında depolanır. Ben gönderilen e-postaya aynı "$ this-> activation_code () yöntemini sağlamak eğer kodları açıkça farklı olacaktır.

public function send_confirmation_email() 
{ //receives variable from create method
  $this->load->library('email');
  $this->email->from('wengerarsen@gmail.com', 'my site');
  $this->email->to($this->input->post('email'));
  $this->email->subject('my site - Activate your account');
  //copy of activation code returned from create method
  $this->email->message('We\'re back, please click the link to activate your account ' . anchor('http://mysite.com/activation/' . $this->activation_code(), 'Activate my account'));
  $this->email->send();
}

Gördüğünüz gibi ben aynı yöntem $ activation_code () Benim göndermek onay e yöntemin içine çekti var. Bu sadece ben kullanıcıların e-posta veritabanı aktivasyon kodunu ve URI bölüm kodunu maç mümkün olmayacak anlamına yepyeni bir kodu üretecektir.

Ben dönüş kamu değişken yapmak ve gönderme confirmaton e-posta yönteminde aramak için denedim ama çalışmıyor. Kod e-posta URL o sonunda eksik biter.

Ben çalışan çok farklı yolları ve sözler denedim.

Belki burada bir şey eksik?

Önerileri, vb örnekler çok takdir edilecektir.

0 Cevap