PDA

View Full Version : سوال: ارتباط با بانک های اینترنتی



Mafia_ir
پنج شنبه 13 بهمن 1390, 16:40 عصر
سلام
من میخواستم یک برنامه با C#‎‎ بنویسم که به یک بانک اطلاعاتی که روی یک سرور اینترنتی هست ارتباط برقرار کنه و داده ها رو بگیره و بده اما از یه نفر پرسیدم گفت برنامه نویسا میتونن برنامه رو دیکمپایل کنند و پسورد سرور و دیتابیس رو در بیارن اما برای اینکه جلوی این کارو بگیری باید یه واسطه بین اینا درست کنی یعنی با برنامه به زبان php یا ... fبا وب بنویسی که بتونه این کار ها رو برات انجام بده و تو فقط باید به اون وصل بشی و از اون جا که من تابه حال با این زبان کار نکردم میخواستم بدونم مشکل امنیت داده ها با این روش حل میشه ؟ اگر میشه من برنامشو از کجا میتونم پیدا کنم چون خودم بلد نیستم بنویسم و وقت یادگیری زبان php رو هم ندارم ... اگر نمیشه چجوری میتونم امنیت داده ها رو توی اینترنت تامین کنم ؟

ممنون :قلب:

ویرایش : راستی چرا عنوانو اشتباه تایپ کردم ؟ !
ارتباط با بانک های اینترنتی:لبخند:

yones_safari
پنج شنبه 13 بهمن 1390, 16:58 عصر
سلام
من میخواستم یک برنامه با C#‎‎ بنویسم که به یک بانک اطلاعاتی که روی یک سرور اینترنتی هست ارتباط برقرار کنه و داده ها رو بگیره و بده اما از یه نفر پرسیدم گفت برنامه نویسا میتونن برنامه رو دیکمپایل کنند و پسورد سرور و دیتابیس رو در بیارن اما برای اینکه جلوی این کارو بگیری باید یه واسطه بین اینا درست کنی یعنی با برنامه به زبان php یا ... fبا وب بنویسی که بتونه این کار ها رو برات انجام بده و تو فقط باید به اون وصل بشی و از اون جا که من تابه حال با این زبان کار نکردم میخواستم بدونم مشکل امنیت داده ها با این روش حل میشه ؟ اگر میشه من برنامشو از کجا میتونم پیدا کنم چون خودم بلد نیستم بنویسم و وقت یادگیری زبان php رو هم ندارم ... اگر نمیشه چجوری میتونم امنیت داده ها رو توی اینترنت تامین کنم ؟

ممنون :قلب:

ویرایش : راستی چرا عنوانو اشتباه تایپ کردم ؟ !
ارتباط با بانک های اینترنتی:لبخند:
بله در مورد ارتباط مستقیم امنیت پایینه و با دکامپایل کردن یوز و پسورد پایگاه به دست میاد.تو php کافیه یه فرم ساده درج یا حذف یا هر چیزی که مورد نظرته بسازی و به عناصر فرم آیدی بدی و با C# بهشون وصل بشی و اطلاعات رو درج کنی.من با C# کار نکردم ولی تو vb برای ارتباط با صفحات فکر کنم از inet استفاده میشد.دقیق نمیدونم اسم این عنصر رو.
موفق باشی

Mafia_ir
پنج شنبه 13 بهمن 1390, 17:26 عصر
بله در مورد ارتباط مستقیم امنیت پایینه و با دکامپایل کردن یوز و پسورد پایگاه به دست میاد.تو php کافیه یه فرم ساده درج یا حذف یا هر چیزی که مورد نظرته بسازی و به عناصر فرم آیدی بدی و با C#‎ بهشون وصل بشی و اطلاعات رو درج کنی.من با C#‎ کار نکردم ولی تو vb برای ارتباط با صفحات فکر کنم از inet استفاده میشد.دقیق نمیدونم اسم این عنصر رو.
ممنون ولی اینی که گفتی به من کمک نمیکنه ! ( چون من یکم زیادی مبتدیم :لبخند:) کل اطلاعات من در زمینه برنامه نویسی در حد 350 - 400 صفحه از کتاب آقای هاشمیانه ! (همون PDF 900 صفحه ایه )!

خوب حالا سوال

عناصر فرم آیدی بدی
این یعنی چی ؟


و php کافیه یه فرم ساده درج یا حذف یا هر چیزی که مورد نظرته بسازی
این که صورته سوال خودمه ! :لبخند::لبخند:
خوب اینم یه توضیح بدید چجوری ممنون میشم !؟

