جلسه ششم آموزش عملی ساخت پروژه پنل وب سایت شخصی با PHP
جلسه ششم آموزش عملی ساخت پروژه پنل وب سایت شخصی با PHP
با سلام دوباره
میریم تا بخش حذف و ادیت رو بنویسیم . قرار شد حذف یا ادیت رو با متغیر action که به newpost.php.php میفرستیم مشخص کنیم .
برای حذف action برابر delete قرار می گیرد و id پستی که میخوایم حذف کنیم رو هم باید به این صفحه بفرستیم که در جدولی که برای نمایش پست های اخیر درست کرده بودیم لینک مربوط به ویرایش و حذف هر کدام رو جداگانه ساختیم .
توی دو مرحله تاییدیه حذف رو از کاربر می گیریم ؛ یعنی بعد از اینکه متوجه شدیم تا پستی باید حذف شود اول اطلاعات پس رو به کاربر نشان می دهیم و از کاربر میخوایم که حذف اون پست رو تایید کنه تا یه وقت ناخواسته حذف نکنه .
در آخر هم عملیات حذف و نمایش پیغام مناسب به کاربر رو دنبال می کنیم .
باز هم قالب کلی رو می نویسیم یعنی چک کردن لاگین و اضافه کردن فایل کانکشن و ...
کد های زیر رو وارد فایل editpost.php.php کنید :
توی کد های زیر دقت کنید که حالات بی اهمیت رو اثر نمیدیم یعنی صفحه ی سفید
و نیازی هم نیست کاربر رو مطلع کنید چون بهتره باگ پیش خودتون محفوظ بمونه
توضیح کد های بالا :
اول از همه باید دو مقدار رو چک کنیم که بفهمیم کاربر لازم داره ویرایش یا حذف رو انجام بده برای اینکار از دو متغیر id و action استفاده می کنیم ؛ برای این که هر دو این متغیر ها چه در لینک ویرایش و چه در لینک حذف اعمال شده پس درون همین شرط بررسی می کنیم که کاربر میخواد حذف انجام بده یا ویرایش
و اینکه اگر انجام نشده بود یعنی عملیات نامشخص که میبینید با همون دستور عملیات نامشخص
با دستور die این کار رو انجام دادیم باز هم میتونستیم این موضوع رو مخفی کنیم و اصلا else این شرط رو اعمال نکنیم .
داخل if چکaction و id :
این دو مورد باید بررسی بشه تا بریم سر این موضوع که پست باید ویرایش بشه یا حذف پس درون این if شرط ایجاد می کنیم که آیا action ؛ حذف است یا ویرایش همونطور که توی کد میبینید این بررسی انجام میشه .
در این حالت ما حذف رو فعلا انجام میدیم :
برای اینکه بررسی کنیم که فرد از حذف پست مطمئن است ؛ از یک متغیر دیگه که توی آدرس استفاده میشه استفاده می کنیم متغیری به نام confirm تعریف می کنیم و اگر این متغیر ست شده باشد یعنی صفحه تایید حذف نمایش داده شده و کاربر تایید کرده پس عملیات حذف رو انجام میدیم .
در حالت بعدی اگر تایید نشده باشد باید از کاربر تایید بگیریم پس بر اساس id پستی که ارسال شده است باید اطلاعات پست مربوطه رو از کاربر بگیریم و کاربر مطمئن بشه که همون مورد رو میخواد حذف کنه و سپس اقدام به حذف کنه
برای این کار اول از همه مطمئن هستیم که id رو دریافت کردیم چون این شرط زیر مجموعه شرط اصلی است که action و id رو چک کرده بود پس قطعا id ست شده است .
بر اساس این id یک کوئری مینویسیم تا اطلاعات رو بگیره
توضیح کوئری :
با دستور SELECT FROM post از جدول post دیتابیس یک مقدار رو میخوایم انتخاب کنیم ؛ در مرحله بعد باید بگیم که با چه شرطی میخوایم سطر مربوط رو بگیریم .
با دستور WHERE id= مشخص می کنیم که جایی که id فلان باشد همونطوری که در جلسات پیش گفتم
برای این $_GET[‘confirm’] رو میدیم چون از قبل اونو برابر $_GET[‘id’] قرار میدیم تا هم مقدار نامربوطی نذاشته باشیم و هم اطمینان از این که کوئری تصادفی فرستاده نشده فراهم بشه .
پس همونطوری که قبلا گفتم باید با کاراکتر (.) اتصال این رشته رو برقرار کنیم در نهایت این رشته که کوئری ماست باید درون mysql_query قرار بگیرد .
با توجه به اینکه میدونیم یک خط باید برگردد پس یک mysql_fetch_array می نویسیم و حاصل رو درون یک متغیر دیگه ذخیره می کنیم و از فیلد subject مقدار موضوع رو با همون سبکی که گفتم باید نشون بدیم و یک لینک اینبار با مقدار confirm=id هم ارسال کنیم .
بعد از confirm کردن کاربر داخل شرط مربوطه متغیر confirm همون id که استفاده می کنیم و کوئری حذف رو می نویسیم .
کوئری حذف :
با delete from post هم با همان where =id مشخص میشه که کجا رو از جدول post میخوایم حذف کنیم و حاصل رو در $r قرار میدیم که همونطور که توضیح داده بودم برای بررسی این که این کار درست و بدون خطا انجام شده است یا خیر تا به کاربر نتیجه رو اعلام کنیم .
- توضیحات
- بازدید: 541
نظرات
- هیچ نظری یافت نشد.
نظر خود را اضافه نمایید
ارسال نظر به عنوان مهمان