پردازش فرم ها با زبان PHP

دسته بندی: آموزش
زمان مطالعه: 4 دقیقه
۱۰ مهر ۱۳۹۱

فرم‌ها یکی از مهمترین و شاید جالب‌ترین کاربردهای زبان قدرتمند PHP می‌باشد ، فرم‌ها در صفحات وب کاربردهای بسیار زیادی را دارند ، این کاربرد‌ها از قبیل :ثبت کاربران جدید ، دریافت سفارش در فروشگاه‌های اینترنتی ، ارسال فیدبک و ... می‌باشند

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

در این سری مجموعه‌های آموزش پردازش فرم در سون لرن سعی می‌کنیم تا شما را به صورت کامل و کاربردی با پردازش فرم همراه با یک یا دو پروژه عملی مثل ساخت Quizو یا فرم تماس با ما آشنا خواهیم کرد.

در ابتدا ما قصد داریم یک فرم را با بک سری فیلد‌های مشخص تعریف نمائیم:

  • نام و نام خانوادگی
  • ایمیل
  • پیام شما
<form action="" method="post">
Name: <input type="text" name="name" />
Email: <input type="text" name="email" />
Comment: <input type="text" name="comment" />
<input type="submit" />
</form>

از این پس ما بر بخش آموزش پردازش فرم با php با این فرم کار خواهیم کرد.

اما قبل از اینکه شروع به کد نویسی برای پردازش فرم‌ها نمائیم  ، بهتر شما را با تفاوت متدهای Get و Post آشنا سازیم:

تفاوت دو متد Get و Post :

بهترین طریقه آموزش برای نمایش تفاوت بین این دو متد ، استفاده از فرم می‌باشد ، ما با همان فرم قبلی کار خود را شروع می‌کنیم ، در ابتدا فرم خود را از متد Post به Get تبدیل نمائید :

<form action="" method="get">

سپس فرم خود را در xampp اجرا نمائید ، حال اگر شما هر فید نام ، ایمیل و پیام را وارد نمائید و دکمه Submit را کلیک کنید ، در نوار آدرس مرورگر خود با آدرس زیر مواجه می‌شوید:

http://localhost/xampp/aaa.php?name=MiladHeydari&email=miladbruce%40live.com&comment=i+love+the+world!

همانطور که ملاحظه نمودید ، شما تمام مقادیری که در فیلدهای خود وارد نمودید ، در نوار آدرس مشخص گردید ، پس یعنی متد Get چندان ایمن یا Secure نیست!

اما هم اکنون متد فرم خود را از Get به Post تغییر دهید :

<form action="" method="post">

حال اگر فیلدهای فرم خود را پر کنید ف و بر روی دکمه Submit کلیک نمائید ، هیچ گونه تغییری را در نوار آدرس مرورگر خود ملاحظه نخواهید کرد.

نتیجه گیری :

همان طور که دیدید ، متد Get داده‌های شما را به صورتی نمایش می‌دهد که در معرض دید است و همچنین مرورگرهایی همچون Internet Explorer یک محدودیت کارکتری در نوار آدرس را برای خود ایجاد کرده اند به طول 2048 کاراکتر ، بنابراین از متد Get فقط زمانی استفاده می‌شود که پاسخ فرم ما بسیار کوتاه باشد و همچنبن متد Get چندان ایمن نیست!

ولی در مقابل متد Post ایمن‌تر بوده و می‌توان اطلاعات یک فرم را به اندازه 8 مگابایت کاراکتر پردازش کرد ، به طور معمول اکثرا از متد Post برای فرم‌ها استفاده می‌کنند ولی Get نیز کاربرد خاص خود را دارد به عنوان مثال اکثر سایت هایی که امکان جستجو را به کاربران خود می‌دهند ، فرم جستجوی خود را با متد Get طراحی کرده اند ، در این صورت این کار می‌تواند حتی باعث افزایش بازدید نیز شود و همچنین کاربران می‌توانند آدرس جستجو را در مرورگر خود BookMark نمایند.

نکته :

