• 1 رای - 3 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
2 نام در یک فیلد
#1
سلام .چه طور میشه در هنگام ثبت نام جلوگیری کرد از ورود 2 نام مشابه (یا ایمیل مشابه ) به دیتابیس؟؟
  پاسخ
تشکر شده توسط :
#2
اولش حتما این فیلد رو منحصر به فرد قرار بدید
بعد با یه select که شرطش این باشه که اون فیلد برار با مقدار ورودی کاربر اباشه اگر این مقدار وجود داشت یعنی کاربر وجود داره
  پاسخ
تشکر شده توسط :
#3
درود و ممنون از جواب من متوجه "اولش حتما این فیلد رو منحصر به فرد قرار بدید" نشدم!
برای خط دوم هم اینو نموشتم:
کد پی‌اچ‌پی:
$numsql="SELECT * FROM register WHERE('rname'='$user' OR 'email'='$mail'";
$qur=@mysql_query($numsql);    
$num=@mysql_fetch_assoc($qur); //or die(Nonum.mysql_error());
//print($num);
if($num['rname']==$user)
{
header("LOCATION:register1.php?have=false");
exit;

ولی عمل نمیکنه
  پاسخ
تشکر شده توسط :
#4
فكر كنم بايد اينطور باشه
کد پی‌اچ‌پی:
$numsql="SELECT * FROM register WHERE('rname'='$user' OR 'email'='$mail'";
$qur=@mysql_query($numsql);    
$num=@mysql_fetch_assoc($qur); //or die(Nonum.mysql_error());
//print($num);
if($num['rname']==$user or $num['email']==$mail)
{
header("LOCATION:register1.php?have=false");
exit;


در مورد اولي هم index اون فيلدها رو unique بزار
  پاسخ
تشکر شده توسط :
#5
درود و ممنون از جواب .دقیقا همین کد عمل نمیکنه
البته من وقتی فیلدهام رو تو easyphp می سازم تمام فیلدهام unique میشه
  پاسخ
تشکر شده توسط :
#6
کد پی‌اچ‌پی:
<?php
        $dblink 
mysql_connect($dbhost$dbuser$dbpass$dbname);
        
$query mysql_query("select * from user where user_name ='".$username."'");
        
$numrow mysql_num_rows($query);
        
        if(!empty(
$_POST['username']))
        {
            if(
$numrow != 0)
            {
            
$error['user_exist'] = "این نام کاربری پیش تر ثبت شده است.";
            }
        }
?>
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط : scooter
#7
درود و ممنون از جوابتون
به راحتی آب خوردن نام تکراری رو تو دیتابیس ثبت می کنه
من روشهای زیادی رو استفاده کردم حتی همین روشی که وحید گفت رو هم امتحان کردم ولی ....
--------------------------------------------------------------
الان وقتی mysql_error رو به mysql_fetch_assoc اضافه کردم این ارور رو می ده
Notice: Use of undefined constant Nonum - assumed 'Nonum' in d:\easyphp1-8\www\rayedesq\admin\regtodb.php on line 36
  پاسخ
تشکر شده توسط :
#8
فیلد مورد نظر رو کلید تعریف کنید
  پاسخ
تشکر شده توسط :
#9
می شه کدت رو اینجا بزاری با ساختار پایگاه داده ات تا بررسی کنیم؟
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط :
#10
کد در پست شماره 3 هست
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان