<?php
@include "baglan.php";
if(isset($_POST['git'])){
//postları çek
$ad=strip_tags($_POST['ad']);
$dizi=strip_tags($_POST['dizi']);
$eposta=strip_tags($_POST['eposta']);
$telefon=strip_tags($_POST['telefon']);
}
//postları çek
$varmiii=mysql_query("SELECT * FROM `uyelik` WHERE `telefon` LIKE '$telefon'");
while($yazzz = mysql_fetch_array($varmiii)){
$tlf = $yazzz['telefon'];
echo $tlf;
}
//verileri kontrol et
if( empty($ad) || empty($dizi) || empty($eposta) || empty($telefon) and !eregi ("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}$", $eposta) and $tlf==$telefon )
{ echo "Girdiginiz bilgilerde yanlislik var";}
//verileri kontrol et
else {
$onay=0; //Aktivasyon olduğunda bunu 1 yapıcan
$kullanim= rand(10000,99999);
//verileri db'ye ekle
$tablo = "INSERT INTO uyelik VALUES ('','$ad', '$dizi', '$eposta', '$telefon', '$onay', '$kullanim')";
if ( @mysql_query($tablo)) {
echo "üyeliginiz basariyla olusturuldu, aktif etmek icin emailinizdeki aktivasyon linkine tiklayin!";
//verileri db'ye ekle
}
}
?>kullandıgım kod bu, email yerini çıkardım. eğer sistemde böyle bir telefon kayıtlıysa tekrar işlemi yapmaması için if in içine $tlf==$telefon ekledim ama çalısmıyor
Arkadaşım mantiken yanlış yapmışsın. Önce post var mı diye kontrol edip sonra veritabanından bakacaksın o numara var mı diye.
Şu şekilde değiştirip dene kodlarını:
if(isset($_POST['git'])){
//postları çek
$ad=strip_tags($_POST['ad']);
$dizi=strip_tags($_POST['dizi']);
$eposta=strip_tags($_POST['eposta']);
$telefon=strip_tags($_POST['telefon']);
}
if( empty($ad) || empty($dizi) || empty($eposta) || empty($telefon)){
echo 'Bilgileri Tam giriniz';
exit;
}
//kontrol et
$varmi = mysql_query('SELECT count(*) as say FROM uyelik WHERE telefon LIKE "%'.$telefon.'%"');
$yaz = mysql_fetch_array($varmi);
if($yaz['say'] > 0){
echo 'Bu numara zaten kayıtlı';
exit;
}else{
$onay=0;//Aktivasyon olduğunda bunu 1 yapıcan
$kullanim= rand(10000,99999);
//verileri db'ye ekle
$tablo = "INSERT INTO uyelik VALUES ('','$ad', '$dizi', '$eposta', '$telefon', '$onay', '$kullanim')";
if(@mysql_query($tablo)) {
echo "üyeliginiz basariyla olusturuldu, aktif etmek icin emailinizdeki aktivasyon linkine tiklayin!";
}
}Tabi burada sadece strip_tags yetmez kontrol için, gelen verileri escape yapman telefon için numara mı diye kontrol etmen vs. gerekli. Ayrıca telefon alanı için 10 haneli bir alan açıp 10 hane olarak yazdırırsan like yerine direk = ile kontrol edersin, ki o şekilde yapman daha iyidir.