ساخت یک فرم با کدنویسی PHP برای دریافت و ذخیره اطلاعات در یک جدول (table) مربوط به یک پایگاه داده

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

فرض کنید یک پایگاه داده با نام kelidestan ساخته ایم که دارای یک جدول با نام students است که دارای دو ستون می باشد. ستون اول، با نام name و از نوع VARCHAR با طول 20 می باشد و ستون دوم با نام mark و از نوع FLOAT می باشد. این اطلاعات را می توانید در شکل زیر که از برنامه phpMyAdmin می باشد نیز مشاهده کنید :

ساخت یک فرم با کدنویسی PHP برای دریافت و ذخیره اطلاعات در یک جدول (table) مربوط به یک پایگاه داده

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

ابتدا یک فایل html با نام form.html می سازیم که کدهای فرم درون آن باید نوشته شود. کدهای این فایل را به صورت زیر می نویسیم :

همان طور که مشاهده می کنید، مشخصه action برای تگ form ، برابر با database.php قرار داده شده است و مشخصه method نیز به صورت post انتخاب گردیده است. معنی این دو انتخاب این است که اطلاعات وارد شده توسط کاربر، با روش post برای فایل database.php ارسال خواهد شد تا این فایل PHP ، پردازش های لازم را بر روی اطلاعات وارد شده، انجام دهد. دقت کنید که چون قبل از نام فایل database.php ، هیچ مسیری مشخص نشده است، بنابراین باید هر دو فایل form.html و database.php ، درون یک فولدر قرار داشته باشند.

شکل فرم به صورت زیر است :

ساخت یک فرم با کدنویسی PHP برای دریافت و ذخیره اطلاعات در یک جدول (table) مربوط به یک پایگاه داده

که باید در قسمت name ، نام دانش آموز و در قسمت mark ، نمره دانش آموز را بنویسیم و سپس بر روی گزینه submit کلیک کنیم (البته نه فعلا، بلکه زمانی که فایل PHP لازم برای پردازش اطاعات دریافتی را نوشته باشیم).

کدهای فایل database.php را به صورت زیر می نویسیم (این فایل اطلاعات ورودی فرم را دریافت کرده و در جدول student از پایگاه داده kelidestan ذخیره خواهد کرد) :

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

اکنون باید ببینیم که آیا اطلاعات وارد شده، در پایگاه داده ذخیره شده است یا خیر. در برنامه phpMyAdmin ، اطلاعات جدول student را بررسی می کنیم :

ساخت یک فرم با کدنویسی PHP برای دریافت و ذخیره اطلاعات در یک جدول (table) مربوط به یک پایگاه داده

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

نکته

چنانچه بخواهیم همین کار را با mysqli انجام بدهیم (به جای mysql)، باید کدهای زیر را بنویسیم :

نویسنده علیرضا گلمکانی
شماره کلید 567
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 20 20 0
جواد
۱۳۹۵/۰۸/۱۲
۱۸:۰۹

با سلام...
من همه ی کارهاربو انجام دادم فقط به جای mark از age استفاده کردم...وقتی به صفحه ی databese وارد میشه این پیغامو میده
Access denied for user 'root'@'localhost' (using password: YES)
مشکل چیه؟
لطفا ایمیل کنید

admin
۱۳۹۵/۰۸/۱۴
۲۳:۰۶

سلام.
باید مشخصات کاربر دارای مجوز دسترسی به پایگاه داده را تغییر بدهید (در کدها، آنها را به صورت نمادین نوشته ایم و شما باید نام کاربری و رمز عبور مربوط به خود را در کدها بنویسید).
یعنی در خط زیر از کدها :

کد پی‌اچ‌پی:
$con=mysql_connect("localhost","root","1234567"); 

یا اگر از mysqli استفاده کرده اید، باید خط زیر از کدها را تغییر بدهید :

کد پی‌اچ‌پی:
$con=mysqli_connect("localhost","root","1234567","kelidestan"); 


Flower

مهمان
۱۴۰۱/۰۶/۱۳
۱۸:۱۸

سلام
رمز و نام کاربری دیتابیس رو از کجا باید ببینیم

یحیی
۱۳۹۵/۱۰/۲۷
۲۳:۵۴

