PDA

نسخه کامل مشاهده نسخه کامل : چگونگي ارتباط دادن صفحات php به mysql و ساخت جدول



golbarg73
18-08-2011, 13:41
سلام دوستنا عزيز همونطور که من در پست قبل گفتم من دوتا صفحه طراحي کردم به نامهاي regist.php و save.php اطلاعات توسط کاربر در صفحه regist.php وارد ميشه (مثل نام نام خانوادگي و غيره) واسه تاييد به صفحه save.php ميره اونجا اگه کارب اطلاعاتش درست بود تاييد ميکنه(
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید)
حالا ميخوام بدونم چطور بايد وقتي که کاربر اطلاعات رو تاييد کرد اطلاعات به mysql بره و اونجا ذخيره بشه
ممنون ميشم اگه کمکم کنيد
در ضمن بگم که من تقريبا هيچ چيز از mysql و table و کوئري و اينجور چيزا نميدونم.
بازم پيشاپيش ممنون از کمکتون.

MaSoUd555
18-08-2011, 14:06
توضیحش یخرده طولانیه:31:پس لینک میذارم

اینجا طریقه کانکت شدن به دیتابیس و اینسرت کردن اطلاعات هست



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


بیشتر مطلب خواستی بسرچ

how to connect to mysql by php یا how to insert to mysql by php یا یا یا .......

مشکل بود هم بگو

golbarg73
18-08-2011, 18:25
دوست عزيز پس واسه مقدمات ميرم يه کم مطالعه ميکنم بعد اگه تو جزييات مشکل داشتم ازت ميپرسم .مرسي

golbarg73
18-08-2011, 19:31
با سلام دوستان عزيز من يه کدي قرار دادم که اطلاعات رو واسه کانکت شدن به ديتابيس گذاشتم ولي وقتي تو localhost اجرا ميکنم اين اخطار رو ميده:
Warning: mysql_connect() [function.mysql-connect ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])]: Access denied for user 'eli'@'localhost' (using password: NO) in C:\EasyPHP-5.3.7RC5\[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] on line 3
Could not connect: Access denied for user 'eli'@'localhost' (using password: NO)
ميشه راهنماييم کنيد مشکل کجاست؟
اينم کل کداي پي اچ پي هست که گذاشتم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

MaSoUd555
18-08-2011, 19:38
سلام همونطور که توی خود ارور آمده شما در کانکت شدن به mysql مشکل دارید

از صحت پسورد و یوزر مطمئن دارید ؟

روی شبیه ساز سرور خاصی این کار رو انجام میدید؟(از wamp یا xamp استفاده کنید؟)

اگه تغییری در تنظیمات اولیه mysql ایجاد نکردید نام کاربری پیشفرض root و پسوردشو خالی بذارید

m.m.m5651
18-08-2011, 19:44
نه، مشکل اینجاست که حق دسترسی دیتابیس رو برای لوکال هاست بستین، باید برین توی صفحه ی اصلی phpMyAdmin, بعد توی قسمت Databases, جلوی دیتابیس مورد نظر اون عکس یا نماد رو بزنید، بعد در قسمت یوزر نیم و localhost ، اون عکس مداد رو بزنید، همه ی تیک ها رو بزنید و go ی اون قسمت رو بزنید. اونوقت احتمال 99% درسته.
خودتون رو هم خیلی پیچوندید. مثلا

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
رو میشه این طور بنویسید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و بعد هم دیگه همه ی $con ها رو درون کد بردارید. این طور خیلی راحت تره.
البته این رو خود w3 schools گفته بود. اون شاید خواسته این طور بنویسه کد رو.

MaSoUd555
18-08-2011, 19:50
نه، مشکل اینجاست که حق دسترسی دیتابیس رو برای لوکال هاست بستین، باید برین توی صفحه ی اصلی phpMyAdmin, بعد توی قسمت Databases, جلوی دیتابیس مورد نظر اون عکس یا نماد رو بزنید، بعد در قسمت یوزر نیم و localhost ، اون عکس مداد رو بزنید، همه ی تیک ها رو بزنید و go ی اون قسمت رو بزنید. اونوقت احتمال 99% درسته.
.

نظر شما محترم

ایشون حتی نتونسته به db کانکت شه!!!اینی که شما گفتی مال دسترسی های یوزرهای mysqlه

از صحت حرفتون اطمینان دارید؟ در هر حال من هنوزم فکر میکنم مشکل ازونیه که من گفتم:31:

m.m.m5651
18-08-2011, 19:56
Access denied for user یعنی دسترسی ممنوع برای کاربر!
گوگل ترنسلیت: دسترسی برای کاربر را تکذیب کرد
شاید هنوز یوزر رو نساخته باشید، باید اول یوزر رو ساخته باشید، اونوقت براش رمز هم انتخاب کنید و ... الان من هم بهتون پیشنهاد می کنم از توی خود phpMyAdmin بسازیدش. من خودم همین کار رو کردم.
از xampp یا wampp ترجیح میدم استفاده کنید. easy php زیاد چیز خوبی نیست (به نظر من :دی).

golbarg73
18-08-2011, 20:39
نه دوست عزيز (آقا مسعود) من تونستم به ديتا بيس متصل شم فکر ميکنم بايد کاري که دوستمونavalde گفتن رو انجام بدم البته من کاملا متوجه نشدم شما کدوم قسمت رو ميگيد و پيداش نکردم ميشه بيشتر توضيح بديد ؟
در ضمن من از نرم افزار easyphp استفاده ميکنم.
يوزر هم نساختم چطور بايد اين کارو کنم؟( منظورم با کدهاي php هستش)
بازم ببخشيد که اينقدر سوال ميپرسم.
وممنون از شماها که اينقدر با حوصله سوالات منو جواب ميديد.:11:

mohrd
18-08-2011, 20:48
سلام.
اگر هنوز در تنظیمات mysqlتون تغییر ایجاد نکرده اید، از یوزر root و پسورد (خالی!) استفاده کنید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

