فرم‌ها در php

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

گرفتن ورودی از کاربر در php

گرفتن ورودی از کاربر در php به این صورت است که زمانی که یک کاربر یک فرم را تکمیل می کند با زدن دکمه ارسال، اطلاعات داخل فرم به یک فایل PHP با عنوان welcome_get.php اضافه می شود. در این فایل بر روی این داده ها پردازش های لازم انجام می شود.  اطلاعات ارسالی ابتدا در یک فرم یا صفحه دیگر دریافت می شود و سپس در مقصد قرار می گیرد. صفحه مقصد تمامی اطلاعات موردنیاز خود را از مرورگر دریافت می کند. این بدین معنی است که نیازی به کدنویسی مجزا برای این مرحله توسط کاربر، نیست. زیرا این مرورگر است که وظیفه ارسال کنترل های ورودی را دارد.  برای کار با فرم  در php ، شما به دانش html، و به طور خاص به طراحی فرم با استفاده از تگ <form> نیاز دارید.  تمامی کنترل های مربوط به انتقال اطلاعات و گرفتن ورودی از کاربر در php باید در این تگ قرار داده شود.

ارسال اطلاعات به PHP

ارسال اطلاعات به PHP از طریق فرم ها به این صورت است که هر فرم دارای دو ویژگی کلیدی است. یکd مقصد دریافت فرم است و دیگری نحوه ارسال اطلاعات را تعیین می کند. این دو ویژگی ACTION و METHOD نام دارد. در ادامه به تشریح عملکرد مولفه های ارسال اطلاعات در php می پردازیم:

  • ACTION : اکشن آدرس مقصد ما را مشخص می کند و از نوع URL است . اطلاعات فرم پس از ثبت توسط کاربر به این صفحه هدایت می شوند. مقدار اکشن نمی تواند خالی باشد و باید حتما مشخص شود چون در صورت خالی بودن ایجاد مشکل می کند. در صورتی که مقداری مشخص نکنیم اطلاعات فرم به آدرس پیشفرض form.html هدایت می شود.
  • METHOD : متد نحوه ارسال اطلاعات را مشخص می کند و دو حالت post و get برای آن وجود دارد. به لحاظ عملکرد این دو حالت مشابه یکدیگرند اما نحوه ارسال در آنها متفاوت است.

برای آشنایی کار با فرم ها در php شما نیاز دارید با این دو مولفه و نحوه عملکرد آنها به طور کامل آشنا باشید.

مقایسه GET و POST

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

در متد GET اطلاعات ارسالی در این روش بصورت کد نشده منتقل می شود. در این روش اطلاعات به آدرس URL اضافه می شود و ارسال می شود. بدیهی است که این اطلاعات در قسمت address bar نیز قابل مشاهده است به همین دلیل برای ارسال اطلاعات حساس مانند پسوردها، نباید از این روش استفاده کرد. محدودیت دیگر در این روش این است که طول URL در برخی مرورگر ها می تواند حداکثر 2083 کاراکتر باشد و نمی توان داده های زیادی را انتقال داد. همچنین امکان آپلود فایل از این طریق وجود ندارد.

در زیر نمونه ای از این روش را ملاحظه نمایید:

blog.paya1.ir/submit.php? fname = Amir & age = 44

در متد POST  اطلاعات کد شده و بصورت مخفی ارسال می شوند. این روش برای ارسال اطلاعات حساس مناسب است.

نمونه یک فرم ساده HTML

در این قسمت قصد داریم یک فرم ساده برای آشنایی شما با کار با فرم ها در php ارائه دهیم.

ارسال با متد POST

در این قطعه کد از متد POST استفاده می کند و دارای دو فیلد برای دریافت اطلاعات می باشد. مقصد این فرم، صفحه welcome.php است که پس از ثبت اطلاعات کاربر توسط دکمه submit، این داده ها در این صفحه برای پردازش های بعدی ارسال می شوند.


<html>
<body>

<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>

نمایش متغییرها با دستور echo

از دستور echo می توان برای نمایش متغیرهای ارسالی فرم استفاده کرد. بطور مثال :


<html>
<body>

Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>

</body>
</html>

خروجی این فایل بصورت زیر است:

1​2Welcome John3Your email address is john.doe@example.com

در زمینه کار با فرم ها در php ، از تگ های مختلف استفاده کنیم و فرم های متنوعی طراحی کنیم. تگ های ورودی مختلفی وجود دارد که می توان از آنها استفاده کرد. از جمله کاربردی ترین این تگ ها تگ text (ساخت یک فیلد متنی تک خط) ، تگ checkbox (امکان انتخاب یک گزینه از میان گزینه ها) و تگ radio (انتخاب فقط یک گزینه) است. در مثال ارائه شده در بالا از ورودی text استفاده شده است. در زیر نمونه ای دیگر از طراحی فرم با استفاده از تگ checkbox را می بینیم:


