بستن منو
۱۶۲
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
×

دانلود فروشگاه اندروید کلیدستان

441

نویسنده

علیرضا گلمکانی ( admin )

شماره کلید
دسته کلید - دسته بندی

نحوه ارسال متغیرها با روش GET ، در صورت وجود کاراکترهای غیر مجاز برای URL صفحه، با تابع urlencode در PHP

همان طور که می دانید، با استفاده از روش GET ، می توانیم متغیرها و مقادیر آنها را به یک صفحه دیگر ارسال کنیم و اطلاعات مربوط به متغیرهای ارسالی، در آدرس URL صفحه مقصد، نوشته خواهد شد، اما یک نکته مهم وجود دارد و آن این است که ما نمی توانیم هر کاراکتری را در آدرس URL صفحات به کار ببریم و به کار بردن برخی کاراکترها در آدرس URL ، ممنوع است.

مثلا فرض کنید که بخواهیم به صفحه ای با نام page.php ، متغیر با نام name و مقدار ali را ارسال کنیم، بنابراین باید به آن صفحه، به صورت زیر لینک بدهیم :


<a href="page.php?name=ali">page</a>

خوب اکنون فرض کنید که به جای ali ، قصد داشته باشیم مقدار زیر را برای متغیر name تعیین کنیم :


ali reza

پس در نگاه اول، به نظر می آید که باید کد زیر را بنویسیم (اما غلط است) :


<a href="page.php?name=ali reza">page</a>

کد بالا غلط است، زیرا باعث می شود که در بین کاراکترهای آدرس URL ، یک فضای خالی داشته باشیم که غیرمجاز است. این یک مثال است و علامت هایی مثل & و = نیز اگر در مقدار متغیر وجود داشته باشند، باعث به وجود آمدن یک اشتباه در روند ارسال متغیرها خواهند شد (زیرا این دو علامت را برای روش GET به کار می بریم).

راه حل این مشکل، استفاده از تابع urlencode در PHP می باشد. این تابع، با کد کردن کاراکترها، عملا باعث می شود که کاراکترهای غیرمجاز، در آدرس URL صفحه، ظاهر نشوند. حتما تاکنون، علامت های % به کار رفته در آدرس URL برخی سایت ها را دیده اید. این علامت، توسط همین تابع ایجاد می شود و بخشی از کدهای حاصل از این تابع است.

شیوه استفاده از تابع urlencode به صورت زیر می باشد (برای همان موردی که مثال زدیم) :


<a href="page.php?name=<?php echo urlencode("ali reza"); ?>">page</a>

بنابراین پس از کلیک بر روی لینک، در انتهای آدرس URL صفحه مقصد، عبارت زیر نمایش داده می شود (در برخی مرورگر ها، باید در قسمت نمایش آدرس، کلیک کنید تا آدرس به طور کامل نمایش داده شود) :


/page.php?name=ali+reza

مشاهده می کنید که تابع urlencode ، کاراکتر فاصله را به کاراکتر + تبدیل کرده است.

نکته

نکته مهمی که باید به آن توجه داشت، این است که دیگر نیازی نیست که در صفحه مقصد، از تابع urlencode استفاده کنیم و خود PHP ، به طور خودکار، کاراکترها را در آن صفحه، تبدیل به همان کاراکترهای اصلی می کند که مد نظر ما بوده است.

مثال

فرض کنید این بار بخواهیم مقدار ali&reza را به عنوان مقدار متغیر ارسال کنیم، بنابراین باید لینک را به صورت زیر تعریف کنیم :


<a href="page.php?name=<?php echo urlencode("ali&reza"); ?>">page</a>

بنابراین پس از کلیک بر روی لینک، در انتهای آدرس URL صفحه مقصد، عبارت زیر نمایش داده می شود (در برخی مرورگر ها، باید در قسمت نمایش آدرس، کلیک کنید تا آدرس به طور کامل نمایش داده شود) :


/page.php?name=ali%26reza

مشاهده می کنید که تابع urlencode ، کاراکتر & را به کاراکترهای %26 تبدیل کرده است.

نکته

تابع rawurlencode نیز همانند تابع urlencode در PHP ، برای کد کردن آدرس صفحات URL به کار می رود. به مثال زیر توجه کنید :

مثال

<?php
$string = "ali & reza";
echo urlencode($string);
echo "<br />";
echo rawurlencode($string);
?>

نتیجه :

Result

کپی برداری از محتوای سایت کلیدستان، ممنوع بوده و پیگرد قانونی دارد. (بیشتر بدانید)

خوانده شد
مبحث بالا، مفید بود و سایت کلیدستان را دوست داشتم :
محبوب کردن این مبحث در گوگل :
اون چیزی که میخواستم نبود :
سوال دارم :
ارسال نظر :
نظرات 0 0 0

*** نظر بدهید

دسترسی سریع

×

شماره کلید


کلید
×

شماره دسته کلید


دسته کلید
×

جستجو


جستجو

راهنمای توابع PHP

راهنمای توابع PHP بر اساس حرف اول تابع :

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

بستن منو
۲۳۰
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
بستن منو
۴۹
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
بستن منو
۳۳
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
بستن منو
۵۷
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع