فرم ها در PHP

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
فهرست مطالب:

  1. پردازش بر روی اطلاعات دریافتی از فرم ها (در حالت ارسال مقادیر فرم با روش POST)، با کدهای PHP
  2. ارسال مقادیر یک فرم به صفحه پردازش اطلاعات فرم، با روش GET ، در PHP
  3. ارسال مقدار یک متغیر PHP ، با فرم، به صورت مخفی (hidden) و با روش POST



منبع: کلیدستان
 

P O U R I A

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

پردازش بر روی اطلاعات دریافتی از فرم ها (در حالت ارسال مقادیر فرم با روش POST)، با کدهای PHP

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

[h=4]مثال :[/h]فرض کنید قصد داشته باشیم که با یک فرم، ابتدا یک متن را از کاربر دریافت کنیم و سپس صفحه PHP مورد نظر، آن متن را گرفته و آن را به کاربر نمایش بدهد. ابتدا صفحه HTML مورد نظر را با کدهای زیر می نویسیم (اهمیتی ندارد که این صفحه با پسوند html ذخیره شود یا با پسوند php) :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#009900]<[COLOR=#000000][B]html[/B][/COLOR]>[/COLOR]
[COLOR=#009900]<[COLOR=#000000][B]head[/B][/COLOR]>[/COLOR]
[COLOR=#009900]<[COLOR=#66CC66]/[/COLOR][COLOR=#000000][B]head[/B][/COLOR]>[/COLOR]
  
[COLOR=#009900]<[COLOR=#000000][B]body[/B][/COLOR]>[/COLOR]
  
[COLOR=#009900]<[COLOR=#000000][B]form[/B][/COLOR] [COLOR=#000066]method[/COLOR][COLOR=#66CC66]=[/COLOR][COLOR=#FF0000]"post"[/COLOR] [COLOR=#000066]action[/COLOR][COLOR=#66CC66]=[/COLOR][COLOR=#FF0000]"show_text.php"[/COLOR]>[/COLOR]
[COLOR=#009900]<[COLOR=#000000][B]input[/B][/COLOR] [COLOR=#000066]type[/COLOR][COLOR=#66CC66]=[/COLOR][COLOR=#FF0000]"text"[/COLOR] [COLOR=#000066]name[/COLOR][COLOR=#66CC66]=[/COLOR][COLOR=#FF0000]"example_text"[/COLOR]>[/COLOR]
[COLOR=#009900]<[COLOR=#000000][B]input[/B][/COLOR] [COLOR=#000066]type[/COLOR][COLOR=#66CC66]=[/COLOR][COLOR=#FF0000]"submit"[/COLOR] [COLOR=#000066]value[/COLOR][COLOR=#66CC66]=[/COLOR][COLOR=#FF0000]"Submit"[/COLOR]>[/COLOR]
[COLOR=#009900]<[COLOR=#66CC66]/[/COLOR][COLOR=#000000][B]form[/B][/COLOR]>[/COLOR]
  
[COLOR=#009900]<[COLOR=#66CC66]/[/COLOR][COLOR=#000000][B]body[/B][/COLOR]>[/COLOR]
[COLOR=#009900]<[COLOR=#66CC66]/[/COLOR][COLOR=#000000][B]html[/B][/COLOR]>[/COLOR]
[/FONT]
[/FONT][/COLOR]
دقت شود که در کدهای بالا، فایل show_text.php را به عنوان صفحه PHP که پردازش را انجام خواهد داد، تعیین کرده ایم. بنابراین در همان فولدر حاوی فایل شامل کدهای فرم، باید فایل show_text.php را ساخته و سپس کدهای پردازش را در آن بنویسیم (البته فایل PHP می تواند هر آدرس دلخواهی داشته باشد و نیازی نیست که حتما درون این فولدر باشد).

روش ارسال ورودی ها به فایل PHP، به صورت POST انتخاب شده است (برای ارسال اطلاعات، دو روش POST و GET را داریم). بعدا در فایل PHP، باید روش دریافت اطلاعات در فرم را، بر اساس این انتخاب، مشخص کنیم.

همچنین برای متن ورودی، نام example_text را انتخاب کرده ایم که اهمیت زیادی دارد و مثلا اگر یک فرم، 100 ورودی را از کاربر بگیرد، برای هر ورودی در فرم، یک نام تعیین می کنیم تا از آن نام ها برای تشخیص ورودی های مختلف استفاده کنیم.

بسیار خوب، اکنون یک فایل PHP با نام show_text.php می سازیم و کدهای زیر را درون آن می نویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B]
[COLOR=#000088]$text_string[/COLOR] [COLOR=#339933]=[/COLOR] [COLOR=#000088]$_POST[/COLOR][COLOR=#009900][[/COLOR][COLOR=#0000FF]'example_text'[/COLOR][COLOR=#009900]][/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$text_string[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
متغیر $_POST برای شیوه POST به کار می رود. بنابراین با استفاده از متغیر $_POST ، متن دریافت شده با نام example_text را در متغیر با نام text_string ذخیره کرده ایم (اگر شیوه GET را به کار برده بودیم، باید از متغیر$_GET استفاده می کردیم). متغیر $_POST ، یک متغیر فوق سراسری (superglobal) می باشد که در آن، تمامی متغیرهای ارسال شده توسط روش POST ، به صورت یک آرایه، وجود دارند. دستور echo برای نمایش متن مورد نظر در خروجی (در مرورگر اینترنت کاربر) به کار رفته است.

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

[h=4]نتیجه :Untitled.jpg[/h]
 

P O U R I A

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

ارسال مقادیر یک فرم به صفحه پردازش اطلاعات فرم، با روش GET ، در PHP

در مبحثی دیگر، چگونگی ارسال مقادیر وارد شده در یک فرم، با روش POST را شرح دادیم، اینک قصد داریم که شرح بدهیم که چگونه از روش GET برای ارسال مقادیر وارد شده در فرم استفاده کنیم.

کدهای HTML فرم مورد نظر را به صورت زیر می نویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#009900]<[COLOR=#000000][B]html[/B][/COLOR]>[/COLOR]
[COLOR=#009900]<[COLOR=#000000][B]head[/B][/COLOR]>[/COLOR]
[COLOR=#009900]<[COLOR=#66CC66]/[/COLOR][COLOR=#000000][B]head[/B][/COLOR]>[/COLOR]
   
[COLOR=#009900]<[COLOR=#000000][B]body[/B][/COLOR]>[/COLOR]
   
[COLOR=#009900]<[COLOR=#000000][B]form[/B][/COLOR] [COLOR=#000066]method[/COLOR][COLOR=#66CC66]=[/COLOR][COLOR=#FF0000]"get"[/COLOR] [COLOR=#000066]action[/COLOR][COLOR=#66CC66]=[/COLOR][COLOR=#FF0000]"show_text.php"[/COLOR]>[/COLOR]
[COLOR=#009900]<[COLOR=#000000][B]input[/B][/COLOR] [COLOR=#000066]type[/COLOR][COLOR=#66CC66]=[/COLOR][COLOR=#FF0000]"text"[/COLOR] [COLOR=#000066]name[/COLOR][COLOR=#66CC66]=[/COLOR][COLOR=#FF0000]"example_text"[/COLOR]>[/COLOR]
[COLOR=#009900]<[COLOR=#000000][B]input[/B][/COLOR] [COLOR=#000066]type[/COLOR][COLOR=#66CC66]=[/COLOR][COLOR=#FF0000]"submit"[/COLOR] [COLOR=#000066]value[/COLOR][COLOR=#66CC66]=[/COLOR][COLOR=#FF0000]"Submit"[/COLOR]>[/COLOR]
[COLOR=#009900]<[COLOR=#66CC66]/[/COLOR][COLOR=#000000][B]form[/B][/COLOR]>[/COLOR]
   
[COLOR=#009900]<[COLOR=#66CC66]/[/COLOR][COLOR=#000000][B]body[/B][/COLOR]>[/COLOR]
[COLOR=#009900]<[COLOR=#66CC66]/[/COLOR][COLOR=#000000][B]html[/B][/COLOR]>[/COLOR][/FONT]
[/FONT][/COLOR]
ارسال مقادیر با روش GET را با کد زیر تعیین کرده ایم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]method="get"[/FONT]
[/FONT][/COLOR]
همچنین صفحه show_text.php را به عنوان صفحه دریافت کننده مقادیر وارد شده در فرم و پردازش بر روی اطلاعات، در نظر گرفته ایم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]action="show_text.php"[/FONT]
[/FONT][/COLOR]
کدهای صفحه show_text.php را به صورت زیر می نویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B]
[COLOR=#000088]$text_string[/COLOR] [COLOR=#339933]=[/COLOR] [COLOR=#000088]$_GET[/COLOR][COLOR=#009900][[/COLOR][COLOR=#0000FF]'example_text'[/COLOR][COLOR=#009900]][/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$text_string[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
متغیر $_GET برای شیوه GET به کار می رود. بنابراین با استفاده از متغیر $_GET ، متن دریافت شده با نام example_text را در متغیر با نام text_string ذخیره کرده ایم (اگر شیوه POST را به کار برده بودیم، باید از متغیر$_POST استفاده می کردیم). متغیر $_GET ، یک متغیر فوق سراسری (superglobal) می باشد که در آن، تمامی متغیرهای ارسال شده توسط روش GET ، به صورت یک آرایه، وجود دارند. دستور echo برای نمایش متن مورد نظر در خروجی (در مرورگر اینترنت کاربر) به کار رفته است.

فرم به شکل زیر نمایش داده می شود :592.png
اگر مقدار hello را در فرم نوشته و بر روی دکمه Submit کلیک کنیم، صفحه show_text.php به صورت زیر فراخوانی می شود :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#339933]/[/COLOR]show_text[COLOR=#339933].[/COLOR]php?example_text[COLOR=#339933]=[/COLOR]hello[/FONT]
[/FONT][/COLOR]
دلیل این موضوع این است که در روش GET ، مقدار تعیین شده برای متغیر (متغیری که ارسال می شود)، در خود آدرس URL نوشته می شود.

خروجی صفحه show_text.php به صورت زیر می باشد :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]hello[/FONT]
[/FONT][/COLOR]
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
ارسال مقدار یک متغیر PHP ، با فرم، به صورت مخفی (hidden) و با روش POST

ارسال مقدار یک متغیر PHP ، با فرم، به صورت مخفی (hidden) و با روش POST

همان طور که می دانید، با استفاده از فرم ها، می توانیم ورودی های کاربر را که در فرم وارد می کند، به صفحه ای دیگر ارسال کنیم (با روش post)، اما گاهی نیاز داریم که مقدار یک متغیر را که کاملا معلوم است و نیازی نیست که کاربر آن را مشخص کند را به صفحه ای دیگر ارسال نماییم. در اینگونه مواقع، می توانیم یک تگ input را به صورت مخفی (hidden) در فرم قرار دهیم تا بعد از اینکه کاربر بر روی دکمه submit فرم کلیک می کند، آن مقدار نیز با روش post به صفحه مقصد ارسال گردد. به عنوان مثال، به کدهای زیر توجه کنید :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]<form method="post" action="process.php">
<input type="hidden" name="variable_1" value="[B]<?php[/B] [COLOR=#B1B100]echo[/COLOR] [COLOR=#000088]$variable_1[/COLOR][COLOR=#339933];[/COLOR] [B]?>[/B]"/>
<input type="text" name="title">
<input type="submit" value="submit">
</form>[/FONT]
[/FONT][/COLOR]
همان طور که مشاهده می کنید، این فرم، ورودی های کاربر را با روش post به صفحه process.php ارسال می کند. به خط زیر از کدها توجه کنید :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]<input type="hidden" name="variable_1" value="[B]<?php[/B] [COLOR=#B1B100]echo[/COLOR] [COLOR=#000088]$variable_1[/COLOR][COLOR=#339933];[/COLOR] [B]?>[/B]"/>[/FONT]
[/FONT][/COLOR]
در این تگ input ، مشخصه type را برابر hidden قرار داده ایم که باعث می شود که عنصر مربوط به این تگ input ، در فرم نمایش داده نشود (تنها وجود دارد و مقدار آن ارسال خواهد شد، اما به کاربر نمایش داده نمی شود). با فرض اینکه یک متغیر با نام variable_1 داریم که مقدار آن قبلا مشخص شده است، مشخصه value را به گونه ای نوشته ایم که در آن، مقدار مربوط به متغیر variable_1 قرار بگیرد، یعنی به صورت زیر :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B] [COLOR=#B1B100]echo[/COLOR] [COLOR=#000088]$variable_1[/COLOR][COLOR=#339933];[/COLOR] [B]?>[/B][/FONT]
[/FONT][/COLOR]
مشخصه name را همان برابر همان نام variable_1 انتخاب کرده ایم.
 

Similar threads

بالا