loading...
ماه عسل
WELLCOME TO OUR SITE

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

به وب ماه عسل 98 خوش آمدید


mahasal98 بازدید : 769 پنجشنبه 06 تیر 1392 نظرات (0)
 

 

 

 

 آموزش ارسال اطلاعات به دیتابیس در php

 

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

 

 


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

 

بخشی از کد هایی که توی این صفحه قرار می گیرن میتوننhtml باشن و یا
حتی میشه از Css استفاده کرد برای زیبا سازی ظاهرش ، اما بخشی از کد ها که قرار اطلاعات رو ارسال کنن ، باید PHP باشن که من الان بخش هایی که PHP هستن رو اول یکی یکی میذارم و توضیحشونو میدم و در پایان هم کل کد هایی که باید توصفحه باشن رو قرار میدم:

 

if(@$_POST['Submit'])

 

شما در ابتدای کد ها،کد بالا رو می بینید،ما با این کد در واقع میگیم که اگر کلیدی که اسمش سابمیت هست ،فشرده شد،اون وقت کارهای بعدی رو انجام بده

 

 
include_once("config.php");

 

در خط بعد ،شما دستور بالا رو مشاهده می کنید که در قسمت قبلی،من در موردش توضیح دادم،در واقع ما داریم این صفحه رو بازخوانی می کنیم تا اطلاعاتی رو
که بهش دادیم،ازش بگیریم،البته در مراحل بعد،من آموزش ساخت این فایل رو هم خواهم داد.

 

$con = mysql_connect($db_host,$db_user,$db_pass) or die("خطا در اتصال به پایگاه داده");

 

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

 

 
$con = mysql_connect($db_host,$db_user,$db_pass) or die(mysql_error());

 

در خط بعد ، شما کد زیر رو می بینید.

 

$selected=mysql_select_db($db_name, $con) or die("خطا در انتخاب پایگاه داده");

 

این دستور ، در اصل دیتا بیسی که قرار ما اطلاعات رو بهش ارسال کنیم رو مشخص می کنه ، چون ممکنه ما چندین دیتا بیس رو روی هاستمون داشته باشیم، پس با
این دستور ، یه دیتا بیس رو مشخص می کنیم،توی این کد هم دو تا متغییر می بینید که به ترتیب از سمت چپ به راست مربوط هستن به نام دیتا بیس و نام کانکشنمون
که اولی رو توی فایل کانفیگمون معرفی می کنیم و دومی که که در ابتدای دستورات ، معرفی شده ، ضمنأ ما انتخاب دیتا بیس رو هم برابر یه متغییر قرار دادیم تا به موقش ازش استفاده کنیم.

 

 
if($selected){

 

در خط بعدش ، شما یه شرط رو می بینید که گفته اگه دیتا بیس با موفقیت انجام شد،یه سری کار ها رو انجام بده.

 

 
$name = $_REQUEST['name'];
$mob = $_REQUEST['mob'];

 

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

 

 
$ins = "INSERT INTO $table (name,mob) VALUES ('$name','$mob')";

 

در خط بعد،ما دستور بالا رو می بینیم،ما با این دستور رو می بینیم که برای این هست که به برنامه بگه که چه اطلاعاتی رو کجا قرار بده ، توی این دستور هم ما سه تا متغییر رو می بینیم،از سمت چپ ،اولی مربوط به نام جدولمون هست که توی دیتا بیس ساخته شده،این متغییر در فایل پیکربندی یا کانفیگمون معرفی میشه،قبل از دو متغییر دیگه،ما دو تا کلمه ی نیم و موب رو می بینیم،اینا مربوط هستن به دوتا فیلد یا خانه که داخل جدولمون که اونم توی دیتا بیس هست ساخته شدن بعد ما متغییر name$ رو می بینیم که در وسط همین دستورات معرفی شده و بعدی هم متغییر mob$ هست که اونم همینجا دوباره معرفی شده.

 

نکته : این دستور در واقع اول نام جدول،بعد نام خانه های جدول و بعد هم متغییر هارو معرفی کرده . اگه جای متغییر ها و یا اسم خانه های جدول جابجا بشه،اطلاعات هم جابجا ذخیره میشه .

 

 
$saved=mysql_query($ins );

 

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

 

 
if($saved){

 

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

 

 
mysql_close($con);

 

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

 

 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>فرم ارسال اطلاعات</title>
</head>
<body>
<form method="POST" action="">
	<p><input type="text" name="name" size="20">:نام</p>
	<p><input type="text" name="mob" size="20">:تلفن</p>
	<p><input type="submit" value="ارسال" name="Submit"><input type="reset" value="از نو" name="B2"></p>
</form>

<?php
if(@$_POST['Submit']){
include_once("config.php");
$con = mysql_connect($db_host,$db_user,$db_pass) or die("خطا در اتصال به پایگاه داده");
$selected=mysql_select_db($db_name, $con) or die("خطا در انتخاب پایگاه داده");
if($selected){
$name = $_REQUEST['name'];
$mob = $_REQUEST['mob'];
$ins = "INSERT INTO $db_table (name,mob) VALUES ('$name','$mob')";
$saved=mysql_query($ins );
if($saved){
echo "اطلاعات با موفقیت ذخیره شد";
}

else
{
echo "ذخیره ی اطلاعات موفقیت آمیز نبود";
}

}
mysql_close($con);
}

?>

</body>

</html>

 

این صفحه رو با یه نام دلخواه ذخیره کنید،ترجیحأ مثله من با نام زیر ذخیره کنید:
index.php

 

حالا نوبت فایل config یا پیکربندی هست ، قبلأ در موردش صحبت کردم پس زیاد توضیح نمیدم،اطلاعات زیر رو باید داخلش بنویسیم:

 

 
<?php
$db_host="localhost";
$db_user="root";
$db_pass="12345678";
$db_name="test";
$db_table="test";
?>

 

حالا این فایل رو با نام config ذخیره کنید:

 

config.php

 

::. نکات تکمیلی .::
دوستان ، تمامی آموزش ها تست شده هستن ، پس اگر مشاهده کردید که در حین اجرا ، با خطا مواجه شدید،باید یه بار دیگه چک کنید ببینید مشکل ازکجاست ، برای چک کردن پروژه ، مراحلی که در ادامه گفتم رو دنبال کنید:

 

نکته : برای اجرای این پروژه بر روی لوکال هاست ، مراحل زیر رو انجام بدید:
اول داخل لوکال هاستتون دیتا بیسی با نام دلخواه بسازید،اسمش رو هر چی گذاشتید ،توی قسمتی از فایل config باید اون اسم رو قرار بدید،اون قسمت از فایل کانفیگ رو من اینجا هم نوشتمش :

 

 
$db_name="test";

 

نکته : دیتا بیسی که داخل لوکال هاست ساخته میشه ، به طور پیش فرض ، نام کاربریش root هست و رمز عبورش هیچ کلمه ای نیست!یعنی باید کادر مربوط به رمز عبور خالی باشه ، شما باید اطلاعات مربوط به نام کاربری و رمز عبور دیتابیستون رو هم توی قسمتی از فایل کانفیگ که اینجا هم نوشتمش،جایگذاری کنید،به این شکل:

 

 
$db_user="root";
$db_pass="";

 

 

 

 

همونطوری که می بینید،در قسمتی که مربوط به رمز عبور دیتا بیس هست ، چیزی ننوشتم و فقط””قرار گرفت و چیزی بین “” ها نیست.
حالا برید داخل کنترل پنل لوکال هاستتون(phpmyadmin) و این کارایی که میگم رو انجام بدید:
وارد بخش دیتا بیس ها بشید و روی دیتا بیسی که ساختید کلیک کنید،بعد توی صفحه ای که باز میشه دوتا فیلد هست،یکی بزرگه و یکی کوچکتره و کنار بزرگه هست
شما باید داخل دیتا بیستون یه جدول هم بسازید تا اطلاعات بتونن اونجا ذخیره بشن،پس یه اسم دلخواه انتخاب کنید وداخل فیلد بزرگتره بنویسید،من واسه اسم جدولمون،کلمه ی jadval رو انتخاب کردم،شما اگه خواستید میتونید تغییرش بدید،اما یادتون باشه،اگه تغییرش دادید،باید این تغییر روی توی فایل config هم اعمال کنید.
این اسم همون اسم جدولتون میشه،حالا توی فیلد دیگه که کوچک تر هم ست،بنویسید ۲،این تعداد خانه های موجود در جدولتون هست
حالا روی کلیدی که مقابل این دوتا فیلد هست کلیک کنید،یه صفحه ی دیگه باز میشه،توی این صفحه تعدادی فیلدوجود داره که ما فقط با دوتاشون کار داریم،دوتا ستون هست اینجا،
بالای هرکدوم هم یه فیلد هست،این دو تا ستون،هرکدوم مربوط به یکی از خانه های جدولمون هست که توی دیتا بیس ساختیم

نکته : ما یه دیتا بیس داریم که داخلش یه جدول هست و داخل خود جدول هم دوتا خانه هست .

خب ادامه:حالا داخل فیلدی که بالای ستون سمت چپ هست اسم یکی از خانه های جدول و داخل فیلدی که بالای ستون سمت راست هست،نام یه خانه دیگه رو باید وارد کنیم،فرق
نمی کنه که کدومو کجا وارد کنیم،فقط دقت کنید که توی این پروژه ما قبلأ تعریف کردیم که اسم خانه های جدول،یکیش mob و یکی دیگش هم  name باشه.
بعد از وارد کردنmob و name توی این دوتا ستون(هریکیش توی یه ستون)،حالا کلید پایین صفحه رو بزنید تا اطلاعات ذخیره بشن .فقط دقت کنید که mob و name که اینجا ما توی این دو تا فیلد نوشتیم ، متغییر نیستن،پس حواستون باشه اسمشونو دقیق وارد کنید و علامت $ قبلشون نذارید.
حالا اسم جدولمونو هرچی که گذاشتیم،باید توی فایل config هم ، توی قسمتی که اینجا نوشتم،جایگذاری بشه:

WP-SYNHIGHLIGHT PLUGIN: NOTHING TO HIGHLIGHT! PLEASE READ README.TXT IN PLUGIN FOLDER!

$db_table="اسم جدول";

[/codesy

وقتی که همه ی کارایی که تا اینجا گفتم رو انجام دادید،باید دو تا فایل یکی با نامindex و یکی با نامconfig داشته باشید که البته با فرمت php هستن یا به عبارتی پسوند php دارن،اگه داشتید(!)هر دو تاشو توی هاست یا لوکال هاستتون بذارید و پروژه رو اجرا کنید
من فایل های ضمیمه رو هم قرار دادم که میتونید دانلود کنید.

نکته : دوستان،تا زمانی که مطمئن نشم همتون این قسمتو خوب یاد گرفتید،قسمت بعدی رو ارسال نمی کنم ، پس بهتره اگه مشکلی دارید،حتمأ بپرسید و اگه هم یاد گرفتید اعلام کنید تا بدونم در چه وضعیتی هستید.
پایان این آموزش.

ntax]

مطالب مرتبط
ارسال نظر برای این مطلب

کد امنیتی رفرش
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آرشیو
    آمار سایت
  • کل مطالب : 147
  • کل نظرات : 6
  • افراد آنلاین : 6
  • تعداد اعضا : 19
  • آی پی امروز : 72
  • آی پی دیروز : 69
  • بازدید امروز : 80
  • باردید دیروز : 204
  • گوگل امروز : 0
  • گوگل دیروز : 0
  • بازدید هفته : 354
  • بازدید ماه : 80
  • بازدید سال : 11,009
  • بازدید کلی : 81,911
  • تبلیغات



    باکس 24