logo2

-----------------------------------------------

** (160 جلسه) آموزش کامل و 0 تا 100 برنامه نویسی PHP **

آخرین مطالب ارسال شده

مطالب بر اساس ماه

تبلیغات

تبلیغات

پست ثابت

برای ورود کلیک کنید

تبلیغات

پست ثابت

برای ورود کلیک کنید

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

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

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

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

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

 

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

 

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

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

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

 

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

 

مثال )

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

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

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

 

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

نتیجه :

 

جعبه دانلود

ورژن :

پسورد فایل ها : www.scriptbaran.com

قابل توجه مدیران وبسایت های ایرانی : تمامی مطالب سایت اسکریپت باران بصورت اختصاصی ترجمه و منتشر می شوند و کپی برداری از آن ها فقط با ذکر نام منبع مجاز است.

  • 1. از نوشتن دیدگاه های غیر مرتبط با پست جدا خودداری کنید ؛ پرسش های غیرمرتبط را در انجمن مطرح کنید
  • 2. در خواست های خود برای اسکریپت ها و افزونه ها را فقط از طریق تماس با ما ارسال کنید.
  • 3. فقط فارسی تایپ کنید و برای سوال مجدد در صفحه از دکمه پاسخ دادن استفاده نمایید.
  • 4. قبل از ارسال کامنت حتما متن پست + نظرات سایر دوستان را بخوانید .
  • 5. نظر شما ممکن است بدون پاسخ تایید شوند که در این صورت باید منتظر پاسخ از سوی دیگر کاربران باشید .

به اسکریپت باران امتیاز دهید