هنگام ارسال فرم، به طور پیش فرض از نوع استفاده می شود. فرم ها در HTML سربرگ گروه عنصر را تشکیل دهید

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

1) ایجاد یک فرم ساده

برچسب ها

و
ابتدا و انتهای فرم را تنظیم کنید. تگ شروع فرم
شامل دو ویژگی است: عملو روش. ویژگی action حاوی URL اسکریپت است که باید برای پردازش اسکریپت فراخوانی شود. صفت روشبه مرورگر می گوید که از چه نوع درخواست HTTP برای ارسال فرم استفاده کند. مقادیر ممکن پستو گرفتن.

اظهار نظر

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

$text = nl2br($_POST["mytext"]);
?>

یک وظیفه:فرض کنید می خواهیم یک لیست کشویی با سال های 2000 تا 2050 ایجاد کنیم.
راه حل:نیاز به ایجاد فرم HTMLبا یک عنصر SELECT و PHP - یک اسکریپت برای پردازش فرم.

بحث:

بیایید با ایجاد دو فایل شروع کنیم: form.htmlو action.php. در پرونده form.htmlحاوی یک فرم html با یک لیست کشویی است. علاوه بر این، مقادیر موجود در لیست را می توان به دو روش مشخص کرد:

I. ورود دستی داده ها:

II. وارد کردن داده ها از طریق یک حلقه:

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

شرح:

بیایید یک فرم HTML برای ارسال فایل به سرور ایجاد کنیم.




این فرم html یک عنصر دارد مرور کردن، که یک کادر محاوره ای برای انتخاب یک فایل برای آپلود در سرور باز می کند. با فشردن دکمه "انتقال فایل"، فایل به اسکریپت handler ارسال می شود.

سپس باید یک کنترل کننده اسکریپت بنویسید action.php. قبل از نوشتن handler، باید تصمیم بگیرید که فایل را در کدام دایرکتوری کپی کنیم:

if(isset($_FILES [ "myfile" ])) // اگر فایل وجود داشته باشد
{
$catalog = "../image/" ; // دایرکتوری ما
if (is_dir ($catalog )) // اگر چنین دایرکتوری وجود داشته باشد
{
$myfile = $_FILES [ "myfile" ][ "tmp_name" ]; // فایل Temp
$myfile_name = $_FILES [ "myfile" ][ "name" ]; // نام فایل
if(! copy ($myfile , $catalog )) echo "خطا در کپی کردن فایل". $myfile_name // اگر کپی فایل ناموفق بود
}
else mkdir("../image/"); // اگر چنین دایرکتوری وجود نداشته باشد، آن را ایجاد می کنیم
}
?>

اظهار نظر

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

این مثال ایجاد یک دایرکتوری و کپی کردن یک فایل در آن دایرکتوری در سرور را نشان می دهد.

من همچنین می خواهم یک مثال را با یک عنصر نشان دهم چک باکس. این عنصر با سایر عناصر تفاوت اندکی دارد که اگر یکی از عناصر نباشد چک باکس'a انتخاب نشده است، سپس یک متغیر superglobal $_POSTیک مقدار خالی برمی گرداند:


آبی
مشکی
سفید

if (!empty($_POST [ "mycolor" ])) echo $_POST [ "mycolor" ]; // اگر حداقل 1 مورد انتخاب شده باشد
اکو "انتخاب مقدار";
?>

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

برای تعیین اینکه برچسب فعلی به کدام عنصر فرم تعلق دارد، باید از ویژگی for تگ استفاده کنید

بیایید مثالی از استفاده را در نظر بگیریم:

</span>مثال استفاده از برچسب <label><span>
>

در این مثال ما:

  • داخل اولینتشکیل می دهد:
    • ارسال شده دودکمه های رادیویی ( ) برای انتخاب یکی از گزینه های محدود. دوباره توجه داشته باشید که برای دکمه های رادیویی در همان فرم باید به همین نام باشد، مقادیر مختلفی را نشان دادیم. برای اولینعلامت زده شده است، که مشخص می‌کند هنگام بارگیری صفحه، عنصر باید از قبل انتخاب شود (در این مورد، یک دکمه رادیویی با مقدار بله). علاوه بر این، ما برای دکمه‌های رادیویی ویژگی‌های سراسری را مشخص کرده‌ایم که یک شناسه منحصربه‌فرد برای عنصر تعریف می‌کنند.
    • دو مورد قرار داد
  • داخل دومینتشکیل می دهد:
    • ارسال شده دودکمه های رادیویی ( ) برای انتخاب یکی از گزینه های محدود. برای دومینبرای دکمه‌های رادیویی، ویژگی checked را مشخص کرده‌ایم که نشان می‌دهد عنصر باید از قبل در بارگذاری صفحه انتخاب شود (در این مورد، دکمه رادیویی با مقدار no ). علاوه بر این، مقادیر منحصربفردی را برای دکمه‌های رادیویی درون فرم و نام‌های مشابه مشخص کرده‌ایم.
    • دو مورد قرار داد

