İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

php aktivasyon e-mail gönderme kodları

kardesim

0
İyinet Üyesi
Katılım
6 Ocak 2011
Mesajlar
42
Reaction score
0
Merhaba arkadaşlar

Php ile login işlemlerinde ziyaretçilerim üye kayıtta e-mail aktivasyon linki gönderebilmek için gerekli kodları hepsini detaylıca yazabilirmisiniz?veya bu konuda hazır kodları indirebileceğim adres var mı?internetten ve bu siteden aradım bu konuda yeterli tam kodlarını bulamadım?yardımcı olurmusunuz?saygılar
 
E

Erturk

Misafir
kullandığınız sistem hazır bir sistem mi yoksa kendi yazdığınız birşey mi? Ona göre mantığını anlatabilirim.
 
E

Erturk

Misafir
Hazır kaynak kodlarını pek takip etmiyorum. Ama kendini yazacaksanız biraz mantık üretebilirim.

Kullanıcınız uye olurken buna bir kod atayın md5 li ve unique olan. Bunu veritabanına dogrulamakodu diye yazdırın. Daha sonra uye kayıdı yapınca mailine içinde bu kod olan bir link atın. Ornegin siteadi.com/aktivasyon.php?kod=a4e5d8c4sjHdf1d4w85 gibi birşey.

aktivasyon.php dosyanıza da gelen bu kod degerini süzdükten sonra aşağıdakine benzer bir kod kullanın.

$sor = mysql_query("select * from uyeler where dogrulamakodu='$kod'");

Bu sorgunun sonucu eger 1 e eşitse, yani bu koda ait bir kullanıcı varsa karşısına iki adet input çıkartın. Bunlar, Kullanıcı Adınız ve Dogrulama Kodunuz şeklinde olsun.

Girilen bilgiler eşleştiğinde o kullanıcıya ait sql satırında update yapıp dogrulamakodu isimli alanı ok (dogrulandı manasında) diye değiştirebilirsiniz.

Daha sonra kullanacagınız uye girişi kısımında kullanıcı dogru bilgiler ile girince durumunun onaylanıp onaylanmadıgını sorgulatıp ona gore ekrana bir yazı yazdırabilir ve dogrulama maili gitmediyse tekrar mail atabilecegınız bir link koyabilirsiniz.

Ha dilerseniz o linke tıklayınca direk sorgu sonunda da onaylayabilirsiniz...

Kolay gelsin.
 

DEVADAM

0
İyinet Üyesi
Katılım
25 Mayıs 2011
Mesajlar
14
Reaction score
0
aktivasyon tablosu oluşturuyorsun her işlemde tabloya veri kayıt edip geri dönüşlerde tablodan siliyorsun. üyeler tablosunada durum 1, 0 aktif pasif mantığı uyguluyorsun

