PDA

View Full Version : سوال: ظاهر شدن Warning در اجرای کد PHP



تبسم ساینا
دوشنبه 04 فروردین 1393, 18:38 عصر
سلام دوستان
من واسه صفحه ثبت نام سایتم این کدرو نوشتم :

<?php
ini_set('display_errors', 0);
error_reporting(0);
//clearstatcache();
$db=mysql_connect('mysql.uhostall.com','u103321013 _root','xxxx') or die(mysql_error());
mysql_query("SET NAMES 'utf8'",$db);
$dbs=mysql_select_db('u103321013_fun');
if(isset($_POST['Submit'])){
$username=$_POST['username'];
$pass1=$_POST['pass'];
$pass2=$_POST['repass'];
$email=$_POST['email'];


if($pass1 != $pass2){
echo "کلمه عبور و تکرار آن متفاوت است";
}else{
$pic="image/user.jpg";
foreach($_FILES as $file_name=>$file_array)
{
if(is_uploaded_file($file_array['tmp_name'])&& $file_array['type']=="image/jpeg")
{
move_uploaded_file($file_array['tmp_name'],"image/$file_array[name]")or die("not copy");
$pic="image/$file_array[name]";
}
}


if($username!='' && $pass1!='' && $pass2!='' && $email!='' && $pic!='')
{
$query="insert into `users`(`username`,`password`,`avatar`,`email`) values('$username','$pass1','$pic','$email')";
$result=mysql_query($query)or die(mysql_error());
if($result){
echo "ثبت نام با موفقیت انجام شد";
}
}


}
}
?>
</body>
</html>

از لحاظ اجرا هیچ مشکلی نداره , و کاربر رو ثبت میکنه ولی وقتی در صفحه اصلی رو لینک ثبت نام کلیک میکنم, Warning زیر ظاهر میشه که حتی با کد
ini_set('display_errors', 0);
error_reporting(0);
هم برطرف نشد:
Warning: mysql_connect(): Host '10.1.2.26' is not allowed to connect to this MySQL server in /home/u103321013/public_html/Register.php on line 43 Host '10.1.2.26' is not allowed to connect to this MySQL server
ضمنا" اینو هم بگم هاستی که استفاده میکنم رایگانه.

tux-world
دوشنبه 04 فروردین 1393, 19:57 عصر
تو هاستی که شما دارید استفاده میکنید اجازه دسترسی رو نمیده انگار

تبسم ساینا
دوشنبه 04 فروردین 1393, 20:15 عصر
تو هاستی که شما دارید استفاده میکنید اجازه دسترسی رو نمیده انگار
خب پس چرا کاربر رو ثبت میکنه؟

ravand
دوشنبه 04 فروردین 1393, 20:20 عصر
تو هاستی که شما دارید استفاده میکنید اجازه دسترسی رو نمیده انگار
منظورتون چیه؟
یعنی شما میگید که این هاست از دستورات mysql پشتیبانی نمیکنه؟
من هم از این هاست استفاده میکنم و با همین دستورات کار کردم و مشکلی نداشتن. این اخطار و این مشکل چیز عجیبیه!

Unique
دوشنبه 04 فروردین 1393, 23:49 عصر
نباید insert عمل کنه و عجیبه. تا حالا با free host ها کار نکردم اما خطا را زمانی میگیرم که ip سروری را میدم که localhost نیست . اون سرور برای mysql به عنوان allowed ip مشخص نشده باشه.توی cpnale میشه این ip را در قسمت تنظیمات ارتباط remote تعیین کرد.

ravand
سه شنبه 05 فروردین 1393, 07:19 صبح
نباید insert عمل کنه و عجیبه. تا حالا با free host ها کار نکردم اما خطا را زمانی میگیرم که ip سروری را میدم که localhost نیست . اون سرور برای mysql به عنوان allowed ip مشخص نشده باشه.توی cpnale میشه این ip را در قسمت تنظیمات ارتباط remote تعیین کرد.
چی عجیبه؟ این کد با ومپ تست شده و مشکلی نداشته فقط روی هاست مشکل داشته. و حتی روی هاست مقادیر را هم ارسال کرده و فقط مشکلش اخطار روی هاست هست.

MMSHFE
سه شنبه 05 فروردین 1393, 10:02 صبح
فعلاً بعنوان قرص مسکن، قبل از mysql_connect یک @ بگذارین تا ساکت بشه، سر فرصت چک کنیم ببینیم مشکل از کجاست.

چی عجیبه؟
عجیب اینه که میگه اون آدرس IP برای دسترسی Remote مجاز نبوده و نتونسته وصل بشه ولی با اینحال دستور Insert میگن داره کار میکنه!

ravand
سه شنبه 05 فروردین 1393, 10:28 صبح
فعلاً بعنوان قرص مسکن، قبل از mysql_connect یک @ بگذارین تا ساکت بشه، سر فرصت چک کنیم ببینیم مشکل از کجاست.

عجیب اینه که میگه اون آدرس IP برای دسترسی Remote مجاز نبوده و نتونسته وصل بشه ولی با اینحال دستور Insert میگن داره کار میکنه!
میگه که از این دستور هم استفاده کرده ولی بازم اخطار میده:

ini_set('display_errors', 0);
error_reporting(0);

MMSHFE
سه شنبه 05 فروردین 1393, 10:50 صبح
خوب شاید این دستور کار نکنه و روی سرور ini_set رو بسته باشن. @ رو هم امتحان کردن؟

تبسم ساینا
سه شنبه 05 فروردین 1393, 13:37 عصر
@ گذاشتم الان این ارور رو میده:
Host '10.1.2.26' is not allowed to connect to this MySQL server

MMSHFE
سه شنبه 05 فروردین 1393, 19:54 عصر
توی تنظیمات سروری که MySQL روش نصبه، در قسمت Remote MySQL آدرس IP این سرور (10.1.2.26) رو مجاز کردین؟

تبسم ساینا
سه شنبه 05 فروردین 1393, 20:27 عصر
با تشکر از همه دوستان خصوصا" آقای راوندی
مشکل حل:لبخند:
اومدم از mysqli استفاده کردم حل شد!

MMSHFE
چهارشنبه 06 فروردین 1393, 13:05 عصر
این هم باز پاک کردن صورت مسئله است. درهرصورت هاستهای رایگان از این مشکلات عجیب و غریب زیاد دارن و بهتره ازشون استفاده نکنید. یک هاست بگیرین برای کارهای شخصی خودتون و همه پروژه ها رو روی همون تست کنید. اینطوری نمونه کار هم برای خودتون جمع میکنید و نگران نیستین که سایت مشتری غیرفعال بشه یا تغییر کنه و شما نمونه کارهاتون رو از دست بدین.