سلام در بین سایت هایی که دیدم بهترین و کامل ترین سایت را دارید خیلی ممنون.
اطلاعاتتون خیلی به دردم خورد Heart

taghipour
۱۳۹۶/۰۵/۱۷
۲۱:۰۹

سپاس از سایت مفید شما
استفاده کردم

موفق باشید

زهرا
۱۳۹۶/۱۱/۱۸
۰۷:۳۷

سلام من تمام اون کارای که شما گفته بودین رو انجام دادم و ی چندتا فیلد خودم اضافه کردم ولی این ارور رو میده

کد پی‌اچ‌پی:
" . mysql_error()); } $sql="INSERT INTO mydb (idاسم کاربرپسورد تلفن ایمیل آدرس محل زندگیVALUES ('$_POST[id]','$_POST[username]','$_POST[pass]','$_POST[tel]','$_POST[emil]','$_POST[adr]')"; if (!mysql_query($sql,$con)){ die('خطای زیر رخ داده است : 

' . mysql_error()); }else{ echo "
اطلاعات ذخیره شد"; } mysql_close($con); ?>

لطفا راهنماییم کنید

admin
۱۳۹۶/۱۱/۱۸
۱۴:۲۹

سلام.
مطمئن شوید که ساختار کدهای PHP را به درستی نوشته اید، چون به نظر می آید که خود کد PHP به عنوان یک متن ساده در خروجی صفحه نمایش داده شده، که این مورد معمولا زمانی اتفاق می افتد که ساختار کدهای PHP به درستی نوشته نشده باشد، مثلا عبارت ابتدایی کدهای PHP حذف شده باشد، یعنی عبارت زیر :

کد پی‌اچ‌پی:
<?php 

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

Flower

Alireza98
۱۳۹۷/۰۲/۱۱
۲۳:۱۷

سلام ممنون از سایت خوبتون
لطفا ساخت جدول با توجه به نوع داده فایل اکسل هم قرار بدین!
یعنی نوع داده هرستون تشخیص بده و بعد جدول با توجه به نوع داده های فایل بسازه
اگه امکانش هست قرار بدین یا راهنمایی بکنید 
خیلی ممنون

ارین
۱۳۹۷/۰۲/۳۱
۱۹:۴۶

با سلام من همه کارهایی که هایی که گفته بودید را انجام دادم ولی name و mark ذخیره نشده است name وmark را که پر میکنم و رو submit query میزنم یه پنحره ای باز میشه که دکمه open و cansel داره open رو که میزنم میگه که میخای رو چه برنامه ای باز کنی 
هرکاری میکنم تو جدول students سیو  باید چیکار کنم ممنون. 

مبین مددی
۱۳۹۷/۰۶/۲۲
۱۷:۴۳

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

علی ماهر
۱۳۹۸/۰۲/۳۱
۱۳:۰۹

سلام.

اگه بخواهیم یه فرم دیگه هم مثل همین فرم داشته باشیم و وقتی اسم حمید سلیمانی را میزنیم بلافاصله نمره 18 را نشان بدهد باید چیکار کنیم 
اگه میشه بگین پروژه نوبت دوم مدرسه خیلی ممنون میشم اگه بگین

ANSEL TM
۱۳۹۸/۰۴/۲۸
۱۹:۵۰

سلام از کد زیر استفاده کن طوری نوشتم که زیاد گیج کننده نباشه..

کد پی‌اچ‌پی:
<form class="" action="" method="post">
  <input type="search" name="search" value="" placeholder="search">
</
form>
<
span><?php if(!empty($_POST['search'])){echo $_POST['search'] ,' جست و جو برای ';}?></span>
<?php
$conn 
mysqli_connect('Host Name''User Name''Password''DB Name');
$query "SELECT * FROM students WHERE name LIKE '%$_POST[search]%'";
if(
$result mysqli_query($conn $query)) {
while(
$obj mysqli_fetch_object($result)){
$mark $obj->mark;
echo 
$mark;?>
<?php 
}} ?>
<style media="screen">
  body{text-align: center;}
  body form{padding: 20px;}
  body form input{padding: 20px;border: none;box-shadow: 0 0 15px #ddd;width: 50%;text-align: left;border-radius: 100px;}
</style> 

TARANOOM
۱۳۹۸/۰۳/۱۳
۰۲:۴۸

سلام وقت بخیر من تمام این کد ها رو نوشتم ولی برام در پاگاه داده ذخیره نمی کنه اگه امکانش هست راهنمایی کنید

ANSEL TM
۱۳۹۸/۰۴/۲۸
۱۹:۱۸

سلام ببینید اگه برای دیتابیس خود پسوردی ندارید در قست پسورد 1234567 رو پاک کنید و خالی بزارید اسم دیتابیستونم بررسی کنید

محمد قنبریان
۱۳۹۸/۰۵/۱۱
۱۷:۵۳

سلام خسته نباشید من همه این کارها رو انجام دادم در آخر وقتی روی دکمه میزنم این خطا رو می ده
Error: Call to undefined function mysql_connect() in C:\wamp64\www\s\database.php on line 2

Karimdad
۱۳۹۸/۰۷/۱۵
۱۰:۰۲

سلام محترم من یک مشکل دارم

یک پروژه ویب کار میکنم یک مشکل دارم گفتم اگر میشه کمی رهنمایی هم کنید .
در php ما چگونه از سه تا چهار تیبل را در یک فورم دیتا دریافت کنیم؟

mina
۱۳۹۹/۰۵/۱۳
۲۰:۵۱

سلام خسته نباشید من تمام مراحل رل مو به مو رفتم
ولی در خروجی کد php را نشان میده

admin
۱۳۹۹/۰۵/۱۴
۲۳:۵۶

سلام.
ابتدا در یک فایل php دیگر (فایلی که دارای پسوند php باشد)، یک کد ساده PHP را نوشته و بررسی کنید که به درستی اجرا می شود یا خیر، تا مطمئن شوید که اجرای کلی کدهای PHP با مشکلی روبرو نیست.
دقت کنید که حتما بر اساس آموزش های اولیه PHP ، نکات محتلف رعایت شده باشد. مثلا فایل php را اگر توسط شبیه ساز سرور (مثل نرم افزار WampServer) در کامپیوتر خود اجرا می کنید، حتما در پوشه مشخص شده توسط آن شبیه ساز قرار گرفته باشد، نه در محل های دیگر از کامپیوتر که در آنها شبیه ساز عمل نمی کند.
چک کنید که حتما پسوند فایل های دارای کد PHP برابر php باشد، مثلا index.php یک فایل با پسوند php است.
همچنین دقت کنید که حتما در ویندوز کامپیوتر شما تعیین شده باشد که پسوند فایل ها نمایش داده شوند، چون ممکن است شما نام فایل را به index.php تغییر دهید، اما چون ویندوز، پسوند فایل ها را نمایش نمی دهد (اگر در تنظیمات ویندوز تعیین شده باشد)، ممکن است نام کامل فایل برابر index.php.html یا مثلا index.php.txt باشد که باعث می شود اجرای کدهای PHP صورت نگیرد.
علاوه بر این دقت کنید که علامت های ابتدا و انتهای کدهای PHP که شروع و پایان کدهای PHP را تعیین می کنند، به درستی نوشته شده باشند، زیرا تغییر حتی یکی از کاراکترهای آنها می تواند باعث شود که کدهای PHP اجرا نشوند و صرفا در خروجی نمایش داده شوند.

Flower

Koohpayma
۱۳۹۹/۱۱/۰۲
۲۱:۵۴

سلام عالی بود فقط یک مشکل وقتی اطلاعات وارد می کنم و روی ارسال میزنم خطای زیر نمایش میده 
No database selected 
چطوری باید دیتابیس انتخاب کنم؟

سلام به عزیزان
۱۴۰۲/۰۹/۱۲
۱۲:۳۰

من یک سوال دارم می خواهم در صورت امکان راهنماییم کنید لطفا" من یک برنامه کد نویسی (فرم سازی در اکسل یا ورد ) درست می کنم ولی نمی دانم چگونه وکجا باید ذخیره کنم وچگونه وقتی می خواهم اجرا کنم تا مثلا" اطلاعات را داخلش ثبت کنم لطفا راهنماییم بفرمایید متشکر از شما

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)

جستجو در کلیدستان، توسط گوگل

جستجو در عنوان کلیدها

دسترسی سریع

کلید
×

شماره کلید


دسته بندی
×

شماره دسته کلید


جستجو
×

جستجو