/
  • جلوگیری از وارد کردن مجدد یک مقدار به جدول

  • ارسال پاسخ   امتیاز موضوع:
    • 1 رأی - میانگین امیتازات: 3
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی جلوگیری از وارد کردن مجدد یک مقدار به جدول
    نویسنده پیام
    cyletech غایب
    علیرضا اسکندرپور شوفری
    *****

    ارسال‌ها: 2,243
    تاریخ عضویت: ۱۳۸۸ فروردين ۸
    اعتبار: 42
    تشکرها : 1258
    ( 2239 تشکر در 1089 ارسال )
    ارسال: #1
    جلوگیری از وارد کردن مجدد یک مقدار به جدول
    سلام دوستان،

    من تو سوالات قبلی و راهنمایی های شما عزیزان تونستم کاری کنم که اطلاعات وارد query مشخص شده بشه اما یک چیزی که مهم هست اینه که:
    حالا چیکار کنم وقتی که چیزی در اون فرم وارد نشده بود دیگه آپدیت نکنه اون query رو! آخه الان با کد زیر وقتی که چیزی هم در فیلد Name وارد نکنی query رو آپدیت می کنه و این باعث میشه که اگه مقداری در اون فیلد بود دیگه نباشه!

    کد PHP:
    if (isset($_POST['do'])) {

    if (!
    $_POST['old_username']) if (!$_POST['old_password'])
    $error "<p align=\"center\">Please fill your current fields.</p>";
    if (
    $_POST['new_password'] != $_POST['confirm_password']) $error "Passwords do not match.";

    if (
    $error == "") {
    $password $_POST['password'];
    $username $_POST['username'];
    $name $_POST['name'];
    $location $_POST['location'];
    $email $_POST['email'];

    mysql_query("UPDATE `users` SET `Value`='$new_password' WHERE `Name`='admin_password'") or die(mysql_error());
    mysql_query("UPDATE `users` SET `Value`='$new_username' WHERE `Name`='admin_username'") or die(mysql_error());
    mysql_query("UPDATE `users` SET `Value`='$location' WHERE `Name`='admin_location'") or die(mysql_error());
    mysql_query("UPDATE `users` SET `Value`='$email' WHERE `Name`='admin_email'") or die(mysql_error());
    mysql_query("UPDATE `users` SET `Value`='$name' WHERE `Name`='admin_name'") or die(mysql_error());
    echo
    "<b>Login details have been changed.</b>";
    }else{
    echo
    "<b>$error</b>";
    }



    موفق باشید ... Angel
    ۱۳۸۸ فروردين ۱۰ ۰۹:۵۰ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    molana آفلاین
    چالیست - chalist
    *******

    ارسال‌ها: 1,772
    تاریخ عضویت: ۱۳۸۷ آذر ۳۰
    اعتبار: 60
    تشکرها : 1644
    ( 1550 تشکر در 1015 ارسال )
    ارسال: #2
    RE: جلوگیری از وارد کردن مجدد یک مقدار به جدول
    اول اینکه کوئریت اشتباهه
    می تونی با یه کوئری چن تا فیلد رو آپدیت کنی:
    http://www.w3schools.com/sql/sql_update.asp

    ثانیا:
    چک کن اگه تکست فیلد مثلا 1 isset شده باشه کوئری ها اجرا بشه

    ثالثا :
    باید آی دی اون ردیف رو که می خوای آپدیت کنی وارد کنی
    بنابراین قبل از آپدیت چک کن که چنین آیدی در پایگاه داده وجود داره یا نه
    اگه داشت آپدیت کنه
    __________________________________________________________________________
    همه جوره اش رو داریم ظاهرن
    ۱۳۸۸ فروردين ۱۰ ۱۱:۲۷ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    cyletech غایب
    علیرضا اسکندرپور شوفری
    *****

    ارسال‌ها: 2,243
    تاریخ عضویت: ۱۳۸۸ فروردين ۸
    اعتبار: 42
    تشکرها : 1258
    ( 2239 تشکر در 1089 ارسال )
    ارسال: #3
    RE: جلوگیری از وارد کردن مجدد یک مقدار به جدول
    محمد آقا می تونی مثال php بزنی؟
    ۱۳۸۸ فروردين ۱۱ ۰۸:۵۷ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    molana آفلاین
    چالیست - chalist
    *******

    ارسال‌ها: 1,772
    تاریخ عضویت: ۱۳۸۷ آذر ۳۰
    اعتبار: 60
    تشکرها : 1644
    ( 1550 تشکر در 1015 ارسال )
    ارسال: #4
    RE: جلوگیری از وارد کردن مجدد یک مقدار به جدول
    برای کوئری می تونی اینجوری عمل کنی :
    کد PHP:
    $sql 'UPDATE `tbl_post` SET 
    post_text` = \'2\',
    `post_username` = \'2\',
    `post_title` = \'2\',
    `post_userid` = \'2\',
    `post_date` = \'2009-03-18\',
    `post_type` = \'2\'
    WHERE `post_id` = 1 LIMIT 1;'


    به جای 2 از داده های خودت استفاده کن
    __________________________________________________________________________
    همه جوره اش رو داریم ظاهرن
    (آخرین ویرایش در این ارسال: ۱۳۸۸ فروردين ۱۱ ۰۹:۵۱ صبح، توسط molana.)
    ۱۳۸۸ فروردين ۱۱ ۰۹:۴۹ صبح
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : cyletech
    cyletech غایب
    علیرضا اسکندرپور شوفری
    *****

    ارسال‌ها: 2,243
    تاریخ عضویت: ۱۳۸۸ فروردين ۸
    اعتبار: 42
    تشکرها : 1258
    ( 2239 تشکر در 1089 ارسال )
    ارسال: #5
    RE: جلوگیری از وارد کردن مجدد یک مقدار به جدول
    محمد جان فکر کنم این چیزی باشه که من میخوام جز آخرین خط:

    کد PHP:
    1 LIMIT 1

    اگه میشه در مورد کد بالا توضیح بده و کارش رو دقیق برام مشخص کن اگه امکانش هست. Blush
    ۱۳۸۸ فروردين ۱۱ ۱۲:۲۷ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    molana آفلاین
    چالیست - chalist
    *******

    ارسال‌ها: 1,772
    تاریخ عضویت: ۱۳۸۷ آذر ۳۰
    اعتبار: 60
    تشکرها : 1644
    ( 1550 تشکر در 1015 ارسال )
    ارسال: #6
    RE: جلوگیری از وارد کردن مجدد یک مقدار به جدول
    کد PHP:
    WHERE `post_id` = 1 LIMIT 1;'; 

    اینجا میگیم که اونجایی رو آپدیت کن که آی دی سطر برابر با یکه

    در واقع شما باید آی دی هر سطر رو وارد کنید.

    limit 1 رو نزارین هم کار می کنه
    درواقه می گه فقط یکی رو آپدیت کن

    اگه چن تا آی دی داشته باشه که یکی باشن مثلا 10 آی دی 1 داشته باشی و اینو بزاری آخرش فقط آخری رو آپدیت می کنه ولی اگه نزاری کلا هر 10 تا رو آپدیت می کنه.
    __________________________________________________________________________
    همه جوره اش رو داریم ظاهرن
    ۱۳۸۸ فروردين ۱۱ ۰۱:۴۶ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : cyletech
    cyletech غایب
    علیرضا اسکندرپور شوفری
    *****

    ارسال‌ها: 2,243
    تاریخ عضویت: ۱۳۸۸ فروردين ۸
    اعتبار: 42
    تشکرها : 1258
    ( 2239 تشکر در 1089 ارسال )
    ارسال: #7
    RE: جلوگیری از وارد کردن مجدد یک مقدار به جدول
    نمی دونم چرا متوجه اینی که نوشتی نمیشم آقا محمد:

    کد PHP:
    $sql 'UPDATE `tbl_post` SET 
    `post_text` = \'2\',
    `post_username` = \'2\',
    `post_title` = \'2\',
    `post_userid` = \'2\',
    `post_date` = \'2009-03-18\',
    `post_type` = \'2\'
    WHERE `post_id` = 1 LIMIT 1;'


    البته یک کاراکتر "`" کم گذاشته بودی درستش کردم. حالا من query های زیر رو دارم و هرچی میخوام مقدارش هارو جایگزین کنم نمی دونم چطوری میشه! میشه خودتون اعمال کنید روی زیر تا ببینم؟

    کد PHP:
    mysql_query("UPDATE `users` SET `Value`='$new_password' WHERE `Name`='admin_password'") or die(mysql_error());
    mysql_query("UPDATE `users` SET `Value`='$new_username' WHERE `Name`='admin_username'") or die(mysql_error());
    mysql_query("UPDATE `users` SET `Value`='$location' WHERE `Name`='admin_location'") or die(mysql_error());
    mysql_query("UPDATE `users` SET `Value`='$email' WHERE `Name`='admin_email'") or die(mysql_error());
    mysql_query("UPDATE `users` SET `Value`='$name' WHERE `Name`='admin_name'") or die(mysql_error()); 


    در ضمن من نمیخوام که فقط یکی از اون ده تا آیدیم آپدیت بشه که! من می خوام اگه مقداری برای وارد نشده بود دیگه آپدیت نکنه! حالا ممکنه از 10 تا آیدی 57 تاش مقداری وارد شده باشه و 3 تاش نه! اون موقع چی؟
    (آخرین ویرایش در این ارسال: ۱۳۸۸ فروردين ۱۱ ۰۶:۴۹ عصر، توسط cyletech.)
    ۱۳۸۸ فروردين ۱۱ ۰۶:۴۶ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    molana آفلاین
    چالیست - chalist
    *******

    ارسال‌ها: 1,772
    تاریخ عضویت: ۱۳۸۷ آذر ۳۰
    اعتبار: 60
    تشکرها : 1644
    ( 1550 تشکر در 1015 ارسال )
    ارسال: #8
    RE: جلوگیری از وارد کردن مجدد یک مقدار به جدول
    من کلا متوجه نشدم چی کار می خوای بکنی

    قشنگ کد html صفحه + php + ساختار جدول یوزر رو بزار تا ببینم مشکلت چیه
    __________________________________________________________________________
    همه جوره اش رو داریم ظاهرن
    ۱۳۸۸ فروردين ۱۱ ۰۹:۰۲ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    cyletech غایب
    علیرضا اسکندرپور شوفری
    *****

    ارسال‌ها: 2,243
    تاریخ عضویت: ۱۳۸۸ فروردين ۸
    اعتبار: 42
    تشکرها : 1258
    ( 2239 تشکر در 1089 ارسال )
    ارسال: #9
    RE: جلوگیری از وارد کردن مجدد یک مقدار به جدول
    محمد جان من فیلد نام بر فرض دارم که مخصوص جدول users هست و الان اون جدول مقدار Alex به خودش گرفته ولی الان توی صفحه برای ویرایش جدول اگه اون فیلد نام خالی باشه و روی ارسال کلیک بشه چون دستورات طوری نوشته شده که اگر هم فیلد خالی بود باز آپدیت کن جدول رو و الان حتی اگه خالی باشه جدول آپدیت میشه و مقدارش خالی میشه! من میخوام اگه فیلد خالی بود دیگه آپدیت جدول مخصوص خودش رو!

    کد رو من بدلیل زیاد بود و زشت کردن انجمن شما آپلودش کردم:
    لینک: http://www.uplod.ir/download.php?file=913513
    ۱۳۸۸ فروردين ۱۱ ۰۹:۱۲ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    molana آفلاین
    چالیست - chalist
    *******

    ارسال‌ها: 1,772
    تاریخ عضویت: ۱۳۸۷ آذر ۳۰
    اعتبار: 60
    تشکرها : 1644
    ( 1550 تشکر در 1015 ارسال )
    ارسال: #10
    RE: جلوگیری از وارد کردن مجدد یک مقدار به جدول
    خوب این که کاری نداره
    شرط بزار
    اگه این یا این یا این یا این یا.... خالی بودن خطا بده وگرنه کوئری اجرا بشه
    کد PHP:
    if(empty($_POST['tf1']) || 
       empty(
    $_POST['tf2']) || 
       empty(
    $_POST['tf3']) || 
       empty(
    $_POST['tf4']))
    {
        
    //error
    }
    else
    {
        
    //insert

    __________________________________________________________________________
    همه جوره اش رو داریم ظاهرن
    ۱۳۸۸ فروردين ۱۱ ۰۹:۱۹ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    « قدیمی تر | تازه‌ تر »

    ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS