• 1 رای - 3 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
جلوگیری از ثبت مجدد یک مقدار به جدول
#1
سلام دوستان،

با نوشتن چه کدی می تونم از وارد کردن یک مقدار مشابه به جدول جلوگیری کنم؟
منظور دقیق من: میخوام یک کدی بنویسم که اون متنی یا هرچی که کاربر میخواد به جدول وارد کنه اول بررسی بشه اگه مشابه اون وجود داشت بگه که وجود دارد!
کدی که میخوام بهش این دستور رو اضافه کنم در زیر آوردم:

کد پی‌اچ‌پی:
if (isset($_POST['word']))
    {
        
$word $_POST['word'];
        
$filter "[a-zA-Z]";
        if(
eregi($filter$word)) 
        {
            
$sql mysql_query("INSERT INTO `filtering` (`Words`) VALUES ('$word')") or die(mysql_error());
        }
        else
        {
            echo(
'not text');
        }
    } 
غایب
  پاسخ
تشکر شده توسط :
#2
مشابه اون یا دقیقاً همون؟؟

اگه دقیقا همون باشه باید سلکت کنی از پایگاه داده
مقدار where رو برابر با همونی که می خوای مثلش نباشه وارد کن

بعد اگه وجود داشت که خطا نشون بده
اگه نداشت کوئری اجرا بشه
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط : cyletech
#3
محمد آقا می تونی مثال php بزنی؟
غایب
  پاسخ
تشکر شده توسط :
#4
کد پی‌اچ‌پی:
if(isset($_POST['tfemail']))
    {
        
$result mysql_query("select * from user where user_email ='".$email."'");
        
$emailrow mysql_num_rows($result);
        if(
$emailrow != 0)
        {
            
//echo "شما با این نشانی قبلا ثبت نام کرده اید.";
        
}
        else
        {
            
//درج در پايگاه داده
        
}
    } 
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط : cyletech
#5
ممنونم محمد جان درست شد Heart - در مورد
کد پی‌اچ‌پی:
mysql_num_rows($variable
توضیح میدی؟

اگه در مورد این خط زیر هم توضیحی بدی ممنون میشم:

کد پی‌اچ‌پی:
if($emailrow != 0

بعد چرا 0 ؟ من راستش با این اعداد مشکل دارم خیلی جاها دیدم نوشتن اگه برابر 1 شد و اگه برابر 0 شد و ... . میشه در مورد این هم توضیح بدی؟
غایب
  پاسخ
تشکر شده توسط :
#6
ببین کوئری رو که ساختی:
کد پی‌اچ‌پی:
$result mysql_query("select * from user where user_email ='".$email."'"); 

حالا پاسخ دیتابیس رو ریختی توی result$

برای این تابع یعنی mysql_num_rows اینجا رو بخون:
http://ir.php.net/mysql_num_rows
تعداد سطر هایی رو که کوئری برمی گردونه نمایش می ده

حالا ما تعداد سطرها رو ریختیم توی emailrow$
بعد می گیم اگه مخالف صفر بود(یعنی هیچ سطری با این آدرس ایمیل که گذاشتیم در دیتابیس موجود نبود، پس اطلاعات رو وارد کن
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط : cyletech
#7
(۱۳۸۸ فروردین ۱۱, ۱۱:۳۳ ق.ظ).v0id نوشته: ممنونم محمد جان درست شد Heart - در مورد
کد پی‌اچ‌پی:
mysql_num_rows($variable
توضیح میدی؟

اگه در مورد این خط زیر هم توضیحی بدی ممنون میشم:

کد پی‌اچ‌پی:
if($emailrow != 0

بعد چرا 0 ؟ من راستش با این اعداد مشکل دارم خیلی جاها دیدم نوشتن اگه برابر 1 شد و اگه برابر 0 شد و ... . میشه در مورد این هم توضیح بدی؟

البته این تابع فقط برای select و show بکار میره.

برای بدست آوردن تعداد رکوردهای تحت تأثیر هم برای select insert update delete replace از mysql_affected_rows استفاده کن.
  پاسخ
تشکر شده توسط : molana cyletech


پرش به انجمن:


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