سبد (0)

تبلیغات

فرم های html در PHP

فرم های HTML در PHP

Wiki

مهمترین چیز موقع کار کردن با فرمهای HTML و PHP این است که هر عنصر در فرم HTML به طور اتوماتیک در فرم PHP قابل دسترس و ردیابی است.

در PHP با استفاده از متغیرهای POST_$ و GET_$ می توان به اطلاعات فرم های HTML دسترسی داشت.

مثال:

در مثال زیر یک فرم HTML با سه عنصر زیر تعریف شده است:

  1. فیلد input از نوع text که با نام "fname" در کد PHP قابل ردیابی است.
  2. فیلد input از نوع text که با نام "age" در کد PHP قابل ردیابی است.
  3. فیلد input از نوع submit که محتویات textها را به صفحه "welcome.php" می فرستد.

<html>
<body>

<form action="welcome.php" method="post">
Name: <input type="text" name="fname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>

</body>
</html>

توجه: در مثال بالا از دو خصوصیت در تگ form استفاده شده ولی به صورت کلی خصوصیات تگ form به صورت زیر است:

  • action: اگر submit اتفاق افتاد، اطلاعات فرم HTML به صفحه ای که در این خصوصیت  مشخص شده ارسال می شود.(به صورت پیش فرض صفحه جاری در نظر گرفته می شود)
  • method: با استفاده از این خصوصیت مشخص می کنیم که ارسال اطلاعات از فرم HTML به صفحه PHP به چه شکل باشد، اگر آنرا با مقدار "get" پر کنیم، اطلاعات فرم در آدرس صفحه قرار می گیرد و ارسال می شود، و برعکس اگر آنرا با مقدار "post" پر کنیم، اطلاعات به صورت یک آرایه ارسال می شود.(به صورت پیشفرض Get در نظر گرفته می شود)
  •  name: نام فرم است كه برای php‏ نیازی به آن نداریم ولی اگه بخواهیم از جاوا اسكریپت استفاده كنیم نیاز می شود (مثل چك كردن صحت ایمیل قبل از ارسال)
  • target: نوع باز شدن صفحه مقصد را مشخص می کند كه شامل صفحه جاری ، صفحه جدید ، صفحه پدر ، یك فریم خاص و ... است.
  • ...

فایل "welcome.php" می تواند چیزی شبیه زیر باشد:

<html>
<body>

Welcome <?php echo $_POST["fname"]; ?>!<br />
You are <?php echo $_POST["age"]; ?> years old.

</body>
</html>

اگر در فرم HTML تعریف شده تکس باکس ها را به صورت  "fname=Amir" و "age=28" مقدار دهی کنیم خروجی برنامه بعد از کلیک روی دکمه "submit" به صورت زیر خواهد بود:

Welcome Amir!
You are 28 years old.

همانطور که قبلاً گفته شد متغیرها با علامت "$" شروع می شوند، در صفحه PHP بالا نیز از متغیری بنام "post_$" استفاده شده که در فصل بعد توضیح داده خواهد شد.


اعتبار سنجی فرم (Validation Form)

Wiki

اعتبار سنجی فرم یا Validation Form یعنی چک کردن ورودی های کاربر، قبل از اینکه در دیتابیس ذخیره شود، مثلاً در بالا برای تکس باکس "age" باید حتماً کاراکترهای عددی وارد شود، در غیر این صورت برنامه باید پیغام خطا بدهد.

به دو صورت می توان اعتبار سنجی کرد:

  1. client scripts: اعتبار سنجی سمت سرویس گیرنده انجام می شود که در این صورت سرعت بیشتر خواهد بود.
  2. server validation: اعتبار سنجی سمت سرویس دهنده انجام می شود، در حقیقت این وظیفه را یک صفحه PHP که روی سرور قرار دارد انجام می دهد.

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


برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.

دیدگاه‌ها  