mbf5923
پنج شنبه 13 بهمن 1390, 19:23 عصر
اولا شما اگه C# کار میکنید بهتره با ASP صفحه تحت نت رو بسازید چون راحت تر با هم ارتباط برقرار میکنن
ثانیا شما عبارت post data to web page C# گوگل کنید نتایج خوبی میگیرید
این سایت ها راهنمای خوبی هستن:
http://geekswithblogs.net/rakker/archive/2006/04/21/76044.aspx
http://www.fryan0911.com/2009/05/c-how-to-post-data-to-web-page-using.html
http://internetmarketingcoding.com/how-to-open-a-web-page-and-send-post-data-in-c
http://stackoverflow.com/questions/8689153/login-and-post-data-to-a-webpage-with-a-winapp
http://bytes.com/topic/c-sharp/answers/214537-how-send-data-webpage-via-post
برنامه C# رو بنویسید PHP رو ما یکارش میکنیم
در ضمن برنامه هایی که با .NET نوشته میشن رو نرم افزار هست که بشه کاری کرد به هیچ وجه دیکد نشن

Mafia_ir
پنج شنبه 13 بهمن 1390, 21:08 عصر
برنامه C#‎ رو بنویسید PHP رو ما یکارش میکنیم
اگه اینجوری بشه که عالی میشه !


در ضمن برنامه هایی که با .NET نوشته میشن رو نرم افزار هست که بشه کاری کرد به هیچ وجه دیکد نشن
خوب فکر نکنم اینجوری بشه ! چون اگه میشد بحث امنیت بحث منسوخ شده بود ولی اگه اینجوری بشه خوب منم ارتباطم رو با بانک اطلاعات مستقیم میکنم ! ولی بازم تردید 100 % دارم که نمیشه !

mbf5923
پنج شنبه 13 بهمن 1390, 21:21 عصر
چرا دوست عزیز من استفاده میکنم تا حالا مشکلی نداشتم

اگه اینجوری بشه خوب منم ارتباطم رو با بانک اطلاعات مستقیم میکنم
اینجوری بحث سرعت نقل و انتقال دیتا به وجود میاد که هدر رفت زمانتون زیاد میشه

Mafia_ir
پنج شنبه 13 بهمن 1390, 21:37 عصر
راستی اون لینک هایی که گذاشتید سورس چی هستن ؟

سوال دوم : من چجوری باید برنامه رو بنویسم ! منظورم اینه که من مثل برنامه نوشته شده با دیتا بیس تو کامپیوتر با دیتاگرید برنامه رو بنویسم و یا یه مرورگر وب رو بگذارم و یا چجوری ؟ اون app واسته چجوری به من خروجی میده ؟

mbf5923
پنج شنبه 13 بهمن 1390, 22:15 عصر
لینک ها آموزش ارسال مقادیر به صفحات وب و خواندن مقادیر بازگشتی در C#‎ بود
خروجی که دریافت میکنید تکست هستش
از دیتا گرید باید استفاده کنید یا تکست باکس یا یه چی شبیه اینا
راستی اینا رو توی تالار C# l مطرح کنید :چشمک:

Mafia_ir
جمعه 14 بهمن 1390, 08:40 صبح
یعنی میشه من برنامه رو مثل برنامه با دیتابیس روی ویندوز بنویسم و بعد محل دیتا بیس رو تغییر بدم روی اینترنت ؟ یا باید پایه برنامه نویسیم رو عوض کنم ؟ اگر باید عوض کنم چیکار باید بکنم ؟


راستی اینا رو توی تالار C#‎ l مطرح کنید :چشمک:
چشم ! :لبخندساده:

mbf5923
جمعه 14 بهمن 1390, 10:39 صبح
ببینید این چند حالت داره:
اگه هاست مورد نظر که دیتابیس شما اونجا هستش قابلیت Remote DataBase درش فعال باشه شما میتونید دقیقا مثل برنامه نویسی با دیتابیس ویندوزی عمل کنید
حالا اگه هاست شما قابلیت ریموت نداشته باشه باید از یک واسط برای ارتباط با دیتابیس استفاده کنید که کدنویسی کمی متفاوت میشه
مثلا شما اطلاعات رو به صورت String یکپارچه از نت میخونید و بعد باید با کد نویسی هر کدوم رو درجای خودش قرار بدین.
البته باز اگه از linq استفاده کنید زیاد تفاوتی پیدا نمیکنید.
چشمتون بی بلا

mohsen24000
جمعه 14 بهمن 1390, 10:58 صبح
اکثر هاستهای اشتراکی امکان دسترسی مستقیم به بانک رو نمی دهند اون هم بعلت امنیت!
شما بهتره از طریق رابط تحت وب (asp یا php) از طریق XML یا JSON کار رو انجام دهید.

Mafia_ir
جمعه 14 بهمن 1390, 19:40 عصر
اکثر هاستهای اشتراکی امکان دسترسی مستقیم به بانک رو نمی دهند اون هم بعلت امنیت!
شما بهتره از طریق رابط تحت وب (asp یا php) از طریق XML یا JSON کار رو انجام دهید.
یعنی چی ؟

