• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل با پاک کردن رکورد از جدول
#1
Sad 
با استفاده از لینک زیر
کد پی‌اچ‌پی:
<a style="color: red" href="delete&id=<?=$n["id"] ?>">حذف  </a

کدهای صفحه delete

کد پی‌اچ‌پی:
<?php
mysql_connect
('localhost','root','')or die(mysql_error());
mysql_select_db('dbfull') or die(mysql_error());

mysql_query('DELETE FROM news WHERE id ='$n['id'])or die(mysql_error());
echo 
"رکورد پاک شد";    
 
?>

ولی در آخر در صفحه delete ارور زیر رو دارم

نقل قول: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

ارور رو برطرف کردم اشکال در کوئری بود و این رو زدم

لطفا راهنمایی کنید چجوری ای دی رو ارسال کنم با اون لینک

ای دی خبره نمیره!!! و فقط تو ادرس هست


کد پی‌اچ‌پی:
mysql_query("DELETE FROM news WHERE id='".$n['id']."' ")or die(mysql_error()); 

اون مورد هم برطرف کردم

ولی یه مسئله ای هست این رو موندم چیکار کنم

الان ای دی رو از طریق ادرس میفرستم و یک مشکلی که هست وقتی دستی ای دی آخر ادرس تغییر میکنه دیتامون پاک میشه

چجوری از این حالت خارج کنم؟؟
  پاسخ
تشکر شده توسط :
#2
برای delete از روش get استفاده نکن و حتمن ID رو پست کن به صفحه
و اینکه اگه نوشته مال خود کاربر بود یا اینکه admin‌بود پاکش کن
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط :
#3
نقل قول:الان ای دی رو از طریق ادرس میفرستم و یک مشکلی که هست وقتی دستی ای دی آخر ادرس تغییر میکنه دیتامون پاک میشه

چجوری از این حالت خارج کنم؟؟
یه راهش اینه که پیغام تایید حذف رکورد رو بزاری تو همون صفحه ای که مسئول حذف رکورد هست و آدرسش حاوی آی دیه. مثل دروپال. کاربر چه رو دکمه ای کلیک کنه و چه دستی آدرس حذف رو وارد کنه قبلش میبینه که قراره چی حذف بشه.
اگه اصرار داری که فرآیند حذف فقط از طریق کلیک کردن روی دکمه ای یا لینکی انجام بشه یه راهش اینه که تو صفحه ای که رکوردها رو لیست می کنی یه متغیر ایجاد کنی و توی سشن یا دیتابیس بنویسیش. مقدار این متغیر رو توی آدرس های حذف ست می کنی و توی صفحه حذف اول اون متغیر رو اعتبار سنجی می کنی. اگه درست بود بعد از حذف رکورد متغیر رو از سشن یا دیتابیس حذف می کنی. فکر کنم وردپرس از همچین روشی اسفاده می کنه.
یه راه دیگه ش هم اینه که آی دی رو تو URL انکود کنی و وقتی میخونیش اول دیکود کنی و بعد کوئری بفرستی.
  پاسخ
تشکر شده توسط :


پرش به انجمن:


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