تروخدا کمک .. مشکل این از کجاست

JS-mahdi

Banned
http://www.najvasoft.com/?pageid=04

این یک فرم ارتباط با ما هست .. که اطلاعات رو در دیتا بیس ذخیره میکنه همین رو با سرور easyphp درست اجرا کرد ولی روی سرور که اپلود میکنم کار نمیکنه .. و این ارور ها رو میده .. تروخدا بگین مشکل از کجاست . با تشکر
 

JS-mahdi

Banned
یه چیز دیگه
mysql سرور easyphp من ورژن 5 هست ولی مال سرور Najvasoft.com ورژن 4.1 هست .. نمیتونه مشکل از این باشه ؟

این هم کلاس ( DB_class.php ) :

PHP:
<?php
class DBconn {
function __construct () { 
$conn = mysql_connect ("Localhost" , "username" ,"password") ;
mysql_query("SET CHARACTER SET utf8", $conn); 
mysql_query("SET NAMES utf8_persian_ci", $conn); 
$this->conn = $conn ;
mysql_select_db("dbname" , $conn );
}
function contact ($con_name , $con_mail , $con_comment) {
$query = "INSERT INTO conntact VALUES ( '$con_name' , '$con_mail' , '$con_comment' )" ;
mysql_query($query , $this->conn);
mysql_close($this->conn);
}
function NewSef ($Frist_Name , $Last_Name , $Company , $e_mail , $sex , $price , $comment , $code ) {
$query = "INSERT INTO sefareshat VALUES ( '$Frist_Name' , '$Last_Name' , '$Company' , '$e_mail' , '$sex' ,'$price' ,'$comment' , '$code' , 1 )" ;
mysql_query($query , $this->conn);
mysql_close($this->conn);
}
}
?>

خیلی فوری هست
 

1Program

Member
سلام .
دوست عزیز :
طبق خطا شما امکان ارتباط با بانک را با نام کاربری najvasof را نداری .

خطای شما به این دلیل است که شما با IP -> 127.0.0.1 یا همون Localhost می خواهی به بانک وصل شوی که این اشتباه است . باید IP هاستی که خریدی یا نام کامپیوتری که در اختیارت قرارداده اند را استفاده نمائی .
مثال :
PHP:
$conn = mysql_connect ("217.217.141.124" , "username" ,"password") ;
موفق و پیروز باشید .
 

JS-mahdi

Banned
Ip رو پیدا کردم و جایگذین کردم .. نه عزیزم مشکل از Ip هم نیست .. باز هم همون ارور رو میده

ترو خدا کمکم کنید !!!!!!!!
 

amirds

New Member
سلام
Access denied for user 'root'@'localhost' (using password: YES)

If the preceding error occurs even when you have not specified a password, it means that you have an incorrect password listed in some option file. Try the --no-defaults option as described in the previous item.

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

1Program

Member
سلام .

شما می خواهی با نام کاربری root به بانک وصل شی که فکر نمی کنم این اختیار را به شما بده . حتماً هاست شما یک نام کاربری با رمز عبور برای اتصال به بانک در اختیار شما قرار می دهد .

موفق باشی .
 

JS-mahdi

Banned
سلام .

شما می خواهی با نام کاربری root به بانک وصل شی که فکر نمی کنم این اختیار را به شما بده . حتماً هاست شما یک نام کاربری با رمز عبور برای اتصال به بانک در اختیار شما قرار می دهد .

موفق باشی .

عزیزم تو سرور که اپلود کردم نام یوزر نیم خودم رو نوشتم و پسورد رو هم درست تایپ کردم میبی نی گه تو اشکال هم میگه که پسورد صحیح هست

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

من در باره زبان های وب اپلیکیشن زیاد تخصص ندارم .. چطوره باید امنش کنم .

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

amirds

New Member
سلام
برای رفع مشکل مراحل رو به ترتیب چک کن
1- به پنل هاست خودتون برید و از وجود دسترسی کامل به دیتابیس مطمئن بشید .
2- بعد یه کاربر جدید برای دیتابیس خودتون ایجاد کنی(با تمام دسترسی های لازم)د و نام کاربری و کلمه عبور مورد نظر خودتون را وارد کنید ( توجه کن که نام کاربری همونی هست که در آخر به شما نمایش میده چون اغلب موارد یه نامی به اولش اضافه میکنه که هاست ربط داره )
3- یه فایل تست درست کن که به دیتابیس وصل بشه و یه Query بگیره و مرحله به مرحله براش خطا قرار بده تا بتونی ایراد کار برنامه خودت رو دربیاری و...
...
////////////////////////////

برای امنیت کارت هم یه سرچ بزن (تو همین انجمن) یه بحث 3 صفحه ای پیدا میکنی که بهت کمک میکنه ،این واسه اول کار خوبه. بعدا باید و باید PHPsecurity رو بخونی ....
الان بدترین نوع همه رو می تونی دریافت کنی ( sql injection )
تمام ورودی های کاربر رو باید فیلتر کنی
//////////////////////////

تمام اطلاعات فیلد ها رو باید در همون صفحه بررسی کنی و اگر غلط بود به کاربر پیام بدی . در صورت درست بودن اطلاعات و سالم بودنش برنامه باید ادامه بده ....
از کد زیر هم برای بررسی درست نوشتن ایمیل استفاده کن
PHP:
if(preg_match("/[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}/", $email)){
}
 

JS-mahdi

Banned
از این ادرس استفاده کنید http://www.najvasoft.com/DB_class.php

سلام
برای رفع مشکل مراحل رو به ترتیب چک کن
1- به پنل هاست خودتون برید و از وجود دسترسی کامل به دیتابیس مطمئن بشید .
2- بعد یه کاربر جدید برای دیتابیس خودتون ایجاد کنی(با تمام دسترسی های لازم)د و نام کاربری و کلمه عبور مورد نظر خودتون را وارد کنید ( توجه کن که نام کاربری همونی هست که در آخر به شما نمایش میده چون اغلب موارد یه نامی به اولش اضافه میکنه که هاست ربط داره )
3- یه فایل تست درست کن که به دیتابیس وصل بشه و یه Query بگیره و مرحله به مرحله براش خطا قرار بده تا بتونی ایراد کار برنامه خودت رو دربیاری و...
...
////////////////////////////

برای امنیت کارت هم یه سرچ بزن (تو همین انجمن) یه بحث 3 صفحه ای پیدا میکنی که بهت کمک میکنه ،این واسه اول کار خوبه. بعدا باید و باید PHPsecurity رو بخونی ....
الان بدترین نوع همه رو می تونی دریافت کنی ( sql injection )
تمام ورودی های کاربر رو باید فیلتر کنی
//////////////////////////

تمام اطلاعات فیلد ها رو باید در همون صفحه بررسی کنی و اگر غلط بود به کاربر پیام بدی . در صورت درست بودن اطلاعات و سالم بودنش برنامه باید ادامه بده ....

مورد 1 رو متوجه نشدم ..
من یه یوز دیتابیس درست کردم و با پسورد .. البته یه پیشوند بش اظافه کرد که با اون پیشوند تو فایل PHP نوشتم
مورد 3 رو هم انجاک دادم
 

JS-mahdi

Banned
مرسی مشکل حل شد ...

دیتابیس رو حذف کردم همچنین یوزرم رو .. واز نو اول که دیتابیس درست کردم بعدش یک یوزر بعد هم دیتابیس رو به یوزر اظافه کردم
ولی باز هم کار نمیکرد تا اینقدر کلنجار رفتم و بلخره ای پی ادرسی رو که برای نام هاست نوشته بودم حذف کردم و نام localhost رو برای ای پی نوشتم ..

حالا درست کار میکنه ببینید : http://www.najvasoft.com/DB_class.php
 

جدیدترین ارسال ها

بالا