PDA

View Full Version : سوال: request در همان صفحه



amirhossein.sh
دوشنبه 06 دی 1395, 22:52 عصر
سلام خدمت دوستان ، من یه همچین کدی نوشتم تو یه صفحه اما چیزی نمایش داده نمیشه ، اشکال از چیه ؟


<?php
$query="/index.php?message=hello";
echo($_REQUEST["message"])
?>

Unique
دوشنبه 06 دی 1395, 23:01 عصر
انتظار عجیبی داری ! شما یک رشته را ریختی توی یک متغیر بعدش میخوای مقدار query string توی رشته را از Global یعنی REQUEST_$ بخونی !؟!؟ مقادیر Global ها وقتی صفحه از وب سرور صدا زده میشه با متغیر های محیطی ست میشه. در ضمن باید از GET_$ بخونی نه REQUEST_$ !

amirhossein.sh
دوشنبه 06 دی 1395, 23:25 عصر
بله حق باشماست ، اومدم سوالمو تغییر بدم و ساده کنم خراب تر شد ، فرض کنید من یه صفحه دارم که توش کلی پُست هست ، حالا من یه تابع اونور دارم که میتونه این پست هارو حذف کنه ، من این تابع رو تو یه صفحه ای مثل delete.php صدا میزدم و از صفحه ایندکس آیدی اون پستی که میخواستم حذف کنمو با رشته پرس و جو میفرستادم به صفحه delete.php ، الان میخوام این پردازش تو همون صفحه ایندکس انجام بشه و از شر delete.php راحت بشم ، ولی دیدم نمیتونم متغییری که با رشته پرس و جو ارسال میشه رو تو همون صفحه فراخونی کنم،با get هم تست کردم نشد

echo <<<_html
<button type="button"><a href="delete.php?id=$id">Delete</a></button>_html;

Unique
سه شنبه 07 دی 1395, 08:10 صبح
شما پردازش را توی همون صفحه delete انجام بده اما اگه نمیخوای کاربر را بفرستی به delete.php بهتره توی صفحه Index یا هر جا که لیست میکنی پست ها را از طریق ajax درخواست حذف را بفرستی به delete.php و حذف را انجام بدی.

amirhossein.sh
سه شنبه 07 دی 1395, 16:10 عصر
آژاکس نمیخوام تو کار استفاده کنم ، پس یعنی راهی نداره که بتونم تو همون صفحه پردازشو انجام بدم ؟

شما پردازش را توی همون صفحه delete انجام بده اما اگه نمیخوای کاربر را بفرستی به delete.php بهتره توی صفحه Index یا هر جا که لیست میکنی پست ها را از طریق ajax درخواست حذف را بفرستی به delete.php و حذف را انجام بدی.

شاهرخ عشایری
سه شنبه 07 دی 1395, 22:59 عصر
سلام دوست عزیز. شما یا باید اسکریپت delete رو بیاری تو همین صفحه تا بتونی از query string هر کدوم از اون لینکها استفاده کنی و post رو پاک کنی یا باید از AJAX استفاده کنی و id رو بفرستی به اون صفحه و اونجا عمل حذف رو انجام بدی. البته بدون AJAX هم میشه به این صورت که تو فایل delete.php بعد از حذف پست کاربر رو به صفحه پست ها برگردونی. من پیشنهاد میکنم از AJAX استفاده کنی تا کارت شیک و مجلسی و user friendly باشه. :چشمک:

amirhossein.sh
سه شنبه 07 دی 1395, 23:53 عصر
همونطور که گفتم نمیخوام از کوئری استفاده کنم روشی که بتونم دیلیتو تو همون صفحه اصلی انجام بدم رو بیشتر توضیح بدین،دقیقا بگین باید چیکار کنم .... ممنون

سلام دوست عزیز. شما یا باید اسکریپت delete رو بیاری تو همین صفحه تا بتونی از query string هر کدوم از اون لینکها استفاده کنی و post رو پاک کنی یا باید از AJAX استفاده کنی و id رو بفرستی به اون صفحه و اونجا عمل حذف رو انجام بدی. البته بدون AJAX هم میشه به این صورت که تو فایل delete.php بعد از حذف پست کاربر رو به صفحه پست ها برگردونی. من پیشنهاد میکنم از AJAX استفاده کنی تا کارت شیک و مجلسی و user friendly باشه. :چشمک:

Unique
چهارشنبه 08 دی 1395, 09:10 صبح
لینک حذفت را مثلا میگذاری index.php?task=del&id=10 حالا توی همون صفحه Index میای چک میکنی اگه task توی GET_$ برابر del بود بیا و رکورد با id برابر ۱۰ را حذق کن. همین.

شاهرخ عشایری
چهارشنبه 08 دی 1395, 18:02 عصر
اوکی...
به عنوان مثال میتونی داخل کوئری خودت یک action داشته باشی و یک ID. حالا کافیه action مربوط به فرم رو برابر همون صفحه جاری خودت قرار بدی که لیست تمام پست هارو قراره نشون بده. وقتی کاربر روی delete کلیک کنه هم action (که برابر delete هستش) و هم id پست مورد نظر رو به صفحه جاری ارسال میکنه که با یک script میتونی اونهارو از آرایه GET دریافت کنی و اونها رو از دیتابیس حذفشون کنی.