هر چند که متد Post بسیار ایمن‌تر از Get می‌باشد ولی این امنیت به صورت صد درصد نیست ، معمولا بانک‌ها و سایت هایی مثل سنجش و پیام نور برای امنیت بیشتر فرم‌های خود از SSH و https استفاده می‌کنند.

در قسمت‌های بعدی آموزش با ما همراه باشید...

نظرات و پیشنهادات شما باعث دلگرمی ما و قوی‌تر شدن آموزش‌های سون لرن می‌شود...

چه امتیازی به این مقاله می دید؟
نویسنده میلاد حیدری
19 ساله، ساکن تهران و دانشجوی مهندسی کامپیوتر ؛طراح وب سایت ، سئو کار با سابقه کاری ، مطالعه بسیار زیاد در امر سئو و برندینگ اینترنتی و آشنایی با زبان های همچون PHP,JavaScript,html5,CSS3, Jquery ، با زبان انگلیسی آشنایی کامل دارم و شدیدا طرفدار استقلال و فرهاد مجیدی هستم.

نظرات کاربران

حسین

سلام من یه مشکلی دارم اگه حل کنید ممنوم میشم من داده های بانک اطلاعاتی رو دریافت میکنم و اونارو داخل جدول میچینم حالا میخوام دکمه ای قرار بدم که وقتی روش کلیک میشه داده ها در یک صفحه دیگر با جزییات کامل نمایش داده بشه اگه کدش رو برام قرار بدین ممنوم میشم hossein.func@gmail.com

کیوان علی محمدی

روش اینه که شما در هر سطر یه لیک مثلا با نام مشاهده جزئیات قرار بدی و وقتی روش کلیک میکنی،اطلاعات لازم هر سطر مثل شماره شناسه رو بفرستی صفحه مورد نظر و اونجا هم با یه کوئری جزئیات بیشتر رو دریافت کنی و نمایش بدی.

moradikolani

ممنون چشم / حتما باتشکر از شما

moradikolani

سلام
من میتونم از مطالب شما با ذکر منبع در سایتی استفاده کنم؟؟؟

لقمان آوند

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

samira2010

سلام
خسته نباشین
ادامه این آموزش نمیذارین؟؟؟

سجاد دریس

سلام
فعلا آقای حیدری سرشون شلوغه هر وقت تونستن ادامه میدن

مهسا

یه سوال داشتم . من برای پروژه دانشگاه یه فرم تماس ساختم میخوام اطلاعاتو که وارد میکنم به دو تا فایل PHP ارسال بشه . یکی یکی میفرسته ولی دو تا با هم نمیشه . میشه راهنمایی کنین

لقمان آوند

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

 &lt;form onsubmit=&quot;return foo()&quot;&gt; 
  &lt;input id=&quot;param1&quot; type=&quot;text&quot; value=&quot;xxx&quot;/&gt;
  &lt;input type=&quot;submit&quot; value=&quot;submit&quot;/&gt;  
&lt;/form&gt;
&lt;script&gt;
function foo(){
   var paramVal=document.getElementById(&quot;param1&quot;).value
 window.open(&quot;http://www.google.com?param1=&quot;+paramVal)
 window.open(&quot;http://www.yahoo.com?param2=&quot;+paramVal)
 return false
}
&lt;/script&gt;
web_pro

با سلام
من آموزش های پی اچ پی را دارم دنبال می کنم اما یه سوال داشتم َآیا آموزش ها بر طبق بخش ها پیش می روند یعنی بعد از آموزش بخش هشتم ,بخش نهم است یا اینکه مابین یخش ها آموزش های ارائه شده که عنوان بخش را ندارند آخه من طبق بخش که پیش می روم بخش دهم به بعد نیست . یا این که هنوز ارئه نشده.با سپاس از زحمات بی دریغ تان

لقمان آوند

به ترتیب هست . بخش های بعدی هنوز اضافه نشده .

alibeigi68

سلام میتونید کمکم کنید میخوام php از مبتدی مبتدی یاد بگیرم هیچی از ش نمیدونم

لقمان آوند

سری آموزشی php رو در سایت دنبال کنید .

sasha201059

😳 😳 😳
بسیار عالیست
موفق باشین

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.