در این مقاله، آموزش نحوه ارسال اطلاعات به دیتابیس در PHP ارائه شده است. در بخش اول، دو روش برای ارسال اطلاعات به دیتابیس در PHP یا درج یا همان INSERT کردن دادهها در پایگاه داده با PHP استفاده میشود. یکی از این روشها استفاده از MySQLi و روش دیگر نیز استفاده از PDO است. در قسمت دوم این نوشتار نیز به آموزش ارسال اطلاعات Form به دیتابیس در PHP پرداخته خواهد شد. در انتها نیز به معرفی دورههای آموزش PHP تم آف پرداخته شده است.
آموزش ارسال اطلاعات به دیتابیس در PHP
پیش از شروع یادگیری آموزش ارسال اطلاعات به دیتابیس در PHP نیاز به دسترسی به کنترل پنل میزبان وجود دارد.
ساخت جدول برای ارسال اطلاعات به دیتابیس در PHP
در ابتدا باید یک جدول برای دادهها ایجاد شود. اگر جدول از قبل ساخته شده بود، نیاز به تکرار آن نیست و باید به مرحله بعدی رفت.
ایجاد جدول فرایند سادهای است که میتوان آن را با ابزار تحت وب مدیریت MySQL به نام phpMyAdmin انجام داد که در کنترل پنل میزبان (هاست) قابل دسترسی است. پس از باز کردن صفحه phpMyAdmin، صفحه زیر مشاهده میشود:
مطابق با تصویر فوق، جدولی با نام Students برای پایگاه داده u104357129_name ایجاد میشود. میتوان با کلیک روی گزینه Create Table، جدول جدیدی ایجاد کرد. سپس صفحه جدیدی باز میشود که میتوان تمام اطلاعات موردنیاز برای جدول را در آن وارد کرد. تصویر زیر نشاندهنده این صفحه است.
با توجه به اینکه در این مقاله قصد ارائه راهنمایی ساده و سریع وجود دارد، برای کسب اطلاعات بیشتر پیرامون ساختار جدول و پایگاه داده و تنظیماتی که میتوان برای ستونها انجام داد، میتوان به مستندات رسمی ابزار phpMyAdmin مراجعه کرد.
اکنون در ادامه برخی از توضیحات لازم در خصوص تنظیمات و خصوصیتهای ستونهایی ارائه میشود که استفاده شدهاند:
- Name: این ویژگی برای نام ستون است که در بالای جدول نشان داده خواهد شد.
- Type: برای مشخص کردن نوع داده استفاده میشود و میتواند شامل string ،varchar ،int و بسیاری موارد دیگر باشد. به عنوان مثال در تصویر فوق varchar انتخاب شده است، چون باید نامی از نوع رشته وارد این فیلد شود.
- Length/Values: برای تعیین حداکثر طول مجاز ورودی در ستون مربوطه به کار میرود.
- Index: در تصویر فوق برای فیلد ID از شاخص اصلی (Primary) استفاده شده است. هنگام ساخت جدول پیشنهاد میشود که برای آن یک ستون ID در نظر گرفته شود. ستون ID ورودیهای جدول را میشمارد و موقع پیکربندی روابط جدول، مورد نیاز خواهد بود. همچنین، گزینه A_I تیک خورده که به معنی افزایش خودکار (Auto Increment) است که به طور خودکار ورودیها را میشمارد.
پس از فشردن دکمه Save، جدول مربوطه ساخته میشود.
کدهای PHP لازم برای ارسال اطلاعات به دیتابیس در PHP
برای ارسال اطلاعات به دیتابیس در PHP یا همان درج (INSERT) کردن اطلاعات در پایگاه داده MySQL، دو روش مختلف وجود دارد. هم میتوان از روش PHP MySQLi استفاده کرد و هم امکان به کارگیری روش «شی داده PHP» یا همان PDO وجود دارد.
روش MySQLi برای ارسال اطلاعات به دیتابیس در PHP
برای ارسال اطلاعات به دیتابیس در PHP، ابتدا نیاز است که اتصال به پایگاه داده برقرار شود. پس از انجام این کار، باید کار را با نوشتن کوئری درج کردن در MySQL ادامه داد. برای عملیات درج یا همان ارسال اطلاعات به دیتابیس از کوئری INSERT استفاده میشود. در ادامه، نمونه کد کامل PHP با روشهای (متُدهای) لازم برای اتصال و وارد کردن دادهها (درج دادهها) ارائه شده است:
" . mysqli_error($conn);
}
mysqli_close($conn);
?>
بخش اول کدهای بالا (خطهای ۳ تا ۱۸) مربوطه به اتصال به پایگاه داده است. در ادامه این مقاله به این بخش پرداخته نخواهد شد. اگر چه برای آشنایی بیشتر با نحوه اتصال به پایگاه داده، میتوان مقاله آموزشی اتصال PHP به MySQL — به زبان ساده را مطالعه کرد. بنابراین، اکنون در ادامه به ارائه توضیحات بیشتری برای خط ۱۹ کدهای فوق پرداخته میشود. خط ۱۹ به صورت زیر است:
$sql = "INSERT INTO Students (name, lastname, email) VALUES ('Test', 'Testing', 'Testing@tesing.com')";
خط کد فوق مهمترین بخش این کدها در این آموزش به حساب میآید، زیرا در آن عملیات ارسال اطلاعات به دیتابیس در PHP پیادهسازی شده است. در خط کد فوق، عبارت INSERT INTO دستوری است که برای ارسال دادهها به جدول مربوطه در پایگاه داده مورد استفاده قرار میگیرد. با استفاده از دستور INSERT INTO در این مثال، دادهها به جدول Students اضافه میشوند.
همانطور که در کدهای فوق مشاهده میشود، پس از دستور INSERT INTO، نام ستونهایی از جدول (name, lastname, email) در داخل پرانتز آمده که قرار است دادهها در آنها درج شوند. در مشخص کردن نام ستونهایی که قرار است مقادیر مربوطه در آنها درج شوند، ترتیب مهم است. مثلاً اگر نام ستونها در این دستور به صورت (email, lastname, name) نوشته میشد، مقادیر با ترتیب اشتباهی اضافه میشدند.
در ادامه این خط از کد از گزاره VALUES استفاده شده است. پس از گزاره VALUES مقادیری در داخل پرانتز نوشته میشوند که قصد وارد کردن آنها در هر یک از ستونهای مشخص شده وجود دارد. به این طریق، هر ستون نمایاننده یک مقدار مشخص است. برای مثال در این مورد به خصوص، نتیجه به صورت زیر خواهد بود:
name = Test, lastname = Testing, email = Testing@testing.com
نکته دیگری که وجود دارد این است که چون کوئری مربوطه در داخل کدهای PHP نوشته شده است، کوئریهای SQL باید حتماً بین علامتهای نقل قول (” “) قرار بگیرند. در مثال فوق، همه کدهایی که بین علامت نقل قول و پس از عبارت «sql =$» قرار گرفتهاند، کوئری یا همان پرسوجوی SQL به حساب میآیند.
بخش بعدی کد (خطهای ۲۰ تا ۲۲) که مجدداً در خط زیر آمده است، بررسی میکند که آیا کوئری مربوطه موفقیتآمیز بوده است یا خیر.
if (mysqli_query($conn, $sql)) {
echo "New record created successfully";
}
در صورتی که کوئری با موفقیت اجرا شده باشد، به سادگی پیامی با محتوای «New record created successfully» نشان داده خواهد شد. بخش آخر کدها (خطهای ۲۲ تا ۲۴) نیز مربوط به نمایش پیام خطا در صورت موفقیتآمیز نبودن اجرای کوئری مربوطه است:
else {
echo "Error: " . $sql . "
" . mysqli_error($conn);
}
خط کد فوق یک پیغام خطای SQL را در صورت بروز مشکل نمایش میدهد. در ادامه این مقاله آموزشی به روش شی داده PHP یا همان متُد PDO برای ارسال اطلاعات به دیتابیس در PHP پرداخته خواهد شد.
روش PDO برای ارسال اطلاعات به دیتابیس در PHP چگونه انجام میشود؟
افزونه PDO یا همان PHP Data Objects یک رابط کم حجم و پایدار را برای دسترسی به پایگاههای داده در PHP فراهم میکند. PDO یک لایه انتزاعی را برای دسترسی به دادهها ارائه میدهد. این یعنی فارق از نوع پایگاه داده استفاده شده، میتوان از توابع یکسانی برای صدور کوئریها و بیرون کشیدن دادهها استفاده کرد.
همچنین، افزونه PDO برای مواقعی که بنا به دلایلی نیاز است نوع پایگاه داده تغییر کند، افزونه بسیار مفیدی به حساب میآید و میتوان با نوشتن یک خط کد، پایگاه داده را عوض کرد. برای مثال، هنگامی که در طراحی سایت با PHP از پایگاه داده MySQL استفاده شده باشد و نیاز به تغییر نوع پایگاه به وجود بیاید، در صورت استفاده از افزونه PDO، میتوان نوع پایگاه داده را با نوشتن یک یا چند دستور ساده تغییر داد. اما در صورتی که از افزونه PDO استفاده نشده باشد، به اجبار باید تمام کدهای مرتبط با پایگاه داده را تغییر داد.
برای استفاده از متد PDO هم مانند مثال قبلی در ابتدا نیاز است که اتصال به پایگاه داده برقرار شود و این کار با ایجاد یک شی PDO جدید انجام میشود. از آنجایی که اتصال به پایگاه داده MySQL یک شی PDO محسوب میشود، برای آماده کردن و اجرای کوئریها باید از متدهای مختلف PDO استفاده کرد. منظور از متُد هر تابعی است که جزئی از هر شی به حساب میآید. شیوه فراخوانی متدهای اشیا به صورت است:
$the_Object->the_Method();
روش PDO، امکان «آمادهسازی» کدهای SQL را پیش از اجرای آنها فراهم میکند. به عبارت دیگر، کوئری SQL پیش از اجرا شدن، ارزیابی و «تصحیح» میشود. یک حمله تزریق SQL ساده میتواند فقط با نوشتن کدهای SQL در درون فیلدی داخل یک فرم انجام شود. برای درک بهتر این موضوع، در ادامه مثالی ارائه شده است:
// User writes this in the username field of a login form
john"; DROP DATABASE user_table;
// The final query becomes this
"SELECT * FROM user_table WHERE username = john"; DROP DATABASE user_table;
در قطعه کد فوق، از آنجایی که کد SQL از نظر قواعد نحوی درست است، علامت نقطه ویرگول، عبارت DROP DATABASE user_table را به یک کوئری جدید تبدیل میکند و جدول User حذف خواهد شد. اما در صورت استفاده از عبارتهای آماده (Prepared Statements)، به کاراکترهای کوتیشن (“) و نقطه ویرگول اجازه داده نخواهد شد که کوئری اصلی را خاتمه دهند و دستور مخرب DROP DATABASE هیچ وقت اجرا نمیشود. بنابراین، رعایت نکته زیر بسیار ضروری است.
نکته: هنگام استفاده از روش PDO برای ارسال یا دریافت دادهها از پایگاه داده، همیشه باید از عبارتهای آماده استفاده شود.
برای استفاده از عبارتهای آماده، باید یک متغیر جدید نوشته شود که متد ()prepare را از شی پایگاه داده فراخوانی کند. کدهای صحیح در ادامه آمده است:
PDO::ERRMODE_EXCEPTION];
// Create a new connection to the MySQL database using PDO, $my_Db_Connection is an object
try {
$my_Db_Connection = new PDO($sql, $username, $password, $dsn_Options);
echo "Connected successfully";
} catch (PDOException $error) {
echo 'Connection error: ' . $error->getMessage();
}
// Set the variables for the person we want to add to the database
$first_Name = "Test";
$last_Name = "Testing";
$email = "Testing@testing.com";
// Here we create a variable that calls the prepare() method of the database object
// The SQL query you want to run is entered as the parameter, and placeholders are written like this :placeholder_name
$my_Insert_Statement = $my_Db_Connection->prepare("INSERT INTO Students (name, lastname, email) VALUES (:first_name, :last_name, :email)");
// Now we tell the script which variable each placeholder actually refers to using the bindParam() method
// First parameter is the placeholder in the statement above - the second parameter is a variable that it should refer to
$my_Insert_Statement->bindParam(':first_name', $first_Name);
$my_Insert_Statement->bindParam(':last_name', $last_Name);
$my_Insert_Statement->bindParam(':email', $email);
// Execute the query using the data we just defined
// The execute() method returns TRUE if it is successful and FALSE if it is not, allowing you to write your own messages here
if ($my_Insert_Statement->execute()) {
echo "New record created successfully";
} else {
echo "Unable to create record";
}
// At this point you can change the data of the variables and execute again to add more data to the database
$first_Name = "John";
$last_Name = "Smith";
$email = "john.smith@email.com";
$my_Insert_Statement->execute();
// Execute again now that the variables have changed
if ($my_Insert_Statement->execute()) {
echo "New record created successfully";
} else {
echo "Unable to create record";
}
در خطوط 28، 29 و 30 قطعه کد فوق، متدbindParam() از شی پایگاه داده استفاده شده است. متد bindValue() هم وجود دارد که بسیار با این متد متفاوت است. در ادامه به توضیح بیشتری در مورد این دو متد پرداخته میشود:
- متد bindParam(): این متد هنگامی که به متدexecute() برسد، دادهها را ارزیابی میکند. اولین باری که اسکریپت به یک متد execute() میرسد، میبیند که $first_Name برابر با « «Testاست، مقدار آن را به $first_Nameمیدهد و کوئری را اجرا میکند. زمانی که اسکریپت به دومین متد execute() میرسد، متوجه میشود که حالا $first_Name با مقدار John متناظر است و مقدار John را به $first_Name تخصیص میدهد و کوئری مجدداً با مقدارهای جدید اجرا میشود. نکته حائز اهمیت این است که کوئری یک بار تعریف شده و با دادههای مختلف در نقاط مختلف اسکریپت دوباره استفاده میشود.
- متد bindValue(): این متد دادهها را به محض رسیدن به bindValue() ارزیابی میکند. از آنجایی که وقتی به bindValue() رسیدهایم، مقدار Test در $first_Name قرار داشته است، هر بار که یک متد execute() فراخوانی شود، مقدار Test برای $my_Insert_Statement مورد استفاده قرار خواهد گرفت.
نکته قابل توجه این است که از مقدار $first_Nameدوباره استفاده شده است و دفعه دوم مقدار جدیدی به آن داده میشود. اگر بعد از اجرای این اسکریپت پایگاه داده بررسی شود، با وجود این که متغیر $first_Name در انتهای اسکریپت برابر با مقدار John است، ملاحظه خواهد شد که هر دو نام تعریف شده در پایگاه داده وجود دارند. باید به یاد داشت که PHP قبل از اجرای یک اسکریپت آن را به طور کامل ارزیابی میکند.
اگر اسکریپت بهروزرسانی و به جای متُد bindValue از bindParam استفاده شود، مقدار Test Testing دو بار در پایگاه داده MySQL درج میشود و مقدار «John Smith» نادیده گرفته خواهد شد.
تایید موفقیت ارسال اطلاعات به دیتابیس در PHP و حل مشکلات رایج در این خصوص
اگر اجرای کوئری و وارد کردن آن در پایگاه داده MySQL با موفقیت انجام شود، پیامی به صورت زیر نمایش داده خواهد شد:
در پیام بالا توضیح داده شده که اتصال با موفقیت انجام و یک رکورد جدید با موفقیت ایجاد شده است.
رفع خطاهای رایج ارسال اطلاعات به دیتابیس در PHP
با این حال، گاهی پیش میآید که در هنگام ارسال یک رکورد جدید به پایگاه داده با استفاده از دستور INSERT در زبان SQL خطا ایجاد شود. اما هیچ جای نگرانی نیست، چرا که راههایی برای رفع این خطاها در MySQL وجود دارند.
پیغام خطای MySQLi در ارسال اطلاعات به دیتابیس در PHP
در صورتی که یک پیغام خطای MySQLi نمایش داده شود، میتوان از روشهای زیر برای رفع آن استفاده کرد. به عنوان مثال، در ابتدا باید یک خطای نحوی در کد ایجاد شود، پس از انجام این کار، پیامی مشابه با پیام زیر مشاهده خواهد شد:
همانطور که در پیام بالا مشاهده میشود، بخش اول کدها مشکلی ندارد و اتصال با موفقیت انجام میشود. اما در ادامه، کوئری SQL با خطا مواجه شده است. این خطا در ادامه ملاحظه میشود:
یک خطای نحوی باعث شده که اسکریپت به درستی اجرا نشود. این خطا مربوط به خط کد زیر است:
$sql = "INSERT INTO Students {name, lastname, email} VALUES ('Thom', 'Vial', 'thom.v@some.com')";
در خط کد فوق به جای پرانتز ساده از آکولاد استفاده شده است. از آنجایی که استفاده از آکولاد درست نیست، منجر به رخداد یک خطای نحوی میشود.
استثناها در اتصال PDO برای نمایش پیامهای خطا
در خط 7 اتصال PDO، حالت خطا روی حالت «نمایش تمام استثناها» (Display all Exceptions) تنظیم شده است. اگر این مورد از اسکریپت حذف میشد و اجرای کوئری ناموفق میبود، هیچ پیام خطایی دریافت نمیشد. با فعال بودن استثناها، آن مشکل خاص در قالب پیام نشان داده میشود.
این شیوه به طور کلی فقط زمانی قابل استفاده است که اسکریپت به گونهای نوشته شود که نام پایگاه داده و جدولهای آن قابل دسترسی باشند. معمولاً ترجیح بر این است که این اطلاعات مخفی شوند تا هر فردی با اهداف مخرب نتواند به دادهها دسترسی داشته باشد. در حالتی که به جای پرانتز از آکولاد استفاده شود، پیغام خطا به صورت زیر خواهد بود:
سایر خطاهای رایج ارسال اطلاعات به دیتابیس در PHP
سایر مشکلات احتمالی که امکان وقوع آنها در هنگام اجرای کوئریها وجود دارد، شامل موارد زیر هستند:
- ستونها نادرست مشخص شده باشند (ستونها وجود ندارند یا اشتباه املایی وجود دارد).
- یک نوع مقدار به نوع دیگری از ستون تخصیص داده شده باشد. به عنوان مثال، اگر عددی مانند 47 به یک ستون Name اختصاص داده شود، خطا رخ میدهد، زیرا مقدار ستون Name باید یک رشته باشد. اما در صورتی که عددی بین نقل قولها قرار بگیرد، به عنوان مثال “47”، نتیجه درستی حاصل خواهد شد. زیرا هر عددی که بین نقل قولها قرار بگیرد یک رشته محسوب میشود. اینجا نیز “47” به عنوان یک رشته به ستون Name اختصاص مییابد.
- تلاش برای وارد کردن دادهها در جدولی که وجود ندارد یا اشتباه املایی جدول هم منجر به خطا میشود.
تمام این خطاها را میتوان با پیروی از دستورالعملهای پیام خطا یا بررسی گزارش خطا (Error Log) به راحتی برطرف کرد.
پس از وارد کردن موفقیتآمیز دادهها، باید ملاحظه کرد که آنها به پایگاه داده اضافه شدهاند. در تصویر فوق، نمونهای از جدولی در phpMyAdmin مشاهده میشود که دادهها در آن اضافه شدهاند. تا اینجا در این مقاله آموزشی به نحوه ارسال اطلاعات به دیتابیس در PHP ، عیبیابی مسائل رایج آن، ارسال و ذخیرهسازی دادهها در پایگاه داده پرداخته شد. حال پس از آموزش مباحث گفته شده، در ادامه به نحوه درج دادههای فرم در دیتابیس با استفاده از زبان PHP پرداخته شده است.
آموزش ارسال اطلاعات Form به دیتابیس در PHP
در ادامه این مطلب، مروری بر تگهای مورد نیاز برایآموزش ارسال اطلاعات Form به دیتابیس در PHP مانند تگ form، نحوه دریافت دادههای فرم، ساخت دیتابیس، جدول و ستونها و مباحث دیگر انجام شده است.
موارد لازم برای ارسال اطلاعات Form به دیتابیس در PHP
در مقاله آموزشی ارسال اطلاعات به دیتابیس در PHP ، نحوه ذخیره دادههایی آموزش داده میشود که از طریق فرم HTML به پایگاه داده ارسال شدهاند. برای ذخیرهسازی دادهها در پایگاه داده به ملزومات زیر نیاز است:
- XAMPP Server (Web Server)
- HTML
- PHP
- MySQL
فُرم HTML چیست ؟
در ابتدا باید یک فرم HTML ایجاد شود که ورودی کاربر را از صفحه کلید بگیرد. فرم HTML سندی است که اطلاعات یک کاربر را با استفاده از کنترلهای تعاملی روی سرور وب ذخیره میکند. فرم HTML حاوی انواع مختلفی از اطلاعات مانند نام کاربری، رمز عبور، شماره تلفن، شناسه ایمیل و موارد دیگر است.
کادر بررسی (check box)، کادر ورودی (input box)، دکمههای رادیویی (radio buttons)، دکمههای ارسال و غیره، از جمله عناصری هستند که در فرمهای HTML به کار میروند. با کمک این عناصر، اطلاعات یک کاربر روی سرور وب ارسال میشوند. صفحات HTML از مجموعه فرمانهایی تشکیل شدهاند که به آن «برچسب» یا «تگ» (Tag) میگویند و تگ «form» نیز برای ساخت فرم در HTML به کار میرود. در ادامه، ساختار نحوی برای استفاده از تگ فُرم ملاحظه میشود:
همچنین نیاز به ذکر است که برای ارسال مقادیر به صفحه بعد از نام صفحه به صورت ساختار نحوی زیر استفاده میشود. برای ارسال دادهها به سرور میتوان از متد GET یا POST استفاده کرد:
HTML پایه و اساس صفحات وب است و به وسیله آن صفحات وبسایتها و اپلیکیشنهای وب ساختاربندی میشوند. بنابراین، یادگیری HTML بسیار مهم است. برای آشنایی بیشتر با HTML، مطالعه مقالههای زیر پیشنهاد میشود:
- HTML و هر آنچه باید پیش از شروع یادگیری آن بدانید — راهنمای مقدماتی و کاربردی
- سند و ساختار وب سایت در HTML — راهنمای کاربردی
اتصال به پایگاه داده برای ارسال اطلاعات Form به دیتابیس در PHP
به مجموعه دادههای مرتبط با یکدیگر پایگاه داده میگویند. نرم افزار XAMPP مخفف چند پلتفرمی (Cross-Platform)، آپاچی (Apache)، PHP ،MySQL و پرل (Perl) است.
XAMPP از جمله سرورهای محلی برای توسعه و برنامه نویسی وب سایت به حساب میآید. در PHP، میتوان با استفاده از وبسرور میزبان محلی XAMPP به پایگاه داده متصل شد.
connect_error) {
die("Connection failed: "
. $conn->connect_error);
}
$sqlquery = "INSERT INTO table VALUES
('John', 'Doe', 'john@example.com')"
if ($conn->query($sql) === TRUE) {
echo "record inserted successfully";
} else {
echo "Error: " . $sql . "
" . $conn->error;
}
خطوط ۲ تا ۴ در قطعه کد فوق برای اتصال به پایگاه داده است. servername بیانگر هاست مربوطه است که در اینجا localhost تعریف شد و username نام کاربری ورود به Mysql، متغیر password بیانگر رمز عبور و dbname نام پایگاه داده است. در مرحله بعد، هدف جمعآوری دادههای فرمی است که از طریق فرم HTML ارسال شدهاند.
دریافت دادههای فرم HTML به پایگاه داده در PHP چگونه است ؟
متد PHP $_REQUEST یک متغیر فوق سراسری (Super Global) است که برای جمعآوری دادهها پس از ارسال فرم HTML مورد استفاده قرار میگیرد. در این بخش دادههای فُرم جمعآوری میشوند.
این دادههای فرم همان دادههایی هستند که از طریق فرم HTML ارسال شدهاند. ساختار نحوی این متد به صورت زیر است:
// Closing the connection.
$conn->close();
?>
مراحل طراحی پروژه ارسال اطلاعات Form به دیتابیس در PHP
مراحل کامل برای طراحی پروژه به شرح زیر است:
- در گام اول باید XAMPP Server را راهاندازی کرد.
- حال نیاز است در مرورگر وب صفحه localhost/phpmyadmin باز شود.
- در این مرحله، پایگاه دادهای با نام staff و جدولی با اسم college ایجاد میشود.
- اکنون باید کدهای HTML و PHP در نرم افزار Notepad نوشته شوند و در پوشه خاصی ذخیره شوند.
- دادهها از طریق فرم HTML ارسال میشوند.
- در مرحله آخر نیاز است که درستی نتیجه بررسی شود؛ یعنی بررسی شود که دادهها به پایگاه داده اضافه شدهاند یا خیر؟
حال در ادامه این بخش از مطلب آموزشی ارسال اطلاعات به دیتابیس در PHP ، هر یک از مراحل طراحی پروژه که در بالا ذکر شدند برای درک بهتر به صورت تصویری ارائه شدهاند:
راهاندازی XAMPP Server:
در این گام از طریق باز کردن نرم افزار XAMPP و انتخاب گزینه XAMPP Start، سرور XAMPP راهاندازی میشود.
باز کردن صفحه localhost/phpmyadmin
حال باید نشانی localhost/phpmyadmin در نوار آدرس مرورگر وب وارد شود. برای ساخت دیتابیس در صفحه باز شده، باید نام پایگاه داده و Encoding آن را مطابق با تصویر زیر مشخص کرد. در اینجا نام پایگاه داده موردنظر staff است، بعد از ثبت نام پایگاه داده، گزینه Create انتخاب میشود.
ایجاد پایگاه داده و جدول در پروژه ارسال اطلاعات Form به دیتابیس در PHP
- ایجاد جدول: پس از ساخت پایگاه داده به طور خودکار صفحهای برای ساخت جدول باز میشود. حال نیاز است که مطابق با تصویر زیر جدولی با نام college ایجاد شود.
- ساخت ستونها: پس از ساخت جدول، نوبت تکمیل کردن ستونهای جدول است. با توجه به این که نوع همه فیلدهای جدول رشته است، Type آنها Varchar انتخاب شده است. بعد از وارد کردن ستونها باید دکمه Save انتخاب شود.
نوشتن کدهای HTML و PHP در Notepad
- کدنویسی PHP در Notepad: در این گام باید نرم افزار Notepad باز شود و کدنویسی PHP را در آن شروع کرد. حال نیاز است که مانند تصویر زیر، این سند Notepad را با نام «index.php» و سند Notepad دیگری را نیز با نام «insert.php» در پوشهای داخل htdocs ذخیره کرد.
- کد index.php: در کد زیر صفت action به فایل insert.php متصل شده است تا پس از تکمیل و ارسال فرم، کاربر به صفحه insert.php ارجاع داده شود. همچنین برای این فرم، متد Post در نظر گرفته شده است. برای دسترسی به مقادیر وارد شده درون فرم، باید برای هر ورودی (input) آن یک Name مطابق با نام آن input در نظر گرفته شود.
GFG- Store Data
Storing Form data in Database
- کد insert.php: نیاز است که قطعه کد زیر در سند insert.php ذخیره شود.
Insert Page page
localhost
// username => root
// password => empty
// database name => staff
$conn = mysqli_connect("localhost", "root", "", "staff");
// Check connection
if($conn === false){
die("ERROR: Could not connect. "
. mysqli_connect_error());
}
// Taking all 5 values from the form data(input)
$first_name = $_REQUEST['first_name'];
$last_name = $_REQUEST['last_name'];
$gender = $_REQUEST['gender'];
$address = $_REQUEST['address'];
$email = $_REQUEST['email'];
// Performing insert query execution
// here our table name is college
$sql = "INSERT INTO college VALUES ('$first_name',
'$last_name','$gender','$address','$email')";
if(mysqli_query($conn, $sql)){
echo "data stored in a database successfully."
. " Please browse your localhost php my admin"
. " to view the updated data
";
echo nl2br("n$first_namen $last_namen "
. "$gendern $addressn $email");
} else{
echo "ERROR: Hush! Sorry $sql. "
. mysqli_error($conn);
}
// Close connection
mysqli_close($conn);
?>
ارسال دادهها از طریق فرم HTML و بررسی نتایج
- خروجی: در این مرحله باید آدرس localhost/7058/index.php را در نوار آدرس مرورگر نوشت. آدرس ذکر شده فرم را نشان میدهد. بعد از این که فرم تکمیل و ارسال شد، دادههای آن به پایگاه داده ارسال میشوند. در ادامه تصاویر فرم مطرح شده نشان داده شده است:
- برای ارسال اطلاعات به دیتابیس نیاز است که در ابتدا فرم ساخته شده تکمیل شود:
- پس از تکمیل فرم و انتخاب دکمه submit، پیام زیر نمایش داده میشود:
- بررسی پایگاه داده: مطابق با تصویر زیر، پس از ارسال فرم دادهها، باید بررسی شود که دادهها به پایگاه داده اضافه شدهاند یا خیر؟
جمعبندی
در مقاله آموزشی ارسال اطلاعات به دیتابیس در PHP ، نحوه استفاده از زبان برنامه نویسی PHP برای درج دادهها در پایگاه داده MySQL با استفاده از MySQLi و PDO شرح داده شد. همچنین نحوه عیبیابی خطاهای رایج اتصال نیز مطرح شد.
در بخش دوم این مقاله هم به ارسال اطلاعات Form به دیتابیس در PHP پرداخته شد. چنانچه افرادی در حال یادگیری نحوه کدنویسی یا ساخت وب سایت باشند، آموختن نحوه استفاده از PHP برای درج داده در پایگاه داده MySQL برای آنها مفید است.