ساخت یک فرم با کدنویسی PHP برای دریافت و ذخیره اطلاعات در یک جدول (table) مربوط به یک پایگاه داده
قبلا نحوه ذخیره اطلاعات در جدول مربوط به یک پایگاه داده را شرح دادیم، اما شاید نیاز باشد که این کار را با یک فرم انجام دهیم تا اطلاعاتی که کاربران وارد می کنند (یا حتی خود ما)، درون جدول پایگاه داده ذخیره شود.
فرض کنید یک پایگاه داده با نام kelidestan ساخته ایم که دارای یک جدول با نام students است که دارای دو ستون می باشد. ستون اول، با نام name و از نوع VARCHAR با طول 20 می باشد و ستون دوم با نام mark و از نوع FLOAT می باشد. این اطلاعات را می توانید در شکل زیر که از برنامه phpMyAdmin می باشد نیز مشاهده کنید :
این جدول برای ذخیره نام دانش آموزان و نمره آنها می باشد و حالا ما قصد داریم که نام تعدادی دانش آموز و همچنین نمره آنها را در جدول students ذخیره کنیم. اما می خواهیم برای این منظور، یک فرم طراحی کنیم تا توسط آن فرم، اطلاعات را دریافت کرده و سپس اطلاعات در جدول students از پایگاه داده، ذخیره شود.
ابتدا یک فایل html با نام form.html می سازیم که کدهای فرم درون آن باید نوشته شود. کدهای این فایل را به صورت زیر می نویسیم :
همان طور که مشاهده می کنید، مشخصه action برای تگ form ، برابر با database.php قرار داده شده است و مشخصه method نیز به صورت post انتخاب گردیده است. معنی این دو انتخاب این است که اطلاعات وارد شده توسط کاربر، با روش post برای فایل database.php ارسال خواهد شد تا این فایل PHP ، پردازش های لازم را بر روی اطلاعات وارد شده، انجام دهد. دقت کنید که چون قبل از نام فایل database.php ، هیچ مسیری مشخص نشده است، بنابراین باید هر دو فایل form.html و database.php ، درون یک فولدر قرار داشته باشند.
شکل فرم به صورت زیر است :
که باید در قسمت name ، نام دانش آموز و در قسمت mark ، نمره دانش آموز را بنویسیم و سپس بر روی گزینه submit کلیک کنیم (البته نه فعلا، بلکه زمانی که فایل PHP لازم برای پردازش اطاعات دریافتی را نوشته باشیم).
کدهای فایل database.php را به صورت زیر می نویسیم (این فایل اطلاعات ورودی فرم را دریافت کرده و در جدول student از پایگاه داده kelidestan ذخیره خواهد کرد) :
اکنون می خواهیم اطلاعات یک دانش آموز را در جدول پایگاه داده، ذخیره کنیم. نام hamid soleimani و نمره 18 را در فرم وارد کرده و سپس بر روی گزینه Submit کلیک می کنیم.
اکنون باید ببینیم که آیا اطلاعات وارد شده، در پایگاه داده ذخیره شده است یا خیر. در برنامه phpMyAdmin ، اطلاعات جدول student را بررسی می کنیم :
مشاهده می کنید که اطلاعات وارد شده، به جدول student افزوده شده است.
چنانچه بخواهیم همین کار را با mysqli انجام بدهیم (به جای mysql)، باید کدهای زیر را بنویسیم :
جواد با سلام...
من همه ی کارهاربو انجام دادم فقط به جای mark از age استفاده کردم...وقتی به صفحه ی databese وارد میشه این پیغامو میده
Access denied for user 'root'@'localhost' (using password: YES)
مشکل چیه؟
لطفا ایمیل کنید
admin سلام.
باید مشخصات کاربر دارای مجوز دسترسی به پایگاه داده را تغییر بدهید (در کدها، آنها را به صورت نمادین نوشته ایم و شما باید نام کاربری و رمز عبور مربوط به خود را در کدها بنویسید).
یعنی در خط زیر از کدها :
<?php
$con=mysql_connect("localhost","root","1234567");
یا اگر از mysqli استفاده کرده اید، باید خط زیر از کدها را تغییر بدهید :
<?php
$con=mysqli_connect("localhost","root","1234567","kelidestan");
مهمان سلام
رمز و نام کاربری دیتابیس رو از کجا باید ببینیم
یحیی
زهرا
ارین
علی ماهر
ANSEL TM
TARANOOM
mina
Koohpayma
سلام به عزیزان