Kayıt ol!             
Şifremi unuttum ?
   

  

Tarih: 2006-05-05 01:17
Yazar: Darx
Gönderen: Darx  
Karakter Boyutu:  
Etiket: web hesabinin e posta ile onaylanmasi islemi
Oylamalar:
Yorumlar:   (0)






Konu: Web hesabinin e-posta ile onaylanmasi islemi

PHP Yazar: Serkan Hadi Ceylani

Tarih: 07/13/04

Türkiyenın Php amiral gemisi www.turk-php.com

///////////////////////////Start\\\\\\\\\\\\\\\\
1.MySQL Veritabani icin tablo yapisini asagidaki sekilde hazirlayiniz:

SQL:
/* tablo.sql */ CREATE TABLE kullanicilar ( eposta VARCHAR(255) NOT NULL, yaratilma_tarihi DATETIME NOT NULL, dogrulama_ifadesi VARCHAR(16) NOT NULL, onaylandi TINYINT UNSIGNED );
2.Asagidaki basit akis semasini kullanarak rastgele ifadeyi olusturup kullaniciya
e-posta ile gonderiniz: (Program anlatima yonelik oldugu icin butunsel
degildir.Veritabani icin bazi ek kodlamalar gerekebilir...)

///hazırlanıyor (gonder.php)
gonder.php
PHP:
Kod:
<?php
  // Rastgele bir karekter gurubu uretelim
 
  $dosgrulama_ifadesi = '';
 
  for ($i = 0; $i < 16; $i++) {
 
  $dogrulama_ifadesi .= chr(mt_rand(32,126));
 
  }
 
 
  // Kullaniciyi ekle
 
  if (! mysql_query("INSERT INTO kullanicilar (eposta,yaratilma_tarihi,dogrulama_ifadesi,onaylandi)
 
 
  VALUES ('".addslashes($eposta)."',NOW(),'".addslashes($dogrulama_ifadesi)."',0)")) {
 
  error_log("Bu kullaniciyi ekleyemiyorum: ".mysql_error());
 
  exit;
 
  }
 
 
  $dogrulama_ifadesi = urlencode($dogrulama_ifadesi);
 
  $guvenli_eposta = urlencode($eposta);
 
 
  $url = "http://www.turk-php.com/onayla.php";
 
 
  $eposta_govdesi=<<<_EPOSTA_
 
  Merhaba $eposta:
 
 
  Hesabinizi aktif hale getirmek icin asagidaki linke tiklayiniz:
 
 
  $url?eposta=$guvenli_eposta&dogrulama_ifadesi=$dogrulama_ifadesi
 
 
  Yedi gun icinde aktif hale getirilmeyen hesaplar sistemden silinir...
 
  _EPOSTA_;
 
 
  mail($eposta,"Hesabin aktif hale gecirilmesi",$eposta_govdesi);
?>


3.Simdi linkte tiklandiginda hesabi aktif hale gecirecek kodu yazalim:

onayla.php

PHP:

Kod:
<?php
 
  $guvenli_eposta = addslashes($_REQUEST['eposta']);
 
  $guvenli_dogrulama_ifadesi = addslashes($_REQUEST['dogrulama_ifadesi']);
 
 
  if ($r = mysql_query("UPDATE kullanicilar SET onaylandi = 1 WHERE eposta
 
  LIKE '$guvenli_eposta' AND
 
  dogrulama_ifadesi = '$guvenli_dogrulama_ifadesi' AND onaylandi = 0")) {
 
  if (mysql_affected_rows() == 1) {
 
  print "Tessekkurler hesabiniz onaylandi.";
 
  } else {
 
  print "Ozur dilerim,hesabinizin onaylanmasinda bir problem var.";
 
  }
 
  } else {
 
  print "Veritabani Hatasi:Lutfen daha sonra tekrar deneyiniz...";
 
  }
?>

4.Verilen zaman dilimi icin, aktif hale gecirilmemis hesaplarin silinmesi:

sil.php
PHP:
Kod:
<?php
 
  $zaman_araligi = 7; // Yedi gun
 
 
  if ($r = mysql_query("DELETE FROM kullanicilar WHERE onaylandi = 0 AND
 
  yaratilma_tarihi < DATE_SUB(NOW(),INTERVAL $zaman_araligi DAY)")) {
 
  if ($silinen_kullanicilar = mysql_affected_rows()) {
 
  print "Silinen kullanicilar $silinen_kullanicilar kullanici.n";
 
  }
 
  } else {
 
  print "Kullanici silinemiyor: ".mysql_error();
 
  }
?>



Yazar : Serkan Hadi Ceylani

( U-S ) Yayınlayan ; Efe Edip Ceylani

Türkiyenın Php amiral gemisi www.turk-php.com

Yayın Tarihi 09/25/04



Henüz yorum yapılmamıştır.

İlgili Sayfalar:

SayfalarGönderen
Cgi kullanan bir web account sistemiLucretius
WebmodLucretius
free web hostingburaks122
Smyrna Web Account Sistemi [ASP]Massimo
Web hesabinin e-posta ile onaylanmasi islemiDarx
  Online:
  62 site üyesi, 204 misafir
    toplam 266 kişi  
Giris sayfan olarak ayarla Sik Kullanilanlara Ekle Yenile Burdan bize ulasabilirsiniz

 
ANASAYFA | FORUMLAR | DÖKÜMANLAR | DOSYALAR | SCRIPTLER | SUNUCULAR | İLETİŞİM
Copyright (c) 2004-09 Ultima-Strike. All rights reserved.
Tasarım / Programlama: Uğur GÖK

Sistem Yapısı Seditio
Sayfa açılma süresi 0.217 sn.
SQL toplam zamanı: 0.086 sn. - SQL sorgusu: 82 - Ortalama SQL zamanı: 0.00105 sn.
Hosting Hizmetleri