در مرورگر، هر دو گزینه (روش) برای استفاده از برچسب های متنی یکسان به نظر می رسند:

راهنمای ابزار برای فیلدهای ورودی

بیایید به یک مثال استفاده نگاه کنیم:

نمونه ای از استفاده از ویژگی placeholder <span>
وارد شدن: type="text" name="login" placeholder= "ورودی خود را وارد کنید">

کلمه عبور: type="password" name="password" placeholder= "رمز عبور خود را وارد کنید">

AT این مثالما برای عنصر مشخص کردیم با تایپ متن (یک فیلد متنی تک خطی) و رمز عبور (یک فیلد رمز عبور)، یک راهنمایی متنی برای کاربر (ویژگی مکان نگهدار) که مقدار مورد انتظار برای ورودی را توصیف می کند.

نتیجه مثال ما:

سوالات و وظایف در مورد موضوع

قبل از اینکه به موضوع بعدی بروید، کار عملی را کامل کنید:

  • با استفاده از دانش به دست آمده، فرم سفارش زیر را ایجاد کنید:

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

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

با استفاده از ابزارهای HTML، می توانید فرم هایی را برای وارد کردن اطلاعات توسط یک بازدیدکننده به یک صفحه وب ایجاد کنید.

برچسب بزنید

توضیحات فرم بین تگ های جفت شده قرار می گیرد ... . چندین فرم را می توان به طور همزمان در یک صفحه قرار داد، اما نمی توان آنها را یکی در دیگری قرار داد.

ویژگی ها را تگ کنید
accept-charset فهرستی از رمزگذاری های ورودی پذیرفته شده توسط سروری که این فرم را پردازش می کند. در شرایطی که صفحات سایت در یک رمزگذاری هستند و داده ها باید در دیگری ارسال شوند کمک می کند. یا زمانی که مرورگر رمزگذاری را به اشتباه تشخیص داد. مثلا: accept-charset="cp1251"یا accept-charset = "utf8". اقدام نام برنامه ای که فرم را پردازش می کند. enctype نوع محتوا (روش رمزگذاری). به عنوان مثال، اگر فرم حاوی فایل باشد، پس enctype="داده های چند بخشی/فرم".
(پیش فرض enctype="application/x-www-form-urlencodedمتد روشی برای انتقال داده ها از فرم به برنامه پردازش. می تواند مقادیر زیر را بگیرد: گرفتنیا پست. استفاده كردن گرفتنمرورگر داده های دریافتی از کاربر را رمزگذاری می کند و به مقدار مشخصه اضافه می کند عملجفت نام = ارزش داده ها از مقدار مشخصه جدا می شوند عملعلامت سوال (؟). استفاده كردن پستداده ها به طور جداگانه منتقل می شوند. name نام فرم. جاوا اسکریپت را تنظیم کنید تا بتوانید فرم را با نام به جای شماره ارجاع دهید. novalidate وجود این ویژگی به این معنی است که داده های فرم نباید اعتبار سنجی شوند. onsubmit handler JavaScript برای اعتبارسنجی فرم. از آنجایی که کنترل کننده جاوا اسکریپت به صورت محلی فعال می شود، فرآیند بسیار سریع است. این بسیار بهتر از ارسال مکرر داده از طریق شبکه است زیرا کاربر احمق یک بار دیگر قسمتی را به اشتباه پر کرده است. target فریم که در آن اطلاعات دریافتی ارسال شود (مشخص شده در اسناد حاوی فریم).
مثال
... عناصر فرم ...

ظرف

به تنهایی وجود ندارد. داده های ارسال شده در عناصر فرم خاص - کنترل ها موجود است. با آنها است که کاربر با وارد کردن داده ها تعامل دارد.

عناصر فرم

دکمه

برچسب بزنید