من تقریبا 60 % پروژه رو بر مبنای بانک اطلاعاتی Acces نوشتم ، تحت ویندوز ، یعنی اون بانکی که روی اینترنت باید باشه الان روی کامپیوتره منه . اگه لطف کنید کامل کمک کنید ممنون میشم . مثلا یه نمونه از نوع دسترسی به بانک رو بهم بدید تا بدونم بانک رو چجوری بنویسم الان کار میکنه ولی روی کامپیوتره ! بعد اون رابط رو میتونم از بچه های همین جا بگیرم یا اینکه باید به کسی بدم تا برام بنویسه ؟

mbf5923
جمعه 14 بهمن 1390, 20:14 عصر
من تقریبا 60 % پروژه رو بر مبنای بانک اطلاعاتی Acces نوشتم
از دیتابیس Access میخواید استفاده کنید؟یعنی با یک بانک اکسس روی وب ارتباط برقرار کنید؟

Mafia_ir
جمعه 14 بهمن 1390, 20:37 عصر
نه فعلا برای ساخت برنامه روی کامپیوتر از این دیتابیس استفاده میکنم ولی از اونجایی که حجم اطلاعات زیاد سنگین نیست پس زیاد فرقی نمیکنه که از SQL باشه یا Access اما اگر لازم شد سر کلید ها رو به Sql تغییر میدم و دیتابیس رو عوض میکنم فعلا مشکلم اینه که همینجوری که برای اینجا نوشتم برای اینترنت همین میشه یا باید کد ها رو تغییر بدم ؟

mbf5923
جمعه 14 بهمن 1390, 21:30 عصر
برای اینترنت همین میشه یا باید کد ها رو تغییر بدم ؟
بستگی به هاستتون داره دوست من گفتم که اگه پورت 3306 یا 3307 که مال کار با دیتابیس هستن باز باشن همین کدها جواب میده در غیر اینصورت نه
البته بانک اکسس قضیه اش فرق میکنه و میشه بهش مرتبط شد پورت و اینا هم نمیخواد

Mafia_ir
جمعه 14 بهمن 1390, 22:11 عصر
حالا کدوم بهتره اکسز یا اس کیو ال ؟

mbf5923
جمعه 14 بهمن 1390, 22:16 عصر
قیاس مع الفارق میفرمایید؟ :قهقهه:
خوب مسلم و مبرهن هستش که SQL بهتر هستش هم سرعت هم امنیت هم همه چی
اما برای ارتباط برقرار کردن از راه دور چون روی امنیت اکسس زیاد کسی حساسیت نشون نمیده اکسس راحت تر ارتباط میده
و در ضمن اکسس Single User هستش

mohsen24000
جمعه 14 بهمن 1390, 22:23 عصر
اگر هاست شما همونطور که دوستمون گفتند امکان ارتباط با دیتابیس را به شما بدهد هیچ مشکلی برای نوشتن برنامه ندارید و فقط بجای لوکال ، کانکشن استرینگ شما آدرس اینترنتی میشه!
در مورد XML هم ، وقتی شما دسترسی مستقیم به بانک نداشته باشید باید از طریق زبان سمت سرور درخواستهای ارسالی از اپلیکشن تحت ویندوز را تحلیل و انجام داده و پاسخ را در قالب XML ارسال می کنید که میتونید گریدهای سمت کلاینت رو بروز رسانی و همچنین تحلیل اطلاعات نمایید و...

Mafia_ir
جمعه 14 بهمن 1390, 22:27 عصر
و در ضمن اکسس Single User هستش یعنی تک یوزر ؟ (بعد یعنی چی ؟ )


اگر هاست شما همونطور که دوستمون گفتند امکان ارتباط با دیتابیس را به شما بدهد هیچ مشکلی برای نوشتن برنامه ندارید و فقط بجای لوکال ، کانکشن استرینگ شما آدرس اینترنتی میشه!این مشکل امنیتی نمیده ؟

mbf5923
جمعه 14 بهمن 1390, 22:32 عصر
آره یعنی تک کاربره یعنی یک نفر در یک لحظه میتونه اطلاعات رو در بانک بنویسه
از چه لحاظ مشکل امنیتی؟

Mafia_ir
جمعه 14 بهمن 1390, 22:33 عصر
مشکل این بود که با دیکامپایل ، نشه فهمید بانک اطلاعاتی کجاست دیگه !

Mafia_ir
جمعه 14 بهمن 1390, 22:35 عصر
آره یعنی تک کاربره یعنی یک نفر در یک لحظه میتونه اطلاعات رو در بانک بنویسه
کلا فقط من مینویسم بقیه میخونن !
مگر زمان ثبت نام !

bade saba
شنبه 15 بهمن 1390, 14:14 عصر
سلام دوست عزیز
شما چیزی درمورد وب سرویس شنیدی؟؟؟ جواب سوال شما استفاده از این امکان در برنامه نویسی هستش برای اینکه بفهمی چی هست هم میتونی سرچ کنی هم اینکه به این (http://barnamenevis.org/showthread.php?274518-%D8%B1%D8%A7%D9%87-%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C-%DB%8C%DA%A9-%D9%88%D8%A8-%D8%B3%D8%B1%D9%88%DB%8C%D8%B3-%D9%88-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%A2%D9%86-%D8%AF%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%D8%AA%D8%AD%D8%AA-%D9%88%D8%A8-%D9%88-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%D8%AA%D8%AD%D8%AA-%D9%88%DB%8C%D9%86%D8%AF%D9%88%D8%B2) تاپیک مراجعه کنی.
در ضمن اگه به هر دلیل خواستی صفحات وب رو دریافت کنی (فرقی نمیکنه با چه زبانی نوشته شده باشه)، بعد به اون سایت اطلاعاتی رو بفرستی میتونی به این تاپیک (http://barnamenevis.org/showthread.php?248492-%DA%86%D8%B1%D8%A7-%D8%A7%DB%8C%D9%86-error-%D8%B1%D9%88-%D9%85%DB%8C%D8%AF%D9%87-%D9%88-%DA%86%D9%87-%D8%AC%D9%88%D8%B1%DB%8C-%D9%85%DB%8C%D8%B4%D9%87-%D8%B1%D9%81%D8%B9%D8%B4-%DA%A9%D8%B1%D8%AF-The-remote-server-returned-an-error-(411)-Length-Req) مراجعه کنی من کد هایی که در این زمینه نوشتم و مشکلاتی که بر خوردم رو و روشهای رفع اون مشکلات رو اونجا آوردم

این بحث رو در تالار #C پیگیری کن اونجا به احتمال زیاد به راه حل های بهتری هم در زمینه امنیت برنامت و موارد دیگه بهت ارائه میدن

Mafia_ir
دوشنبه 17 بهمن 1390, 22:14 عصر
خوب من بیشتر برنامه رو نوشتم ! بعدیاش رو باید با دیتا بیس روی اینترنت انجام بدم حالا من دو نوع دیتا بیس دارم :

Songs.accdb
یا
Songs.mdf)Songs_log.ldf(

کدومو انتخواب کنم ؟

سوال بسیار حیاتی !
چجوری اینو رو اینترنت آپلود کنم ؟ اگر کامل توضیح بدید ممنون میشم( هرچند کم کم درایم از بحث PHP خارج میشیم )

بعد چجوری ارتباط امن برقرار کنم ؟ همون برنامه که گفتین یه فکری براش میکنید .

Mafia_ir
دوشنبه 17 بهمن 1390, 22:19 عصر
اینم هاستم :http://members.000webhost.com/login.php
It's free

mbf5923
دوشنبه 17 بهمن 1390, 22:50 عصر
خوب هاست رایگان بستگی داره این دو نوع بان رو ساپورت بکنه یا نه!
این دو نوع بانک (اکسس و اس کیو ال سرور) هر دو داخل سرورهای ویندوزی جواب میدن حالا این هاست شما اگه ویندوزی باشه مشکلی نیست ولی اگه لینوکسی باشه باید از MySQL استفاده کنید دوست من
که از قرار معلوم این هاست لینوکسی هستش

Mafia_ir
دوشنبه 17 بهمن 1390, 22:51 عصر
شما هاست ویندوزی سراغ نداری (فیری ؟ ) ؟

mbf5923
دوشنبه 17 بهمن 1390, 22:56 عصر
اینا هستن:

http://www.freeaspwebhosting.org/
http://www.webhostforasp.net/freeaspwebhosting.aspx
http://www.7host.com/

Mafia_ir
دوشنبه 17 بهمن 1390, 23:33 عصر
ثبت نام کردن توشون (چه اینا که تو گوگلا چه کلا ! ) یکم سخت بود :لبخند: آقا من نبودم همون باید برم به یکی بگم اینو برام درست کنه ....

mbf5923
دوشنبه 17 بهمن 1390, 23:39 عصر
نمونه این کار توی اینترنت فراوان انجام شده عزیزم لازم نیست به کسی بگین به راحتی میتونین انجامش بدین

Mafia_ir
سه شنبه 18 بهمن 1390, 13:51 عصر
آخه نتونستم تو هیچ کدوم از این هاستا ثبت نام کنم !

yones_safari
سه شنبه 18 بهمن 1390, 14:37 عصر
عزیزم هاست ویندوز رایگان وجود خارجی نداره!!!!!چون من هم تا حالا نتونستم گیر بیارم.

Mafia_ir
سه شنبه 18 بهمن 1390, 16:55 عصر
آخه اول من باید بتونم برنامه رو تست کنم ! نمیشه اول پول بدم بعد بفهمم مشکلا کجاست که ! نمیشه از Apachi استفاده کنم موقتا ؟
بلدم نیستم برای هاست های لینوکس Database بسازم ، برنامه ای نیست که بشه باهاش این کار رو کرد یا حتما باید به زبان SQL این بانک رو طراحی کرد ؟

mbf5923
سه شنبه 18 بهمن 1390, 20:02 عصر
توی هاست لینوکس ساختن دیتابیس به مراتب ساده تر از ویندوز و MSSql هستش
توی قسمت دیتابیس هاست،دیتابیستون رو میسازید و از PHPMyAdmin اقدام یه ساخت جداول مورد نیازتون میکنید

Mafia_ir
سه شنبه 18 بهمن 1390, 23:10 عصر
نمیتونم به بانک وصل بشم ! اگر من یک هاست ویندوز بخرم امنیتش بالاست ؟

mbf5923
چهارشنبه 19 بهمن 1390, 09:58 صبح
بیا دوست عزیز این فایل رو بگیر و هیچوقتم نا امید نشو :لبخند:
این یه مثال ساده با C#‎ که برات نوشتم
اگه vb.net بود زودتر برات مینوشتم اما نمیدونم چرا هیچوقت نتونستم با C#‎ کنار بیام!
اگه سئوالی داشتی بپرس
فایل PHP رو هم گذاشتم یه توضیح مختصر هم دادم این فعلا بهت یاد میده اصل کار چطوری هستش

Mafia_ir
چهارشنبه 19 بهمن 1390, 23:35 عصر
خوب این کجا به بانک اطلاعاتی وصل میشه ؟


بیا دوست عزیز این فایل رو بگیر و هیچوقتم نا امید نشو :لبخند:
نه آخه مشکل اینه که باید برای امتحان نهایی آماده بشم و اینکه الانم نزدیک 2 هفته هست که لای کتابارو واز نکردم ! روزی 1.5 ساعت 2 ساعت نشد درس خوندن که ! الان دوستم داره روزی 6 ساعت درس میخونه ! ... و من وقت یاد گیری PHP و ... رو هم ندارم . به خاطر همین گفتم شاید بدم یکی برام بگذاره تو اینترنت ...

Mafia_ir
چهارشنبه 19 بهمن 1390, 23:44 عصر
الان برام مشکلی نیست که روی MYSQL هم کار کنم ، ولی انصافا یک هاست هست که رایگان 50-100 Mb فضا بدون اعصاب خوردی در اختیار آدم بگذاره ؟ چون فهمیدم میشه با PHPMyAdmin جدول ساخت دیگه نمیترشم که بمونم توش ! :لبخند: فقط میمونه ارتباط که آخرش درست میکنم . الان فعلا یک هاست که نه وقتمو بگیره نه بره رو اعصابم بهم معرفی کنید من ارتباط رو برقرار کنم بعد از تست های نهایی و کامل کردن برنامه سورس رو میدم یکی برام ارتباط امنش رو فراهم کنه ...

ممنون

mohsen24000
چهارشنبه 19 بهمن 1390, 23:58 عصر
دوست من! ببخشید چطور میخواهید با بانک mysql اون هم روی هاست رایگان ارتباط برقرار کنید!؟
هاستهای اشتراکی پولی هم این امکان رو به شما نمیده چه برسه به هاست رایگان!!!
اگه مشکل هاست نباشه دیگه ارتباط با بانک لوکال و هاست که تفاوتی نمی کنه...
پس بهتره اول یک هاست مناسب یا سرور مجازی تهیه کنید تا مشکلی از بابت اتصال با دیتابیس نداشته باشید.

mbf5923
پنج شنبه 20 بهمن 1390, 00:47 صبح
خوب این کجا به بانک اطلاعاتی وصل میشه ؟
ارتباط با بانکش که دیگه کاری نداره شما کافیه توی اون صفحه PHP با توجه به دریافتی هاتون اطلاعات بانکتون رو یا ثبت کنید یا فراخوانی کنید و ...
اون دیگه کاری به C# نداره و فقط کد PHP هستش

ببخشید چطور میخواهید با بانک mysql اون هم روی هاست رایگان ارتباط برقرار کنید
مستقیم به خود دیتابیس متصل نمیشیم،یک واسطه به زبان PHP بین Desktop Application و دیتابیس قرار میدیم که عملیات مربوط رو انجام بده و نتیجه رو برگردونه

mohsen24000
پنج شنبه 20 بهمن 1390, 09:43 صبح
ارتباط با بانکش که دیگه کاری نداره شما کافیه توی اون صفحه PHP با توجه به دریافتی هاتون اطلاعات بانکتون رو یا ثبت کنید یا فراخوانی کنید و ...
اون دیگه کاری به C# نداره و فقط کد PHP هستش

مستقیم به خود دیتابیس متصل نمیشیم،یک واسطه به زبان PHP بین Desktop Application و دیتابیس قرار میدیم که عملیات مربوط رو انجام بده و نتیجه رو برگردونه

دقیقا مشکل همینجاست که ایشون میگه php بلد نیست و فرصتش رو هم نداره یادبگیره!!

mbf5923
پنج شنبه 20 بهمن 1390, 13:03 عصر
بیا دل انگیز یه نمونه کامل برات ساختم که با دیتابیس هم در ارتباط هستش
اطلاعات رو داخل دیتابیس اضفه میکنه
از دیتا بیس میخونه و از دیتابیس پاک میکنه
اون پوشه WebPage رو بذار روی هاستت و توی فایل Config.php هم تنظیماتت رو انجام بده
سوالی بود بپرس

Mafia_ir
جمعه 21 بهمن 1390, 11:43 صبح
خوب ممنون حالا بریم سر اصل مطلب :لبخند:
این چند خط کد رو که من نوشتم مربوط به ارتباط با بانک اطلاعاتی هست رو برام به زبان PHP و دیستابیسی به پسوند .mdf بازنویسی کنید ممنون !

کد مربوط به ثبت نام :


SqlConnection ConnectionClass = new SqlConnection(@"Data Source=mohammad-pc;Initial Catalog=Songs;Integrated Security=True");

SqlCommand Command = new SqlCommand();
Command.Connection = ConnectionClass;
Command.CommandText = "INSERT INTO LogIn (UserName,KeyWord,Credit,Age,DN,NickName,Email) "
+ "VALUES (@obj_UserName,@obj_Keyword,'FreeCredit',@obj_Age, '0',@obj_NickName,@obj_Email)";

Command.Parameters.AddWithValue("@obj_UserName", Usernametxt.Text.ToString().ToLower());
Command.Parameters.AddWithValue("@obj_Keyword", Passtxt.Text.ToString().ToLower());
Command.Parameters.AddWithValue("@obj_Age", Oldtxt.Text.ToString());
Command.Parameters.AddWithValue("@obj_NickName", Fullnametxt.Text.ToString());
Command.Parameters.AddWithValue("@obj_Email", Emailtxt.Text.ToString().ToLower());

Command.ExecuteNonQuery();

ConnectionClass.Close();

اینم کد login :

if (UserNametxt.Text.ToLower().ToString() != DataSetClass.Tables["LogIn"].Rows[0][0].ToString())
{
MessageBox.Show("Your password or Username is wrong user", "Information - wrong password or UserName", MessageBoxButtons.OK
, MessageBoxIcon.Information);
return;
}


else if (UserNametxt.Text.ToLower().ToString() == DataSetClass.Tables["LogIn"].Rows[0][0].ToString())
{
if (Passwordtxt.Text.ToLower().ToString() != DataSetClass.Tables["LogIn"].Rows[0][1].ToString())
{
MessageBox.Show("Your password or Username is wrong pass", "Information - wrong password or UserName", MessageBoxButtons.OK
, MessageBoxIcon.Information);
return;
}

else if (Passwordtxt.Text.ToLower().ToString() == DataSetClass.Tables["LogIn"].Rows[0][1].ToString())
{
MessageBox.Show("Thanks for loging , " + UserNametxt.Text, "Information", MessageBoxButtons.OK
, MessageBoxIcon.Information);

SingForMe singClass = new SingForMe(UserNametxt.Text.ToLower().ToString());
singClass.ShowDialog();

}
}

بعد توضیح بدید که چجوری از کدی نوشتید استفاده کنم . بســـــیـــــــار ممنون ...:لبخندساده:

mbf5923
جمعه 21 بهمن 1390, 12:50 عصر
ببینید با اون مثال قبلی که گذاشتم دیگه اصلا به این کدها نیاز نیست توی نرم افزار ویندوزی قرار بدین
شما اطلاعات رو برای ثبت در دیتابیستون به یک صفحه روی اینترنت ارسال میکنید و اون عملیات لازم رو انجام میده و نتیجه رو به برنامه ما برمیگردونه
یعنی این کدها رو شما توی هاستتون قرار میدین
کد ثبت نام توی نت این میشه:

<?php
$servername='localhost';
$userdatabase='root';
$password='';
$tablename='remotetest';
$link = mysql_connect($servername, $userdatabase, $password);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db($tablename);
mysql_query('SET NAMES utf8;');

$username=$_POST['UserName'];
$password=$_POST['Keyword'];
$age=$_POST['Age'];
$firstname=$_POST['NickName'];
$mail=$_POST['Email'];
echo insertdata($username,$password,$age,$firstname,$ma il);

function insertdata($username,$password,$age,$firstname,$ma il){
mysql_query("INSERT INTO LogIn (UserName,KeyWord,Credit,Age,DN,NickName,Email) values ('".$username."','".$password."','".$age."','".$firstname."','".$mail."')");
mysql_close($link);
return 'اطلاعات مورد نظر ثبت شد';
}
?>
توی برنامه وقتی "اطلاعات مورد نظر ثبت شد" رو دریافت کردیم یعنی کاربر ثبت نامش موفقیت آمیز بوده
برای ورود هم ما اول اطلاعات رو چک میکنیم که مثلا کاربر فیلدی رو خالی نگذاشته باشه و وقتی روی دکمه login کلیک کرد اطلاعاتش رو که همون یوزر نیم و پسورد هست به این صفحه ارسال میکنیم:

<?php
$servername='localhost';
$userdatabase='root';
$password='';
$tablename='remotetest';
$link = mysql_connect($servername, $userdatabase, $password);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db($tablename);
mysql_query('SET NAMES utf8;');

$username=$_POST['UserName'];
$password=$_POST['Keyword'];
echo selectdata($username,$password)

function selectdata($username,$password){
$result=mysql_query("Select UserName From LogIn Where UserName='".$username."' And KeyWord='".$password."'");
if (mysql_num_rows($result) == 0) {
return '!رمز عبور یا نام کاربری اشتباه است';
exit;
}


return 'شما با موفقیت وارد شدید';
}
?>
مقدار برگشتی از این صفحه مشخص میکنه عملیان چه نتیجه ای داشته

Mafia_ir
جمعه 21 بهمن 1390, 15:52 عصر
کد ثبت نام توی نت این میشه: ممنون از این کد ها ! :خجالت:

اگر میشه این خط ها نوع کاربوردشون رو توضیح بدید .

WebRequestClass.ContentType = "application/x-www-form-urlencoded";
این متن توش چیه ؟ اصلا کار این کد چیه ؟

این کد ها رو هم توضیح بدید تا بفهمم اینا چین .



// Set the ContentLength property of the WebRequest.
WebRequestClass.ContentLength = byteArray.Length;

// Get the request stream.
Stream dataStream = WebRequestClass.GetRequestStream();

// Write the data to the request stream.
dataStream.Write(byteArray, 0, byteArray.Length);
....

Console.WriteLine(((HttpWebResponse)WebResponseCla ss).StatusDescription);

// Get the stream containing content returned by the server.
dataStream = WebResponseClass.GetResponseStream();

// Open the stream using a StreamReader for easy access.
StreamReader reader = new StreamReader(dataStream);

// Read the content.
string responseFromServer = reader.ReadToEnd();

// Display the content.
return (responseFromServer);

Mafia_ir
جمعه 21 بهمن 1390, 16:16 عصر
من این کد رو توی برنامه نوشتم :


string response =
PostDataFunc("http://singforme.t15.org/PhpDataBase/LogInPage.php", "type= Select &UserName=" + UserNametxt.Text.ToLower().ToString()
+ "&Keyword=" + Passwordtxt.Text.ToLower().ToString()).Replace("<br>", "\r\n");

MessageBox.Show(response);
if (response == "Username or Password is wrong !")
MessageBox.Show(response, "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);

else if (response == "Thank you for logging in .")
{
MessageBox.Show("Thank you for logging in .", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);

this.Hide();
this.Enabled = false;

SingForMe singClass = new SingForMe(UserNametxt.Text.ToLower().ToString(), -1);
singClass.ShowDialog();

this.Close();
}

اینم تو پیجه :



<?php
$servername='***********';
$userdatabase='************';
$password='*********';
$tablename='LogIn';
$link = mysql_connect($servername, $userdatabase, $password);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db($tablename);
mysql_query('SET NAMES utf8;');

$username=$_POST['UserName'];
$password=$_POST['Keyword'];
echo selectdata($username,$password)

function selectdata($username,$password){
$result=mysql_query("Select UserName From LogIn Where UserName='".$username."' And KeyWord='".$password."'");
if (mysql_num_rows($result) == 0) {
return 'Username or Password is wrong !';
exit;
}


return 'Thank you for logging in .';
}
?>



servername چیه ؟
اون ستاره ها رو هم خودم ستاره کردم ! پسورد و یوزر database !
اما پیغامی که به من نمایش میده اینه :




Parse error: syntax error, unexpected T_FUNCTION, expecting ',' or ';' in /home/u586803461/public_html/PhpDataBase/LogInPage.php on line 17

mbf5923
جمعه 21 بهمن 1390, 17:02 عصر
اگر میشه این خط ها نوع کاربوردشون رو توضیح بدید
توی خط اول نوع درخواستمون رو مشخص میکنیم که به یک پروتکل اینترنتی میخوایم درخواستمون رو ارسال کنیم
توی خط دوم طول درخواستمون رو مشخص میکنیم البته به بایت که البته به طور استاندارد از 8مگابایت نباید بیشتر باشه مگه اینکه توی PHP.ini این مقدار رو افزایش بدین
توی خط سوم شروع به ارسال اطلاعات میکنیم بدین صورت که گزینه اول اطلاعاتی که باید ارسال بشه،گزینه دوم مکان شروع ارسال در رشته و گزینه سوم طول رشته ای که باید ارسال بشه رو مشخص میکنیم و چون میخوایم از ابتدای رشته ارسال کنیم عدد رو برابر 0 گذاشتیم
خط بعد که میشه خط 14 کدهای بالا نتیجه ارسال اطلاعات رو دریافت میکنه در حقیقت پاسخی رو که صفحه مورد نظر به درخواست ما داده به صورت خام در خودش نگه میداره

گزینه Console.WriteLine رو نذارین هم مشکلی داره نمایشی هستش و توی فرم اپلیکیشن استفاده نمیشه
حالا توسط Stream Reader اطلاعات دریافتی رو از بایت به استیرم تبدیل میکنیم که رشته های قابل فهم بدست بیاد
توی خط 23 هم اطلاعات بدست اومده رو برمیگردونیم

اما پیغامی که به من نمایش میده اینه :
آخر خط 15 ";" رو نگذاشتین
نام سرور هم معمولا localhost هستش که اشاره به سروری میکنه که اسکریپت از روی اون درحال اجراست

milad-sezar
جمعه 21 بهمن 1390, 22:05 عصر
دوست عزیز اگه با وی بی یه سورس example داری بذاری ممنون میشم یا اگه نداری یه کم توضیح بدی :قلب:

mbf5923
جمعه 21 بهمن 1390, 22:59 عصر
شما توی وی بی6 باید با ابزار inet این کار رو انجام بدین یعنی به یک صفحه متصل بشین و اطلاعات رو با اون رد و بدل کنید
قسمت برنامه نویسی vb6 رو در بخش خودش مطرح کنید،قسمت تحت نتش رو از همین میتونید استفاده کنید

Mafia_ir
جمعه 21 بهمن 1390, 23:38 عصر
اونو درست کردم گفت local host وجود نداره ! اونم درست کردم حالا میگه داده خروجی معتبر نیست


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/***********/public_html/************ on line 19
Username or Password is wrong !

و البته برای رجیستر .

Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /home/***********/public_html/************ on line 22
Registration completely done !

حالا مشکل کجاست ؟!

قابل توجه اینکه من هنوز به بخش ثبت نام نرسیدم ! و روی برنامه هم کار نکردم !!! :لبخند: همون ورود گیر کردیم !

mbf5923
جمعه 21 بهمن 1390, 23:51 عصر
توی دستور select یه جا دستوراتتون مشکل داره
خط 19 شما همینه که اینجا هست؟
مطمئن هستید که اطلاعات رو صحیح وارد میکنید؟
آخه این کد برای من کار میکنه!

Mafia_ir
شنبه 22 بهمن 1390, 00:23 صبح
آره ! من که php بلد نیستم ! همونی که شما دادید رو کپی پیست کردم ! هرچند فهمیدم چی بود ! نکنه از اطلاعات ارسالی مشکل میگیره ؟

PostDataFunc(@"http://singforme.t15.org/*************", "type= Select &UserName=" + UserNametxt.Text.ToLower().ToString()
+ "&Keyword=" + Passwordtxt.Text.ToLower().ToString()).Replace("<br>", "\r\n");

آخرین مرحله برنامه اینه که باید بتونه تیبلی رو بخونه و هر ستون رو به شکل مجزا در داخل daragridviwe نمایش بده این چجوری میشه ؟

ویرایش : اینم کد خودم :




...
function selectdata($username,$password){
$result=mysql_query("Select UserName From LogIn Where UserName='".$username."' And KeyWord='".$password."'");
if (mysql_num_rows($result) == 0) {
return 'Username or Password is wrong !';
exit;
}


return 'Thank you for logging in .';
}
?>

mbf5923
شنبه 22 بهمن 1390, 10:26 صبح
این مقادیری که ارسال میشه به کوچک و بزرگ بودن حروف حساس هستن این رو هم در نظر بگیرین
یعنی توی کدی که در بالا گذاشتین شما UserName و Keyword رو به همین شکل باید بنویسید یعنی:

$user=$_POST['UserName'];
$pass=$_POST['Keyword'];
و بعد از دریافت به تابع ارسال کنید
برای اینکه مطمئن بشی تا اینجای کار مشکلی نیست از کد زیر استفاده کن و مقادیر رو بهش ارسال کن،این کد باید همون مقادیر رو بازگشت بده:

<?php
$user=$_POST['UserName'];
$pass=$_POST['Keyword'];
echo $user;
echo $pass;
?>
توی دیتابیس هم همینطور اسم ستون ها به بزرگ و کوچک بودن حساس هستش و باید توی Select کردن در نظر گرفته بشه

Mafia_ir
شنبه 22 بهمن 1390, 11:30 صبح
من یک دور تمام خطوط رو چک کردم یعنی خط به خط وارد کردم و بعد اجرا کردم از این خط ارور میگیره


mysql_num_rows($result)

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


mysql_select_db("u586803461_songs");

میگم چطوره شما یک فضا برای من ایجاد کنید و بعد این کد ها رو همانطور که میخواید بنویسید و اونجا Upload کنید ( هموجنوری که درسته )بعد لینک ها رو به من بدید تا ببینم میتونم وصل بشم یا بالاخره مشکل رو پیدا کنیم ... ممنون که وقت میگذارید شرمنده که وقتتون رو میگیرم ... :قلب:

mbf5923
شنبه 22 بهمن 1390, 13:44 عصر
براتون گذاشتم روی سایت
البته یه سری پیغام اضافه تر میده که اونا مال این هاست رایگان هستش
یوزر و پس سایت رو هم براتون پیام خصوصی میکنم