در این مقاله از کدپز با جلسه دهم PHP در خدمت شما هستیم.
در قسمت قبل در جلسه نهم PHP مبحث جلسه چهارم PHP مربوط به آرایه ها را گسترش دادیم. در ابتدا یک یادآوری از “آرایه ها در PHP “ مطرح شد. سپس سعی بر این شد تا توابعی برای مرتب سازی آرایه ها نام برده شود. و سرآخر با متغیر های superglobal در PHP آشنا شدیم. هرچند ادامه ی مبحث آخر را به تناوب در باقی جلسات و این جلسه بیان می کنیم.
در این جلسه ( جلسه دهم PHP )، نحوه کار با فرم ها در پی اچ پی را مورد بررسی قرار می دهیم. پیشنهاد می شود که قبل از شروع این جلسه مبحث فرم ها در HTML را فرا گیرید. سپس به ادامه ی مبحث توجه کنید.
اما در این جلسه:
در این جلسه با مثالی جامع تقریبا تمامی بخش های یک فرم در html را بررسی می کنیم. و سپس نقش php در این فرم ها را توضیح می دهیم. با متد های GET_$ و POST_$ آشنا می شویم. و متوجه می شویم که کجا از آن ها استفاده کنیم.
فرم هایی که توسط html نوشته می شوند، می توانند از کابر مقادیری را دریافت کنند. این فرم ها شامل یک یا چندین کنترل کادرِ متن، دکمه های انتخابی و منو هایی برای انتخاب گزینه ی مورد نظر می باشند.
همانطور که می دانید فرم زیر یک فرم html
می باشد. به مثال زیر از جلسه دهم PHP توجه نمایید.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>form in php</title>
</head>
<body>
<h2>form in html</h2>
<form action="27.form.php" method="post">
<fieldset style="width: 600px;">
<legend>register form</legend>
<input type="text" name="website" value="codepaz.com" readonly> <br>
<h2>Specifications:</h2>
fullname: <input type="text" name="fname" size="25px" maxlength="25"> <br>
mail: <input type="email" value="example@gmail.com" name="mail"> <br>
password: <input type="password" name="pass"> <br>
<h2>choose your education:</h2>
<select>
<option value="diplom" name="diplom">diplom</option>
<option value="kardani" name="kardani">kardani</option>
<option value="karshenasi" name="karshenasi">karshenasi</option>
<option value="arshad" name="arshad">arshad</option>
</select>
<h2>choose your age:</h2>
<input type="range" name="age" min="8" max="100">
<h2>Gender:</h2>
<input type="checkbox" name="gender" value="Male" checked>Male
<input type="checkbox" name="gender" value="Famle">Famle
<input type="radio" name="gender" value="Famle">Other
<br><br>
<textarea name="message" rows="10" cols="30">type your comment:>></textarea>
<br><br>
<input type="submit" value="Submit" name="submit">
<input type="reset" value="reset" name="reset">
</fieldset>
</form>
</body>
</html>
فرم بالا بخش های زیادی دارد. سعی کنید تک به تک بخش
های آن را بررسی کنید تا کمی برایتان
یادآوری شود. اما اگر جایی از آن را مشکل دارید می توانید در پایین همین بخش کامنت
بگذارید.
فرم html بالا را
ملاحضه نمودید. این فرم اطلاعات متعددی از کاربر دریافت می کند. اما :
اطلاعات دریافت شده از فرم کجا میروند؟
ذخیره داده ها از فرم چگونه است؟
پی اچ پی چه نقشی خواهد داشت؟
و سر آخر کار با فرم ها در PHP
چگونه است؟
هر دو متغیر superglobal ، در جلسه نهم PHP معرفی شدند. در این بخش قرار است تفاوت این دو را بررسی کنیم. هر دو متد، اطلاعات فرم را جمع آوری می کنند. کمی بالاتر مثالی از یک فرم آورده شد. که تقریبا همه کار انجام می داد. اگر توجه کنید ما در آن مثال از متد POST استفاده کردیم.
زمانی که کاربر تمامی کادر ها را پر کرده و بر روی Submit کلیک می کند، اطلاعات پر شده برای پردازش به فایل با نام ۲۷٫form.php ارسال می شوند. این در حالی است که این ارسال به وسیله ی متد HTTP POST ارسال شده است. این متد اطلاعات را در URL نمایش نمی دهد.
اما مثال بالا از جلسه دهم PHP را یک بار دیگر با متد GET اجرا کنید. ملاحضه می کنید که تمامی این اطلاعات در URL به نمایش در آمده اند.
ابتدا مثالی که در ابتدای جلسه (جلسه دهم PHP ) آورده شد را در نظر بگیرید.
قطعه کد زیر را هم در فایلی با پسوند .php وارد کنید.
من نیز فایلی با نام ۲۷٫form.php
ساخته ام.
مثال زیر از جلسه دهم PHP در
نظر بگیرید.
Welcome <?php echo $_POST["fname"]; ?><br>
Your email address is: <?php echo $_POST["mail"]; ?>
حال در هر کجای فرم name
برابر “ fname و mail “ باشد، مقدار آن چاپ می شود. برای مثال من fullname
را sajjadhosseinzadeh و mail
را sajjadhosseinzadeh1997@gmail.com
وارد کرده ام.
Welcome sajjadhosseinzadeh
Your email address is: sajjadhosseinzadeh1997@gmail.com
تذکر۱: توجه داشته باشید که هر دو فایل با پسوند های
.html و .php در کنار هم باشند. و برای اجرای فایل از
قسمت localhost ، فایل با پسوند .html
را باز کنید.
تذکر۲: برای نمایش همچین خروجی ای تنها پر کردن fullname
و mail کافی است.
تذکر۳: توجه داشته باشید که اگر مقدار متد عبارت POST
نبود. و مقدار GET را اختیار کرده بود، باید قطعه کد زیر اجرا
می شد.
مثال زیر از جلسه دهم PHP در نظر بگیرید.
Welcome <?php echo $_GET["fname"]; ?><br>
Your email address is: <?php echo $_POST["mail"]; ?>
بنابراین توجه داشته باشید که : GET_$ یک آرایه از متغیرهایی است که از طریق پارامترهای URL به اسکریپت فعلی منتقل می شود. و POST_$ یک آرایه از متغیرهایی است که از طریق روش HTTP POST به اسکریپت فعلی منتقل شده است. بنابراین هرگز از GET برای ارسال پسورد ها و یا دیگر اطلاعات مهم استفاده نکنید.
توجه داشته باشید اطلاعاتی که با روش POST ارسال می شوند، به دیگران نشان داده نمی شوند. ( یعنی تمامی اسامی /
مقادیر درون بدنِHTTP تعبیه شده اند. ) و همچنین هیچ محدودیتی برای مقدار اطلاعاتی ارسال می
شوند وجود ندارد.
علاوه بر این، POST از قابلیت های پیشرفته مانند پشتیبانی از ورودی باینری چند بخش در هنگام
آپلود فایل ها به سرور پشتیبانی می کند.
ما نیز POST را برای ارسال اطلاعاتتان پیشنهاد می کنیم.
تمرین : به عنوان یک تمرین در جلسه دهم PHP شما نیز مانند من، کدِ فرمی را بنویسید که از دو کادر username و password تشکیل شده باشد. و فقط زمانی که کاربر دکمه ی submit را می زند، متنی را نمایش دهد. در غیر اینصورت هیچگونه متنی وجود نداشته باشد. (از عبارت های شرطی if….else….elseif استفاده کنید. جلسه پنجم PHP )
توجه کنید اگر کاربر حتی یکی از دو کادر ِ فرم را پر
کرد و submit را زد، اِروری مبنی بر کار نادرست کاربر
نمایش دهید.
جواب تمرین: در ابتدا سعی کنید تا جواب تمرین را
خودتان به دست آورید.
جواب تمرین فرم ها در PHP از جلسه دهم PHP
<html>
<body>
<form action="29.exercise_form.php" method="post">
Username: <input type="text" name="name"><br>
Password: <input type="password" name="pass"><br>
<input type="submit" name="submit">
</form>
</body>
</html>
<?php
if ($_POST['submit'] and !empty($_POST['name']) and !empty($_POST['pass'])){
echo 'Welcome '. $_POST["name"] .'<br>';
echo 'Your password address is : '. $_POST["pass"];
}elseif ($_POST['submit'] and empty($_POST['name']) or empty($_POST['password'])){
echo 'fill two section is necessary';
}
?>
اگر سوالی از تمرین بالا داشتید میتونید تو کامنت ها بپرسید.
تبریک میگم شما موفق شدید تا جلسه دهم PHP و همچنین پی اچ پی مقدماتی را پشت سر بگذارید.
جلسه معرفی | رفتن به مطلب | |
جلسه اول Php | رفتن به مطلب | |
جلسه دوم Php | رفتن به مطلب | |
جلسه سوم Php | رفتن به مطلب | |
جلسه چهارم PHP | رفتن به مطلب | |
جلسه پنجم PHP | رفتن به مطلب | |
جلسه ششم PHP | رفتن به مطلب | |
جلسه هفتم PHP | رفتن به مطلب | |
جلسه هشتم PHP | رفتن به مطلب | |
جلسه نهم PHP | رفتن به مطلب | |
جلسه دهم PHP - یادآوری فرم در html - فرم ها در PHP - آشنایی با متد های GET_$ و POST_$ | رفتن به مطلب | |
جلسه یازدهم PHP: شی گرایی - تعریف کلاس - ساخت اشیا فراخوانی تابع عضو | رفتن به مطلب | |
جلسه پانزدهم PHP: اتصال PHP به MySQL - (PDO یا MySQL) - بستن اتصال | رفتن به مطلب | |
جلسه هفدهم PHP : وارد کردن اطلاعات در MySQL با دو روش mysqli و PDO - به صورت رویه ای و شی گرایی | رفتن به مطلب | |
جلسه هجدهم PHP- دریافت آخرین شناسه در پایگاه داده MySQL - دستورات آماده PHP در MySQL | رفتن به مطلب | |
جلسه نوزدهم PHP: | رفتن به مطلب | |
جلسه بیست یکم PHP : XML - DOM - SimpleXML | رفتن به مطلب | |
جلسه بیست دوم PHP : | رفتن به مطلب | |
جلسه بیست سوم PHP : پایگاه داده و Ajax | رفتن به مطلب | |
جلسه بیست چهارم PHP : تمارین PHP | رفتن به مطلب | |
جلسه بیست پنجم PHP | رفتن به مطلب |