Kod:
function DevAktivasyon($mail){
$dev= mysql_query("SELECT * FROM uyeler tablosu WHERE mail='" . $mail. "' and durum=0;");
// üye tablosunda durum alanı oluşturmamız lazım 0 ise pasif 1 ise aktif olsun ve fonksiyonumuzu tetiklerken durum şartını 0 yapalımki saçma işlemler dönmesin.

if($devadam= mysql_fetch_array($dev))
  {
// Mail adresine göndereceğimiz link için 3  aşamalı aktivasyon kodu oluşturuyoruz

$kod1=substr(md5(time() * rand()),0,90);		
$kod2=substr(md5(time() * rand()),0,5);
$kod3=substr(md5(time() * rand()),0,70);

//güvenli bir işlem için aktivasyon tablosu oluşturuyoruz ve üyelik talebinden sonra aktivasyon tablosuna veri kayıt ediyoruz
if(mysql_query("INSERT INTO aktivasyontablosu (mail,kod1,kod2,kod3)

VALUES ('" . $devadam['mail'] . "',". "'" . $kod1. "',". "'" . $kod2. "',". "'" . $kod3. "')")){

$message .= '<p><a href="siteadresi.com/gerigeldidiyelimsafyası.php?mail=' . $devadam['mail'] . '&kod1=' . $kod1. '&kod3=' . $kod3. '">Clik yapıver</a></p>';
// mail fonkisyonunu başlatıyoruz
if(Maille($devadam['mail'], $message, "Aktivasyon" )){
return true;		
}else{
return false;
}
}else{
return false;
}
}else{
return false;	 
}
return false;
}

gerigeldidiyelimsafyası.php
Kod:
$hata="";
$hata_kod1=0;

if(isset($_GET['mail']))
$mail= formatSQL($_GET['mail']); 
else
$mail="";

if(isset($_GET['kod1']))
$kod1= formatSQL($_GET['kod1']); 
else
$kod1="";

if(isset($_GET['kod3']))
$kod3= formatSQL($_GET['kod3']); 
else
$kod3="";

if($mail=="" || $kod1=="" || $kod3==""){
$hata="Parametrelerde hata var şekerim";
$hata_kod1=1;
}else{
$dev= mysql_query("SELECT * FROM aktivasyon tablosu WHERE mail='" . $mail. "' and kod1='" . $kod1. "' and kod3='" . $kod3. "';");
	 
if($devadam= mysql_fetch_array($dev))
{
// işlemde sorun yok ise durumu 1 leyip aktiflemiş oluyoruz
mysql_query("UPDATE uyeler tablosu SET durum=1 WHERE mail= '" . $mail. "';");
			
// güvenlik için aktivasyon tablosundan kaydımızı siliyoruz

mysql_query("delete from aktivasyon tablosu WHERE mail= '" . $mail. "';");
$hata="Tamamdır şekerim";
$hata_kod1=2;			
}else{
$hata="Beceremedin";
$hata_kod1=1;	  
}
}


Kod:
function maille($mail,$message_in,$subject)
{
try{

$headers = "From: " .  $GLOBALS['aktivasyon']  . "<" . $GLOBALS['maili'] . ">";
$headers .= "Content-type: text/html; charset=iso-8859-9";
if(mail($mail,$subject, $message_in, $headers)){		
return true;
}else{
return false;
}
		
}catch (Exception $e) {
 return false;
}
}
 

ozcetuy

0
İyinet Üyesi
Katılım
5 Şubat 2013
Mesajlar
2
Reaction score
0
Slam lar Arkadaşlar .Sitede üyelik formu oluşturdum.Üye olanlar oraya mail adreslerini yazdıkları takdir e-postalarına aktivasyon kodu göndermek istiyorum.
Ayrıca daha önce kayıt yapılmış mail adresi veya kullanıcı adı girdiklerinde hata versin ,ama nasıl olcak bilmiyorum.Bilgisi olan yardımcı olurlarsa çok sevinirim.
formu php myadminde yapıyorum bu arada
 

serjey

0
İyinet Üyesi
Katılım
1 Şubat 2013
Mesajlar
42
Reaction score
0
Konum
Kayseri
Slam lar Arkadaşlar .Sitede üyelik formu oluşturdum.Üye olanlar oraya mail adreslerini yazdıkları takdir e-postalarına aktivasyon kodu göndermek istiyorum.
Ayrıca daha önce kayıt yapılmış mail adresi veya kullanıcı adı girdiklerinde hata versin ,ama nasıl olcak bilmiyorum.Bilgisi olan yardımcı olurlarsa çok sevinirim.
formu php myadminde yapıyorum bu arada

1- PHPMailer adlı bir sınıf var, araştırabilirsin.
2- İkinci dediğiniz şu şekilde kodlarına entegre et. (verdiğim kodları kendine göre düzenle)

PHP:
<?php

## Form Bilgilerimizi Çekelim ##
$kadi = mysql_real_escape_string(strip_tags(trim($_POST['kadi'])));
$eposta = mysql_real_escape_string(strip_tags(trim($_POST['eposta'])));

## Boş Olup Olmadığını Kontrol Edelim ##
if(empty($kadi) || empty($eposta)){
	// boşsa hata verelim
	echo '<h1>Boş bırakılamaz!</h1>';
}else {
	
	## Sorgumuz ##
	$varmi = "SELECT * FROM uyeler WHERE uye_adi='$kadi' OR uye_eposta='$eposta'"; // burda uyeler tablosundaki formdan gelen bilgilerle eşleşen verileri seçtik
	$varmi_q = mysql_query($varmi); // daha sonra fonksiyonumuzu kullandık
	
	## Etkilenen Satır Olup Olmadığını Kontrol Ettik ##
	if(mysql_affected_rows($varmi_q)){
		// varsa hata verdik
		echo '<h1>Böyle bir kullanıcı adı veya e-posta mevcut!</h1>';
	}else {
		// yoksa dedik
		// kayıt işlemlerini burada yapabilirsin orasını sana bırakıyorum :)
	}
	
# serjey
	
}

?>
<h1>Üye Ol</h1>
<form action="" method="post">
<input type="text" name="kadi" /> <br />
<input type="text" name="eposta" /> <br />
<input type="submit" value="Üye Ol!" />
</form>

ya da şöyle bir alternatif var. İkisi de aynı kapıya çıkar. (hiçbir farkı yok) İstediğini kullan.

PHP:
<?php

## Form Bilgilerimizi Çekelim ##
$kadi = mysql_real_escape_string(strip_tags(trim($_POST['kadi'])));
$eposta = mysql_real_escape_string(strip_tags(trim($_POST['eposta'])));

## Boş Olup Olmadığını Kontrol Edelim ##
if(empty($kadi) || empty($eposta)){
	// boşsa hata verelim
	echo '<h1>Boş bırakılamaz!</h1>';
}else {
	
	## Sorgumuz ##
	$varmi = "SELECT * FROM uyeler WHERE uye_adi='$kadi' OR uye_eposta='$eposta'"; // burda uyeler tablosundaki formdan gelen bilgilerle eşleşen verileri seçtik
	$varmi_q = mysql_query($varmi); // daha sonra fonksiyonumuzu kullandık
	$saydir = mysql_num_rows($varmi_q); // kaç satır sonuç var onu saydırdık
	
	## Etkilenen Satır Olup Olmadığını Kontrol Ettik ##
	// saydir 0'dan büyükse dedik yani böyle bir kullanıcı varsa..
	if($saydir > 0){
		// varsa hata verelim
		echo '<h1>Böyle bir kullanıcı adı veya e-posta mevcut!</h1>';
	}else {
		// yoksa dedik
		// kayıt işlemlerini burada yapabilirsin orasını sana bırakıyorum :)
	}
	
# serjey
	
}

?>
<h1>Üye Ol</h1>
<form action="" method="post">
<input type="text" name="kadi" /> <br />
<input type="text" name="eposta" /> <br />
<input type="submit" value="Üye Ol!" />
</form>

Haydi kolay gelsin :)
 

