Uzman Cevap beta aşamasından çıkmaya hazırlanıyor! Yenilikleri takipte kalın.
Çözüldü! Bu soru aradığı cevabı buldu :) Teşekkürler iyi niyetli insanlar!

PHP Üye Referans Yapımı Nasıl Olur ?

Merhaba Arkadaşlar.

Üye olurken kullanıcılara birer referans kodu vermek istiyorum. Bunun mantığını veya nasıl yapılır örneklermisiniz.

istediğim şey kısaca şöyle olacak kayit.php?ref=653265
Cevaplar (5)
1
OZAN
Öğrenci
2 ay önce
İlk kayıt olurken üye olacak kişiye random bir referans kodu belirtirsin, her üye farklı koda sahip olur. Daha sonra üye profilinde referans linkiniz diye linki belirtirsin. Bu linke tıklayıp üye olan kişileri kontrol edip bundan sonraki kısmıda nasıl bir sistem kuracağın ile bağdaştırabilirsin.
1
üyeler tablobda ref_link ve ref_olan diye 2 stun oluştur. ref_link üyeye atıycağın random sayılar harfler. ref_olan sana referans olan kişi. kayıt sayfasındaki formu kopyala ve if ile ikiye böl.

$ref = @$_GET['ref'];
if($ref){
// refli kayıt formun
// sadece forma şu inputu ekle

<input type="hidden" name="ref" value="<?= $ref; ?>">

}else{
// normal kayıt formun
}


daha sonra bunu ref_olan kısmına post et

ref_olan bölümünden ref_link e göre arama yaratırsan o kişinin toplam referans sayısını bulursun

select * from ref_olan = {$ref}

şeklinde

kolay gelsin
0
@Alihan Öztürk Öncelikle cevabın için teşkkür ederim. Mantığı Anladım. Fakat PHP'de biraz yeni olduğum için yapamadım.
Şöyle yapmaya çalıştım galiba ben beceremedim mevcut kayıt formumun üstüne senin dediğin gibi if get değerini aldım reften gelmişse orası else ilede kendi normal postumu çalıştırdım fakat 2 tane kayıt formu oluştu.

bir ikinci sorun ise rand fonksiyonunu nasıl kullanacağım ve kayit.php?ref=45454 nasıl olacak işin içinden çıkamadım.
0
tabiki arkadaşım anlatayım hemen, yakın zamanda yaptım zaten buna benzer bir sistem. önce sana mantığı detaylıca anlatayım sen sql tablolarını ona göre bi düzenle.

şimdi uyeler tablomuz var bilgilerin çekildiği. bu tabloya 2 stun daha ekliyoruz. ref_link ve ref olan. bunlar senin referans linkin ile sana referans olan kişiyi gösterir. ister id sini tutarsın ister kullanıcı adını sana kalmış. bu stunlar tamam şimdi sıra kayıt işlemlerinde.

şimdi senin normal bir kayıt olma formun var. kulanıcı bilgileri girerek kayıt ol butonuna basıyor. şimdi o kısmı sil ordan (yedekle tabi). boş sayfamıza şunları yazıyoruz.


$ref = @$_GET['ref']; // bu sana referans olan kişinin referans linki olacak. başına @ koyduk çünkü sadece kayit.php?ref=xxxx linkine tıklayanlar için burası. diğerleri için olmayacak. böylece hata vermesini engelledik.

if($ref >1 ){
// şimdi sen profiline girip referans linki aldın ve bana verdin. bende ona tıklayıp kayıt oluyorum. burda şunu yapıyoruz.

if($_POST){

$kadi = $_POST['kadi'];
$sifre = $_POST['kadi'];
$refol = $_POST['ref'];
$ref_me = rand(0,999);
// fazla detaya girmiyorum burada fakat bunun benzersiz olmasını sağla array falan ekle ve if komutu ile kontrol et

$query = $db->prepare("INSERT INTO uyeler SET
uye_kadi = ?,
uye_sifre = ?,
ref_link= ?,
ref_olan
");
$insert = $query->execute(array(
     "$kadi", "$sifre", "$ref_me", "$refol"
));
if ( $insert ){
    $last_id = $db->lastInsertId();
    print "insert işlemi başarılı!";
}

}else{
?>
<form action="" method="POST">
<input type="text" name="kadi" placeholder="Kullanıcı Adı:"><br/>
<input type="password" name="sifre" placeholder="Şifre:"><br/>


<!-- burası lazım olan kısım -->
<input type="hidden" name= "ref"value="<?= $ref ?>">
<!- bu form elemanı sayesinde senin referans linkin benim ref_olan bölümüme kaydolucak. -->
<input type="submit" value="Kayıt">
</form>
<?php
}
}else{
// buraya da eski kayıt formunu aynı şekilde kullan, tek farkı referans linkini tutan input du onuda yukarda kontrolleriyle hallettik
}



umarım işini görür. eğer çalışmazsa ya da başka bi hata alırasn buraya hata mesajını bastır, gördüğümde dönüş yaparım
0
@Alihan Öztürk İlginiz için Çok Saolun. Şimdi ben kendi kayıt kodlarımı kaldırdım ve sizinki ile kayıt yaptırmaya çalıştım gereken yerleri düzenledim. Fakat kayıt hiç olmadı.
Aşağıda kullandığım kodların tamamı bu şekildedir.

<?php

$ref = @$_GET['ref']; // bu sana referans olan kişinin referans linki olacak. başına @ koyduk çünkü sadece kayit.php?ref=xxxx linkine tıklayanlar için burası. diğerleri için olmayacak. böylece hata vermesini engelledik.

if($ref >1 ){
// şimdi sen profiline girip referans linki aldın ve bana verdin. bende ona tıklayıp kayıt oluyorum. burda şunu yapıyoruz.

if($_POST){


$uye_adsoyad = $_POST['uye_adsoyad'];
$uye_kadi = $_POST['uye_kadi'];
$uye_sifre = $_POST['uye_sifre'];
$uye_email = $_POST['uye_email'];
$refol = $_POST['ref'];
$ref_me = rand(0,999);
// fazla detaya girmiyorum burada fakat bunun benzersiz olmasını sağla array falan ekle ve if komutu ile kontrol et

$query = $db->prepare("INSERT INTO uyeler SET
uye_adsoyad = ?,
uye_kadi = ?,
uye_sifre = ?,
uye_email = ?,
ref_link= ?,
ref_olan
");
$insert = $query->execute(array(
"uye_adsoyad", "$uye_kadi", "$uye_sifre", "uye_email", "$ref_me", "$refol"
));
if ( $insert ){
$last_id = $db->lastInsertId();
print "insert işlemi başarılı!";
}

}else{
?>
<form action="" method="POST">
<input type="text" name="kadi" placeholder="Kullanıcı Adı:"><br/>
<input type="password" name="sifre" placeholder="Şifre:"><br/>


<!-- burası lazım olan kısım -->
<input type="hidden" name= "ref"value="<?= $ref ?>">
<!-- bu form elemanı sayesinde senin referans linkin benim ref_olan bölümüme kaydolucak. -->
<input type="submit" value="Kayıt">
</form>
<?php
}
}else{ ?>
<!-- buraya da eski kayıt formunu aynı şekilde kullan, tek farkı referans linkini tutan input du onuda yukarda
kontrolleriyle hallettik -->

<!-- Newsletter start here -->
<div class="clearfix cnt-wrap">
<form name="kayitol" action="" method="post">
<div id="result"></div>
<div class="col-lg-5 col-md-6 col-sm-12 col-xs-12 columns">
<input type="text" placeholder="Ad Soyad" name="uye_adsoyad" value="" required>
</div>
<div class="col-lg-5 col-md-6 col-sm-12 col-xs-12 columns">
<input type="text" placeholder="Kullanıcı Adı" name="uye_kadi" value="" minlength="4" maxlength="20" required>
</div>
<div class="col-lg-5 col-md-6 col-sm-12 col-xs-12 columns">
<input type="password" placeholder="Şifre" name="uye_sifre" value="" minlength="6" maxlength="50" required>
</div>
<div class="col-lg-5 col-md-6 col-sm-12 col-xs-12 columns">
<input type="email" placeholder="Email" name="uye_email" value="" maxlength="100" required>
</div>
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 text-center columns">
<input type="submit" name="kayitol" class="btn btn-danger btn-lg" value="KAYIT OL">
</div>
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 text-center columns">
<a <button href="Giris.php" class="btn btn-success btn-lg" type="submit">Giriş Yap</button></a>
</div>
</form>
</div>
<!-- Newsletter end here -->

<?php }

?>
Cevap Yazın..

[code=css,php,sql,asp..]..kod..[/code] , [url=http:...com] , [img=resim linki]
[color=renk kodu]..yazı..[/color]

yabancı dizi izle tv ünitesi