m.m.m5651
18-08-2011, 20:50
خواهش می کنم.
اول به این آدرس بیاید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
1. بعد یه دیتابیس با collation: utf-8 bin ایجاد کنید(یا اصلا اگر دیتابیس ساخته شده از قبل برید به قسمت 2).
2. بعد در تب Privileges روی add new user کلیک کنید.
3. سپس نام براش انتخاب کنید و در قسمت host، گزینه ی local رو بزنید. سپس رمز رو انتخاب کنید.
4. در تب Database for user: این رو بزنید: none
5. در تب Global privileges ، همه رو انتخاب کنید یا (Check All رو بزنید. اون فیلد ها هم خالی بمونن.
6. GO
7. حالا دیتابیس و یوزر آماده اند. دیگه نیاز به ساخت نیست. میشه از query های دیگه برای insert و ... استفاده کنید.
نکته: برای ساختن تیبل هم پیشنهاد می کنم از خود phpmyadmin استفاده کنید که خیلی راحت تر و سریع تره فقط برای ارسال داده ها از کد استفاده کنید.

اگر هم
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید وجود نداشت، باید phpMyAdmin رو نصب کنید که توصیه می کنم Easy PHP رو پاک و xampp یا wamp رو نصب کنید. :دی

پس از ویرایش:
اِه ندیدم mohrd جواب زدن :دی حالا دیگه...

golbarg73
18-08-2011, 20:55
دوست عزيز اون هايي که گفتي همرو تيک زدم حالا اين اخطارو ميده :
Error creating database: Access denied for user 'eli'@'localhost' to database 'my_db'

m.m.m5651
18-08-2011, 20:58
الان یوزر هم ساختین برای دیتابیس دیگه؟

golbarg73
18-08-2011, 20:59
آره يه يوزر ساختم به نام :‌eli
و پس: 123456

m.m.m5651
18-08-2011, 21:07
خوب، همون جایی که یه صفحه میاد که یه جدوله با سه تا خط و شش تا ردیفه، بیاید و برای همه ی قسمت ها رو ویرایش کنید و همه ی تیک ها رو بزنید.

golbarg73
18-08-2011, 21:17
ممنون فکر ميکنم درست شد الان table بخ اسم persons تو ديتابيس ايجاد شده ولي خوب بازم اخطار
Error creating database: Can't create database 'my_db'; database exists
رو ميده که ديگه اون فکر ميکنم بايد کدهاي php رو يه تغييراتي بدم
خيلي خيلي ممنون از راهنمايياتون

m.m.m5651
18-08-2011, 22:05
نه دیگه میگه دیتابیس از قبل وجود داشته! یعنی الان دیگه این کد رو بردارید و کد های بعدی از قبیل ارسال به دیتابیس و .. رو بذارید.

golbarg73
18-08-2011, 23:57
دوستان بالاخره موفق شدم صفحه php رو به mysql ارتباط بدم و کاربر وقت فرم رو پر ميکنه تو ديتابيس ذخيره شه واسه تازه کاري مثل من اين يه کار بزرگ محسوب ميشه ديگه...........
:8::8::8::8::8::26::26::26:

golbarg73
19-08-2011, 14:28
دوباره سلام
دوستان ببخشيد که من هي مزاحم ميشم
يه مشکل کوچولو دارم
وقتي که يه نفر فرم ثبت نامي که ساختمو پر ميکنه و اطلاعات تو database ذخيره ميشه اگه کاربر مثلا اسمشو فارسي نوشته باشه تو database فارسي نوشته نميشه مثلا کلمه فرشاد تو database اينجوري نوشته ميشه: فرشاد
انگار که فونتش نيست
چطور ميتونم درستش کنم؟
بازم پيشاپيش ممنون و ببخشيد که اينقدر وقتتون رو ميگيرم.

MaSoUd555
19-08-2011, 14:59
دوباره سلام
دوستان ببخشيد که من هي مزاحم ميشم
يه مشکل کوچولو دارم
وقتي که يه نفر فرم ثبت نامي که ساختمو پر ميکنه و اطلاعات تو database ذخيره ميشه اگه کاربر مثلا اسمشو فارسي نوشته باشه تو database فارسي نوشته نميشه مثلا کلمه فرشاد تو database اينجوري نوشته ميشه: فرشاد
انگار که فونتش نيست
چطور ميتونم درستش کنم؟
بازم پيشاپيش ممنون و ببخشيد که اينقدر وقتتون رو ميگيرم.

توی خوندن اطلاعات از دیتابیس اطلاعات درست نمایش داده میشن

--------------------

اما برای اینکه کار کاملا درست باشه موقع درست کردن دیتابیس MySQL connection collation رو روی utf8_persian_ci بذارید

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



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


به جای mydb اسم دیتابیس خودتون رو بذارید

---------------------

یا یه راه راحت تر هم برای اینکار هست اونم اینکه بعد از وارد شدن به phpmyadmin از سمت راست روی دیتابیس مورد نظر کلیک کنید بعدش به تب operations برید و Collation رو به utf8_persian_ci تغییر بدید و GO رو بزنید


موفق باشید

mohrd
19-08-2011, 15:34
علاوه بر کاری که MaSoUd555 گفتند، قبل از ارسال اطلاعات (و پس از وصل شدن به دیتابیس) کوئری زیر رو اجرا کنید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید(کد php:::)

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدموفق باشید ./.

m.m.m5651
19-08-2011, 16:51
راستی یه سوال: دیگه چرا ننوشتید mysql_query فقط نوشتید mysql ؟ یعنی این طوری هم میشه؟ ممنون میشم راهنمایی کنید.

golbarg73
19-08-2011, 20:37
واللا من که اينجوري نوشتم شد.:31::27:

golbarg73
19-08-2011, 20:49
اَه نشدکه.
دوستان همه راههايي که شما گفته بوديد رو آزمايش کردم ولي نشد اينم عکسشه
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

golbarg73
19-08-2011, 20:55
اين آدرس عکسشه اگه عکس بالايي لود نشد لطفا اينو يه نگاهي بندازيد


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدجاي نقطه چين اينه:
-------------
اينه: وطن دانلود( به انگليسي)

m.m.m5651
19-08-2011, 21:15
شما کلا جدول رو ویرایش کنید و collation رو روی utf8- bin قرار بدید. بعدا وقتی خواستین از دیتابیس بگیرید اطلاعات رو درست میشه.

---------- Post added at 07:45 PM ---------- Previous post was at 07:44 PM ----------

این هم یه سری کد که خیلی به درد می خوره:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

golbarg73
19-08-2011, 22:38
مرسي ئوست عزيز ولي من تو دادن يا گرفتن اطلاعات از ديتابيس مشکلي ندام و درست نشون ميده. من منظورم وقتي که وارد mysql ميشمه.عکسي که گذاشته بودمو ديديد؟
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

مشکل من اينجاست

MaSoUd555
19-08-2011, 22:41
مرسي ئوست عزيز ولي من تو دادن يا گرفتن اطلاعات از ديتابيس مشکلي ندام و درست نشون ميده. من منظورم وقتي که وارد mysql ميشمه.عکسي که گذاشته بودمو ديديد؟

مشکل من اينجاست

دوست عزیز کاری که من گفتم و mhord عزیز گفتن رو انجام دادین؟

مخصوصا این



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


اگه انجام داده باشید نباید مشکلی باشه

golbarg73
19-08-2011, 23:27
آقا مسعود منم که گفتم انجام دادم ولي بازم نشد....:41:

MaSoUd555
19-08-2011, 23:44
اگه میشه کدتون رو بذارید اینجا

m.m.m5651
20-08-2011, 02:07
به جای این که کد رو داخل mysql_query قرار بدید می تونید در تب SQL در phpMyAdmin کد ها رو بنویسید خیلی راحت تره.
و بعد هم GO رو بزنید!

golbarg73
20-08-2011, 13:58
دوستان گل من اگه اين مشکل منم حل کنيد ممنون ميشم:(اون مشکل فارسي نوشتن تو mysql که حل نشد و بيخيالش شدم:13: )
حالا يه مشکل کوچولو دارم اونم اينه که من صفحه لاگين رو طراحي کردم که کاربر يوزر و پسوردشو وارد کنه و وارد سايت بشه اما وقتي دکمه ورود رو ميزنه بايد بره به صفحه check.php ولي نميره کدهاي صفحه login.php هم ميزارم اگه ميشه يه نگاهي بندازيد
يه دنبا ممنون از همه شما دوستان گلم.:11:
login.php

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

MaSoUd555
20-08-2011, 14:12
دوستان گل من اگه اين مشکل منم حل کنيد ممنون ميشم:(اون مشکل فارسي نوشتن تو mysql که حل نشد و بيخيالش شدم:13: )
حالا يه مشکل کوچولو دارم اونم اينه که من صفحه لاگين رو طراحي کردم که کاربر يوزر و پسوردشو وارد کنه و وارد سايت بشه اما وقتي دکمه ورود رو ميزنه بايد بره به صفحه check.php ولي نميره کدهاي صفحه login.php هم ميزارم اگه ميشه يه نگاهي بندازيد
[SPOILER="Hidden"]يه دنبا ممنون از همه شما دوستان گلم.:11:
login.php

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

سلام به جای



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


بذارید



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

m.m.m5651
20-08-2011, 16:38
بهتر هم بود که از زبان پی اچ پی استفاده کنید که کاربر نتونه با خاموش کردن قابلیت جاوا بپیچونه صفحه رو و فیلد ها رو خالی ارسال کنه.
برای اینکه ببینید مثلا فلان فیلد ست شده:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

golbarg73
20-08-2011, 19:26
ممنون دوست عزيز و گرانقدر