60% تخفیف ویژه دوره تخصصی وردپرس به مدت محدود مشاهده دوره

ارسال اطلاعات به دیتابیس در php

ارسال اطلاعات در php

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

 

پیش نیاز آموزش

برای آموزش ارسال اطلاعات در php به دیتابیس، یک پروژه کوچک انجام می دهیم. آموزش های بیشتر پیرامون مبحث پایگاه داده را می توانید در آموزش کار با پایگاه داده و آموزش دریافت اطلاعات در پایگاه داده مشاهده نمایید.در این مثال قصد داریم یک فرم طراحی کنیم و بوسیله آن اطلاعات را از کاربر گرفته و در پایگاه داده ذخیره کنیم. برای شروع کار، باید یک وب سرور لوکال داشته باشیم برای این کار می توانیم از ابزارهایی نظیر xampp استفاده کنید. سه فایل با نام های config.php، index.php و process.php بسازید. فایل config برای ذخیره مشخصات مربوط به پایگاه داده و اتصال به آن استفاده می شود.

در فایل index دستورات html مانند طراحی فرم را قرار می دهیم و در process کدهای مربوط به داده های سمت کاربر که قرار است به پایگاه ارسال شود را ذخیره می کنیم.

 

 

ساخت دیتابیس در php

ساخت دیتابیس در php اولین کار ما برای ارسال اطلاعات در php است. در ابتدای کار باید پایگاه داده را برای اینکار آماده کنیم. قبل از هر اقدامی باید به سرورهای آپاچی و Mysql در برنامه لوکال هاست خود( مثلا xampp ) متصل شویم. برای آماده سازی پایگاه ابتدا وارد محیط پایگاه Mysql شویم. برای ورود به تنظیمات پایگاه داده آدرس localhost/phpmyadmin را در مرورگر وارد می کنیم. حال در قسمت Phpmyadmin باید یک پایگاه داده با نام پروژه بسازیم که ما آن را myProject می نامیم. برای ساخت دیتابیس در php با زدن روی دکمه new می توانیم یک پایگاه داده جدید برای دریافت اطلاعات بسازیم.

 

پس از انتخاب نام پایگاه داده و تغییر نوع Encoding به utf8mb4_general_ci، بر روی create کلیک می کنیم تا پایگاه ساخته شود. پس از ساخت پایگاه برای ارسال اطلاعات در php ، نوبت به ساخت جداول است.

 

 

ساخت جدول در phpmyadmin

ساخت جدول در phpmyadmin کار بسیار ساده ای است. برای این کار در قسمت ساخت جدول ابتدا نام جدول را مشخص می کنیم. ما نام جدول را users انتخاب می کنیم. همچنین تعداد ستونهای جدول را نیز ۴ قرار می دهیم. سه ستون برای نام کاربری، ایمیل و سن و همچنین یک ستون هم برای شناسه. سپس با زدن کلید go مراحل ساخت جدول در phpmyadmin پایان می یابد.

 

بعد از تکمیل مراحل ساخت جدول وارد تنظیمات مربوط به ستونهای جدول می شوید. در این قسمت شما باید نام ستونها و نوع مقادیر آنها را مشخص کنید. همجنین گزینه ای تحت عنوان  A_I که مخفف Auto Increment است وجود دارد که برای ستون شناسه آن را در حالت فعال قرار می دهیم و در قسمت index نیز نوع کلید را PRIMARY قرار می دهیم تا یونیک بودن شناسه را تعیین کنیم.

نوع داده را برای ستون id مقدار int انتخاب می کنیم، برای ستونهای email و username مقدار varchar را قرار می دهیم زیرا این ستونها از نوع داده ای رشته ای هستند. همچنین طول داده را می توانید برای این دو ستون ۲۵۵ قرار دهید؛ زیرا داده ورودی معمولا بیش از این مقدار نخواهد بود. آخرین ستون مربوط به age است که نوع آن را نیز int قرار داده و طول سه رقم را برای آن در نظر می گیریم.در نهایت با زدن روی دکمه save تنظیمات ما ذخیره می شود. مرحله ساخت پایگاه داده و ساخت جدول در phpmyadmin به پایان رسید حال به مرحله بعدی ارسال اطلاعات در php می رویم.

 

 

تنظیمات config.php

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

 

بلاک try … catch را به این دلیل بکار بردیم که بتوانیم خطاهای اتصال را کنترل کنیم. اگر به دقت کد را بررسی کنید متوجه خواهید شد که از روش PDO برای اتصال استفاده کرده ایم. آموزش کامل این روش را می توانید در این بخش مشاهده نمایید. با استفاده از این روش ما یک شی ساخته و پایگاه داده را وارد کرده ایم. همچنین نام کاربری و رمز عبور را نیز برای اتصال به پایگاه در آن قرار می دهیم. بلاک catch در مواقع بروز خطا کاربرد دارد و اگر خطایی رخ دهد دستور die اجرا می شود.

 

 

 

ساخت فرم در php

ساخت فرم در php و mysql گام بعدی است که ارسال اطلاعات کاربر به آن نیاز داریم. کاربر اطلاعات خود را در فیلدهای فرم وارد کرده و آنها را داخل پایگاه داده ذخیره می کنیم. فیلدهای ورودی فرم همان ستونهای جدول ماست البته فیلد شناسه را خود پایگاه پر میکند و نیازی به اضافه کردن آن نیست، طراحی ظاهری فرم در html و css انجام می شود. کد فرم بصورت زیر است:

در قسمت action  فایل process.php را قرار داده ایم که با زدن دکمه ثبت نام این فایل اجرا شود. متد ارسال را از نوع POST انتخاب کردیم. همچنین برای سه ورودی داده(input) فرم نام هایی را اختصاص دادیم.

 

 

ذخیره اطلاعات فرم در php

ذخیره اطلاعات فرم در php جذابترین قسمت پروژه است. در این قسمت باید فرم را به دیتابیس متصل کنیم تا اطلاعات داخل دیتابیس ذخیره شود. برای این کار از فرم طراحی شده در index.php استفاده می کنیم. کاربر اطلاعات خود را در این فرم وارد می کند و با زدن دکمه submit اطلاعات به سمت process.php ارسال می شود و بوسیله POST قابل دسترسی هستند. شاید بپرسید دقیقا چه داده هایی به سمت فایل process ارسال می شود. برای پاسخ به این سوال می خواهیم داده های ارسالی را چاپ کنیم. برای اینکار از تابع print_r استفاده می کنیم. کد زیر را در process قرار می دهیم تا داده های ارسالی در آرایه POST را نمایش دهد:

این کد آرایه خروجی از اطلاعات وارد شده توسط کاربر را نمایش می دهد. به عنوان مثال چنین خروجی به ما نشان می دهد.

 

مقادیر داخل فرم از طریق name آنها در دسترس هستند. در اینجا نیز name ایندکس آرایه داخل POST است. همانطور که در قسمت طراحی فرم اشاره شد در این مثال برای ارسال اطلاعات در php از متد POST استفاده کردیم. هر فیلدی که در جدول داریم با استفاده از ایندکس آن قابل دسترسی است. حال می خواهیم ارتباطی در که فایل config.php برقرار کرده ایم را در این بخش استفاده کنیم. پس فایل config.php را در ابتدای کدهای process.php، وارد می کنیم.

 

حتما دقت داشته باشید که فایل های دیگر باید حتما در اول فایل include شود. قبل از ذخیره اطلاعات فرم در php باید بررسی کنیم که اطلاعات ارسال شده به پایگاه از سمت کاربر بوده یا خیر؟ برای اینکار از دستور زیر استفاده می کنیم:

 

کد بالا چند شرط دارد: اول اینکه بررسی می کند متد درخواست ما از نوع POST است یا خیر؟ شرط دوم وجود مقادیر وارد شده در پایگاه را بررسی می کند. هدف از این کار این است که رکورد تکراری ارسال نشود. سومین شرط بررسی می کند که هر سه فیلد وارد شده باشد و مقادیر خالی ارسال نشود. در صورت برقرار هر سه شرط مقدار ما معتبر است.

 

 

گرفتن اطلاعات از سایت با php

گرفتن اطلاعات از سایت با php مهمترین مرحله کار ماست. برای اینکار یک تابع بنام insertUserData تعریف می کنیم و آرگومانهای ورودی آنرا برابر فیلدهای جدول قرار می دهیم. متغیر db را از نوع گلوبال تعریف کرده ایم تا در سراسر پروژه بتوانیم از آن استفاده کنیم. البته هرجایی که خواستیم آن را استفاده کنیم باید global را قبل از آن اضافه کنیم. کوئری مربوط به ارسال اطلاعات به سمت دیتابیس را در متغیر sql قرار می دهیم و مقادیر ورودی را بوسیله آن ارسال می کنیم. کد مربوط به گرفتن اطلاعات از سایت با php به نحو زیر است:

 

کوئری قرار داده شده در sql بوسیله تابع prepare بررسی شده و اجرا می شود. برای اجرای این کوئری ابتدا آنرا داخل متغیر stmt ریخته و سپس این متغیر را با تابع execute اجرا می شود. در تابع execute ما یک آرایه داریم که مقادیر ارسالی کوئری ها داخل آن قرار می گیرد. تابع rowcount تعداد فیلدهای خروجی این کوئری را به ما نشان میدهد. در صورتیکه مقدار این تابع یک باشد یعنی کوئری به درستی اجرا شده است. هدف از اجرای این کد، گرفتن اطلاعات از فرم داخل سایت و ارسال اطلاعات در php به سمت پایگاه داده است.

 

 

ارسال نهایی داده ها به پایگاه داده

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

این مشکل با کمک متغیر result قابل حل است. همانطور که اشاره کردیم ما یک تابع rowcount داریم که مقدار آن برای حالت وجود مقدار result برابر یک است. در صورتی که مقدار خروجی result برابر یک شد کد وارد بلاک شرط if شده و بوسیله تابع header به سمت فایل index.php هدایت

می شود. مقداری که به همراه آن اضافه می شود متغیر S مخفف کلمه success است. در صورتی که این مقدار یک بود یعنی دستور با موفقیت اجرا شده و ارسال اطلاعات در php به درستی انجام شده است. در غیر اینصورت ارسال و ذخیره اطلاعات با خطا مواجه شده است.

 

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.