0 # رهگذر 1395-11-18 16:32
سلام. من دو تا کد رو نوشتم و اجرا کردم. welcome هم بعد از ورود اطلاعات اجرا میشه. ولی مقدا نام و سن رو خالی می گذاره. من دقیقا کدهای شما رو هم کپی کردم که شاید مشکل از نوشتن من باشه ولی باز جواب همان بود.
Welcome !
You are years old.
جای اسم و سن چیزی نمی نویسه.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # A Saba 1396-04-31 03:28
خب برای اینکه احتمالا شما چیزی Submit نکردید. کادرهای نام و سن رو پر کنید و بعد Submit رو بزنید. اون وقت نمایش درستی خواهید داشت.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # احسان عباسی 1395-11-19 19:23
سلام. کدها رو امتحان کردیم مشکلی نداشت و به درستی نام و سن رو نشان می دهد.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # sina2 1394-11-19 12:35
سلام چطور میشه فایل html و css رو که نوشتیم و داخلش از php استفاده کردیم و با xamp اجرا کرد
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # مهرداد صلاحی 1394-11-19 23:17
با سلام. اگر منظورتون if(count($_POST ) > 0 && isset($_POST['b tnSend'])){ // comment هست باید بگم که وقتی که فرم ارسال میشه با توجه به متد فرم که معمولا post هست، آرایه‌ی سراسری POST_$ حاوی مقدار میشه. با دستور count($_POST); //comment در واقع ما متوجه می‌شویم که این آرایه حاوی مقدار هست یا به قول معروف فرم ما ارسال شده است... توسط دستور isset($_POST['b tnSend']) //comment هم ما منحصرا چک می‌کنیم که فرم مربوط به دکمه سابمیت btnSend ارسال شده است یا خیر...

با چک کردن این شروط میتوان مطمئن شد که فرم ما صحیح ارسال شده است... البته باید مقادیر کنترل‌ها رو اعتبارسنجی کرد که خود این یه بخش مجزا داره.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # azadeh ahmadi 1394-07-22 09:53
سلام...میشه توی همین مثالی که برای جوابhava نوشتید، در مورد خط اولش که if داره توضیح بدین؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # مهرداد صلاحی 1394-07-22 10:32
با سلام.
دادها از طریق فرم توسط تو متد GET یا POST ارسال میشن. در این مثال داده ها توسط متد POST ارسال شدن.
وقتی که داده ارسال میشه، این مقادیر داخل آرایه ای سراسری به نام POST_$ ریخته میشه.
وقتی که این آرایه مقدار داشته باشه، تعداد خونه های اون بیشتر از صفر هست. توسط دستور count($_POST) > 0 تشخیص میدیم که این آرایه مقدار داره یا نه. اگر مقداری بیشتر از صفر داشت شرط ما درست است و وارد if میشه.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # amin 1394-07-19 17:09
مثال ها اجرا نمیشود و خطا میدهند
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # مهرداد صلاحی 1394-07-19 20:31
با سلام.
دلایل مختلفی برای عدم اجرا و بروز خطا وجود داره. مثلا:
- این که در سیستم شما فایلهای php اجرا نمی‌شن.
- مسیر و آدرسی دهی اشتباه هست.
- کد اشتباه هست.
و ...

برای راهنمایی بهتر، شما کد و خطایی که مشاهده می‌کنید رو قرار بدید.
موفق باشید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # hava 1394-05-21 16:15
سلام
من این دو فایل فرم و welcome.php را روی سرور اپلود کردم ولی جواب نمیدهد می شه بگید اگر خواستیم روی هاست خودمان امتحان کنیم چه شکلی لطفا همین یک سوال را جواب دهید
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # مهرداد صلاحی 1394-07-19 20:29
با سلام.
اگه در سیستم شما برنامه xamp نصب هست باید در مسیر ریشه‌ی این برنامه برید. پوشه‌ای هست به نام httpdocs که باید فایلها پروژه رو در این پوشه قرار بدید تا بتونید فایلهای php رو اجرا کنید.

وقتی در مرورگر عبارت localhost رو وارد کنید، دقیقا محتویات این پوشه‌ (httpdocs) به شما نمایش داده خواهد شد.
در مورد مثال هم من یه نمونه کد خیلی ساده برای شما قرار دادم. کل کد رو کپی و در یک فایل با پسوند php. ذخیره کنید و سپس در مسیر پوشه‌ای که بهتون گفتم قرار بدید (ترجیحاً نام فایل رو page_name.php قرار بدید). سپس در مرورگر با عبارت localhost/page_ name.php می‌تونید فایل رو اجرا و نتیجه رو مشاهده کنید.

کد:
<?php
if(count($_POST) > 0 && isset($_POST['b tnSend'])){
$name = $_POST['txtName '];
$age = $_POST['txtAge' ];

echo "Your name: <b>" . $name . "<b> <br>" ;;
echo "Your age: <b>" . $age . "<b><br><br><br>";
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Fo rm</title> ;
<style>
input{border:1p x solid #ccc; padding:2px;}
</style>
</head>
<body>
<div>
<form method="po st" action="&q uot;>
<table>
<tr>
<td>Name: </td>
<td><i nput type="text " name="txtN ame" /></td> ;
</tr>
<tr>
<td>Age: </td>
<td><i nput type="text " name="txtA ge" /></td> ;
</tr>
<tr>
<td>& nbsp;</td> ;
<td><i nput type="subm it" name="btnS end" value="Send"/></td> ;
</tr>
</table>
</form>
</div>
</body>
</html>
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+6 # miladm202 1393-10-29 10:19
با سلام ،
واقعا سایت مفیدی ساختین برای کسایی که میخوان واقعا یاد بگیرن . مطالب از نمونه های خارجی هم کاملتره و ساده تر بیان شده .
موفق باشید و کلی آرزوهای خوب برای شما
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+19 # mohammad 1393-04-09 17:27
سلام خدمت دوست عزیز و گرامی پهلوان صادق تبریک به خاطر این سایت موفق و خوب ، واقعا با همه ی سایت دیگه فرق داره باور بفرمایید اغراق نمی کنم اصلا چیزهای جدیدی آموزش میده آخه من کتابها و آموزش های فارسی و انگلیسی زیادی خوندم اکثرشون کپی برداری بوده ولی اینا یه چیز دیگه انشالله سالم و سربلند باشید
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن

آموزش صوتی PHP

بستن
مدرس:
سوال و جواب:

ابزاری که در پیش روی دارید یکی از ابزارهای بسیار کاربردی سایت بیاموز در زمینه آموزش است، این ابزار برای سهولت یادگیری شما کاربران محترم طراحی شده است.

فقط کافی است روی عنوان پاراگراف مورد نظرتان کلیک کنید تا پخش صدا آغاز شود ...!

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه پرداخت آنلاین - بانک اقتصاد نوین پرداخت آنلاین - بانک سامان
 
دوره های آموزشی راه اندازی کسب و کارهای اینترنتی
تبلیغات اینترنتی