به آموزشگاه مجازی سینا خوش آمدید!

مدیریت فرم ها در PHP

 

از متغیرهای سراسریِ $_GET و $_POST برای جمع آوریِ داده های فرم ها، استفاده می شود.


یک فرم(Form) ساده در PHP

در مثال زیر، یک فرم ساده ی HTML به همراه دو فیلد ورودی و یک دکمه ی ارسال(submit) قرار دارد:

مثال شماره 1

<html>
<body>

<form action="welcome.php" method="post">
نام: <input type="text" name="name"><br>
ایمیل: <input type="text" name="email"><br>
<input type="submit" value="ارسال">
</form>

</body>
</html> 

نتیجه:

 

وقتی که کاربر، فرم بالا را پر می کند و بر روی دکمه ی ارسال(submit) کلیک می کند،  داده های این فرم به یک فایل PHP دیگر به نام welcome.php ارسال می شود. داده های این فرم، با استفاده از متد HTTP POST ارسال می شوند. برای نمایش دادن داده های ازسال شده، می توانیم به سادگی، تمام متغیرها را echo کنیم. فایل welcome.php به صورت زیر است:

<html>
<body>

خوش آمدید <?php echo $_POST["name"]; ?><br>
آدرس ایمیل شما: <?php echo $_POST["email"]; ?>

</body>
</html> 

خروجی کد بالا به صورت زیر است:


اگر از متد HTTP GET نیز استفاده کنیم، همین نتیجه حاصل می شود:

<!DOCTYPE HTML>
<html>
<body>

<form action="welcome_get.php" method="get">
نام: <input type="text" name="name"><br>
ایمیل: <input type="text" name="email"><br>
<input type="submit" value="ارسال">
</form>

</body>
</html> 

و فایل welcome_get.php به صورت زیر است:

<html>
<body>

خوش آمدید <?php echo $_GET["name"]; ?><br>
آدرس ایمیل شما: <?php echo $_GET["email"]; ?>

</body>
</html> 

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


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

برای نظردهی، در سایت عضو شوید یا به آن وارد شوید!

ستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعال