💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۴ Reza Mounsef
تغییر PHP_SELF به REQUEST_URI
بهنام مرادی حل شده توسط بهنام مرادی

با سلام در هنگام تدریس برای اینکه بعد از submit شدن دوباره به همین صفحه برگردیم استاد از کد زیر استفاده کردند که درست هم کار میکنه قطعا ولی یک سوالی داشتم که پایین کد مینویسم

<form action="<?php echo esc_url($_SERVER['PHP_SELF']).'?page=create_new_user'?>" method="post">

خب سوال من این هستش که بهتر نبود به جای اینکه دستی آدرس پیچ رو بعد کوئری استرینگ وارد کنیم از دستور زیر استفاده میکردیم ؟ آیا در صورت استفاده از این کد به مشکل بر میخوریم اجمالا خودم تست کردم درست کار میکرد.

<form action="<?php echo esc_url($_SERVER['REQUEST_URI']) ?>" method="post">

با سلام و احترام

بله استفاده از

$_SERVER['REQUEST_URI']

مشکلی ندارد و درست است

فقط در مواردی میتواند مشکل ایجاد کند که در کوئری استرینگ رشته هایی باشند که نباید.

به فرض ممکن است ادمین را از ادرس دیگری به همراه یک سری کوئری‌ها به صفحه مد نظر ریدایرکت کرده باشید و در صورت وجود این کوئری‌ها یک فرایند خاصی اعمال میشود در این حالت بعد از ثبت فرم مجدد همان فرایند اجرا خواهد شد

ولی در این مثال هیچ مشکلی ندارد » فقط این نکته را مد نظر داشته باشید.

موفق باشید

بهترین پاسخ
بهنام مرادی ۰۷ فروردین ۱۴۰۳، ۱۶:۴۲

سپاسگزارم منظورتون فقط از اینکه همان فرایند اجرا خواهد شد رو با مثال کمی واضح‌تر شرح بدین و چه رشته هایی دقیقا میتونه مشکل ایجاد کنه ؟

Reza Mounsef ۰۹ فروردین ۱۴۰۳، ۰۴:۴۲

بله حتما

به فرض شما ادمین سایت را وارد فرم زیر می‌کنید و در کوئری‌های مقدار referral را پاس میدهید که کاربر ثبت نامی معرف و زیر مجموعه یک کاربر دیگر باشد.

https://your-site.com/wp-admin/admin.php?page=create_new_user&referral=parent-user-id

در ساختار لینک بالا کاربر ایجاد شده متعقل و زیرمجموعه یک کاربر دیگر باید ایدی خاص می‌باشد شما اگر از حالت زیر استفاده کنید.

<form action="<?php echo esc_url($_SERVER['REQUEST_URI']) ?>" method="post">

کاربر ادمین اگر مجدد به صفحه ساخت کاربر بازگردد در این حالت کاربر جدیدی اگر ایجاد کند مجدد زیرمجموعه کاربر قبلی خواهند بود

بسته به سیاست کارفرما و نیازمندی‌های پروژه ممکن است این مورد دلخواه شما باشد یا برعکس باگ ایجاد کند به همین دلیل نیاز هست که این موارد را مد نظر داشته باشد.

مثالی زدم که نزدیک به مثال خودتون باشه که راحت‌تر متوجه بشید.

امیدوارم منظور منتقل شده باشد

بهنام مرادی ۰۹ فروردین ۱۴۰۳، ۰۸:۳۰

بله این قسمت رو کامل متوجه شدم فقط کارکترهای مشکل ساز رو مثال نزدین با تشکر

Reza Mounsef ۱۰ فروردین ۱۴۰۳، ۰۹:۳۰