<form>
<input type="checkbox" id="vehicle1" name="vehicle1" value="Bike">
<label for="vehicle1"> I have a bike</label><br>
<input type="checkbox" id="vehicle2" name="vehicle2" value="Car">
<label for="vehicle2"> I have a car</label><br>
<input type="checkbox" id="vehicle3" name="vehicle3" value="Boat">
<label for="vehicle3"> I have a boat</label>
</form>

تگ های ورودی radio

نوع دیگری از تگ های ورودی radio است که در مثال زیر نشان داده شده است:

این تگ برای انتخاب یک یا چند گزینه از میان موارد تعریف شده، قابل استفاده است.


<form>
<input type="radio" id="male" name="gender" value="male">
<label for="male">Male</label><br>
<input type="radio" id="female" name="gender" value="female">
<label for="female">Female</label><br>
<input type="radio" id="other" name="gender" value="other">
<label for="other">Other</label>
</form>

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

نمایش خطا در فرم

یکی از مسائلی که در زمان کار با فرم ها در php باید به آن توجه کنیم، نمایش خطاها است. زمانی که شما یک فرم طراحی می کنید، کاربر باید تمام فیلدهای فرم را پر کرده و آن را ارسال کند. حال در نظر بگیرید که یکی از این فیلدها خالی باشد. در اینصورت باید با یک پیغام خطا به کاربر هشدار دهید. برای درک بهتر این مسئله یک مثال کاربردی ارائه می کنیم.

فرض کنید یک فرم با دو فیلد نام کاربری و رمز عبور داریم که پر کردن هر دو فیلد اجباری است.

کدهای html فرم در این مثال بصورت زیر است:

<form method="post">
<input type="text" name="username" required placeholder="نام کاربری">
<input type="password" name="password" required placeholder="رمز عبور">
<input type="submit" name="login" value="ورود">
</form>

این کد یک فرم با دو فیلد username و password می سازد. عبارت required در تعریف این دو فیلد، الزامی بودن آن ها را تعیین می کند. اطلاعات این دو فیلد با متد POST به دیتابیس ارسال می شود.

حال برای قسمت php این فرم دستورات زیر را وارد می کنیم:

<?php
if( isset($_POST['login']) ){
if( !isset( $_POST['username'] ) || !isset( $_POST['password'] )){
$error = "لطفا هر دو فیلد را کامل کنید.";
}else{
// Login Process
}
}
?>

در این دستور اشرط if اولیه بررسی می کند که دکمه لاگین زده شده باشد. یعنی کاربر اطلاعات فرم را ارسال کرده باشد. شرط if دوم بررسی می کند که فیلدهای نام کاربری و پسورد خالی نباشد. در صورت خالی بودن این دو فیلد، شرط if برقرار است و در نتیجه متغیر $error تعریف می شود. این متغیر پیغام خطای ” لطفا هر دو فیلد را کامل کنید” را نمایش می دهد.

کد کامل این فرم لاگین بصورت زیر است:

<?php
if( isset($_POST['login']) ){
if( !isset($_POST['username']) || !isset($_POST['password'])){
$error = "لطفا هر دو فیلد را کامل کنید.";
}else{
// Login Process
}
}
?>
<html>
<head>
<title>فرم ورود به سایت </title>
</head>
<body>

<?php
if( isset($error) )
echo '<p style="color:red">' . $error . '</p>';
?>

<form method="post">
<input type="text" name="username" required placeholder="نام کاربری">
<input type="password" name="password" required placeholder="رمز عبور">
<input type="submit" name="login" value="ورود">
</form>

</body>
</html>

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

فرم هایی را که می خواهید صادر کنید انتخاب کنید. وقتی روی دکمه دانلود کلیک می‌کنید، فلوئنت فرم‌ها یک فایل JSON برای شما ایجاد می‌کند تا در رایانه‌تان ذخیره کنید. پس از ذخیره فایل دانلود شده، می‌توانید از ابزار Import برای وارد کردن فرم‌ها استفاده کنید.

در آموزش های بعدی با ما همراه باشید تا با سایر امکانات این زبان برنامه نویسی آشنا شویم.

*****

منبع:

https://paya1.ir/dir/websoft3

Share this article:
Previous Post: ایجاد زبانه برای افزونه Ultimate Member

August 29, 2026 - In فناوری اطلاعات

Related Posts