Üyelik Aktivitasyonu Email ile aktif etme

onurtan

OpenCart-TR
Katılım
3 Mar 2012
Mesajlar
222
Tepkime puanı
0
Puanları
0
Konum
Edirne
Arkadaşlar merhaba,

Bir çok kişinin ihitiyacı olduğunu düşünerek bu eklentiyi/modülü (modül denebilirse) paylaşıyorum. Dosya içerisindeki klasorlerdeki dosyaları iyollarını izleyerek yüklediğinizde çalışacaktır. Sql sorgusunu eklemeyi unutmayın. Dosyaların içindeki www.site.com kısımlarını kendinize göre değiştirin. Dil dosyalarından kod çekmemektedir. Aktivitasyon entegre değildir. Anadizine atmanız gereken dosya aktive.php dir. Ayrı bir sayfada üyelik aktivesi yapmaktadır. Entegre için bir ara uğraşırım. Üyelik kaydı tamamlandığında success.php den gelen üyelik kayıt mesajını

catalog/language/turkish/account/success.php den değiştirebilirsiniz.

Sistemi kısaca anlatıyorum.

Kayıt esnasında customer tablosundaki status sütunu bu yaptığım düzenleme ile '0' dönüyor ve kullanıcı kayıt olsada email ine gelen aktivitasyon linkine tıklamadıkça status '1' olmuyor. '1' olmadığı sürece giriş yapamıyor. aktivitasyonkey sütununa ürettiği kodu kopyalıyor ve üyelik aktif edildiğinde boşaltıyor. Aktif etmeyen giriş yapmaya çalıştığında Hata mesajı olarak "Kullanıcı / şifre yanlış" olarak alacaktır. Bunu siz ifade ile sorgulayıp 'üyeliğiniz aktif edilmemiştir' yapabilirsiniz. Ben basit bir aktivitasyon hazırladım. Eğer bu verdiğim dosyada daha önce modifikasyon yapmış kişiler direk upload etmesin. Bu sayfadan nerenin eklenmesi gerektiğini sorsunlar ben destek vereceğim. Siz de geliştirilmesine yardımcı olabilirsiniz. Ben ücretsiz paylaşıyorum. Lütfen satışını yapmayınız. Eklenti hiçbir yerden satın alınmamıştır.

Manual Ekleme:

Dosya içersindeki SQL sorgusunu çalıştırıyoruz.

Aktive.php dosyasını public_html (anadizine) atıyoruz.

catalog/model/account/customer.php de

Bul:

public function addCustomer($data) {

Altına Ekle:

$activationKey = mt_rand() . mt_rand() . mt_rand();

Bul:

status = '1', date_added = NOW()");

Değiştir:

status = '', activationkey = '$activationKey', date_added = NOW()");

Bul:

$message .= $this->config->get('config_name');

Altına Ekle:

$message .= "Üyeliğinizin kabul edilmesi için \rhttp://www.site.com/aktive.php?$activationKey\r\r linkine tıklamalısınız. 3 gün içerisinde onaylanmayan üyelikler silenecektir.";


aktive.php ve $message deki www.site.com kısımlarını kendi sitenize göre değiştirin.

Hepsi bu kadar.

Not: Ne olur ne olmaz yedekli çalışınız.
 

Ekli dosyalar

  • kullanici_aktivitasyon.zip
    3.6 KB · Görüntüleme: 123

elesta

OpenCart-TR
Katılım
15 Mar 2012
Mesajlar
72
Tepkime puanı
0
Puanları
0
Çok teşekkürler dostum bende yeni konu açmıştım çok makbule geçti. Nerenin eklenmesi gerektiğini söylersen süper olur hemen yapayım.
 

nokta

OpenCart-TR
Katılım
14 Eki 2010
Mesajlar
118
Tepkime puanı
0
Puanları
0
Çok faydalı bir sunum olmuş, emeklerine sağlık.
Hangi sayfalarda ne gibi düzenlemeler yapacağımızı da yazarsanız
bir an evvel kullanmaya başlayabiliriz.
 

onurtan

OpenCart-TR
Katılım
3 Mar 2012
Mesajlar
222
Tepkime puanı
0
Puanları
0
Konum
Edirne
Açıklamayı konu başlığına ekledim.
 

umiteks

OpenCart-TR
Katılım
24 Mar 2012
Mesajlar
1
Tepkime puanı
0
Puanları
0
Bende çalışmadı arkadaşlar...

Notice: Error: Unknown column 'activationkey' in 'field list'
Error No: 1054
INSERT INTO customer SET store_id = '........................................................... newsletter = '1', customer_group_id = '8', status = '', activationkey = '1328145672013920671196530637', date_added = NOW() in /hermes/bosweb/web194/b1948/*************/database/mysql.php on line 49
 

onurtan

OpenCart-TR
Katılım
3 Mar 2012
Mesajlar
222
Tepkime puanı
0
Puanları
0
Konum
Edirne
sql i yüklememişsin. okumadan hızlı hızlı yapınca calısmaz ümit halbuki klasorun içinde 3 tane dosya var. kafanıda karıştırcak kadar cok değil biri sql yüklemesi biri aktive.php biri customer.php o kadarcık
 

elesta

OpenCart-TR
Katılım
15 Mar 2012
Mesajlar
72
Tepkime puanı
0
Puanları
0
Çok teşekkürler dostum çalıştı yalnız aktive.php de bi hata var düzelteyim hemen


mysql_connect("localhost", database_adi, "db_sifre") or die(mysql_error());

mysql_select_db("database_adi") or die(mysql_error());


yerine



mysql_connect("host", "dbkullanici_adi", "db_sifre") or die(mysql_error());

mysql_select_db("database_adi") or die(mysql_error());

olacak =)
 

elesta

OpenCart-TR
Katılım
15 Mar 2012
Mesajlar
72
Tepkime puanı
0
Puanları
0
Bunu acaba aktivasyon kodunu mailden kopyalatıp sayfada yapıştırıp aktive ettirme imkanı var mı çünkü bazı virüs programları izin vermiyo yönlendirmeye.
 

pinkwall

OpenCart-TR
Katılım
1 Tem 2010
Mesajlar
6
Tepkime puanı
0
Puanları
0
Merhabalar

opencart 1.5.1.3 sürümünde denedim çalıştı.Lakin email adresine gelen www.site.com/aktive.php?4128774032941350181835739670 linkine tıklayınca aşağıdaki şekilde işlem yapıyor.Error kısmını nedir?yardımcı olur musunuz?

Tebrikler Kaydınız Onaylandı. ! Kullanıcı Email: site@site.com
Ürün sayfamıza gitmek için tıklayın Error: Duplicate entry '' for key 'activationkey'
 

onurtan

OpenCart-TR
Katılım
3 Mar 2012
Mesajlar
222
Tepkime puanı
0
Puanları
0
Konum
Edirne
pinkwall;

Dosyaları yenile ve açıklamaları takip ederek tekrardan dikkatlice yap. Key eşleştirmesinde sorun oluşmuş sende.
 

elesta

OpenCart-TR
Katılım
15 Mar 2012
Mesajlar
72
Tepkime puanı
0
Puanları
0
pinkwall'un yaşadığı sıkıntı bendede var başta yapıyorum düzeliyo bir iki kişi üye olduktan sonra yine aynı hatayı veriyo. Bir sıkıntı var kodlarda sanırım
 

eko6321

OpenCart-TR
Katılım
22 Şub 2013
Mesajlar
1
Tepkime puanı
0
Puanları
0
modulunuz calismiyor sql yuklemesinda bir hata olusuyor ben opencart 1.5.5.1 versiyonu kullaniyorum
 

onurtan

OpenCart-TR
Katılım
3 Mar 2012
Mesajlar
222
Tepkime puanı
0
Puanları
0
Konum
Edirne
aldığınız hatayı yazmasınız yardımcı olamayız
 
Üst