barmen_1982

0
İyinet Üyesi
Katılım
5 Ocak 2013
Mesajlar
6
Reaction score
0
aktivasyon tablosu oluşturuyorsun her işlemde tabloya veri kayıt edip geri dönüşlerde tablodan siliyorsun. üyeler tablosunada durum 1, 0 aktif pasif mantığı uyguluyorsun

Kod:
function DevAktivasyon($mail){
$dev= mysql_query("SELECT * FROM uyeler tablosu WHERE mail='" . $mail. "' and durum=0;");
// üye tablosunda durum alanı oluşturmamız lazım 0 ise pasif 1 ise aktif olsun ve fonksiyonumuzu tetiklerken durum şartını 0 yapalımki saçma işlemler dönmesin.

if($devadam= mysql_fetch_array($dev))
  {
// Mail adresine göndereceğimiz link için 3  aşamalı aktivasyon kodu oluşturuyoruz

$kod1=substr(md5(time() * rand()),0,90);		
$kod2=substr(md5(time() * rand()),0,5);
$kod3=substr(md5(time() * rand()),0,70);

//güvenli bir işlem için aktivasyon tablosu oluşturuyoruz ve üyelik talebinden sonra aktivasyon tablosuna veri kayıt ediyoruz
if(mysql_query("INSERT INTO aktivasyontablosu (mail,kod1,kod2,kod3)

VALUES ('" . $devadam['mail'] . "',". "'" . $kod1. "',". "'" . $kod2. "',". "'" . $kod3. "')")){

$message .= '<p><a href="siteadresi.com/gerigeldidiyelimsafyası.php?mail=' . $devadam['mail'] . '&kod1=' . $kod1. '&kod3=' . $kod3. '">Clik yapıver</a></p>';
// mail fonkisyonunu başlatıyoruz
if(Maille($devadam['mail'], $message, "Aktivasyon" )){
return true;		
}else{
return false;
}
}else{
return false;
}
}else{
return false;	 
}
return false;
}

gerigeldidiyelimsafyası.php
Kod:
$hata="";
$hata_kod1=0;

if(isset($_GET['mail']))
$mail= formatSQL($_GET['mail']); 
else
$mail="";

if(isset($_GET['kod1']))
$kod1= formatSQL($_GET['kod1']); 
else
$kod1="";

if(isset($_GET['kod3']))
$kod3= formatSQL($_GET['kod3']); 
else
$kod3="";

if($mail=="" || $kod1=="" || $kod3==""){
$hata="Parametrelerde hata var şekerim";
$hata_kod1=1;
}else{
$dev= mysql_query("SELECT * FROM aktivasyon tablosu WHERE mail='" . $mail. "' and kod1='" . $kod1. "' and kod3='" . $kod3. "';");
	 
if($devadam= mysql_fetch_array($dev))
{
// işlemde sorun yok ise durumu 1 leyip aktiflemiş oluyoruz
mysql_query("UPDATE uyeler tablosu SET durum=1 WHERE mail= '" . $mail. "';");
			
// güvenlik için aktivasyon tablosundan kaydımızı siliyoruz

mysql_query("delete from aktivasyon tablosu WHERE mail= '" . $mail. "';");
$hata="Tamamdır şekerim";
$hata_kod1=2;			
}else{
$hata="Beceremedin";
$hata_kod1=1;	  
}
}


Kod:
function maille($mail,$message_in,$subject)
{
try{

$headers = "From: " .  $GLOBALS['aktivasyon']  . "<" . $GLOBALS['maili'] . ">";
$headers .= "Content-type: text/html; charset=iso-8859-9";
if(mail($mail,$subject, $message_in, $headers)){		
return true;
}else{
return false;
}
		
}catch (Exception $e) {
 return false;
}
}

Güzel anlatım olmuş ama bu fonksiyonu nasıl kullanacağız. Ben bir çok yol denedim ama üye kaydını veri tabanına ekledikten sonra bu fonksiyonu çalıştıramadım.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst