رفتن به مطلب

ارور در php


soroush80

ارسال‌های توصیه شده

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

PHP Warning:  mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /home/logograp/public_html/logo/register.php on line 22


اگه سورس هم نیاز بود بگید تا بنویسم

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام 

کدهای Php  تونو اینجا پیست کنید تا دوستان انجمن نظر بدن ، سطر 22 موجود در فایل register.php  خطا میده  .

(البته بخاطر مسائل امنیتی ، نام کاربری و رمز عبور و نام دیتابیس و....  رو از فایل php حذف کنید بعد در اینجا قرار بدین )

چرا فایلهاتونو توی شاخه اصلی هاست قرار داده اید ؟ برای همه قابل دسترسی هست !

البته بنده وقتی توی مرورگر این فایلو اجرا میکنم خطا نمیده فقط پیامnull میده !

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوست عزیز،

توی کوئری ای که در اسکریپتتون اجرا میکنید مشکلی هست که باعث میشه result-set درست برنگردونه و یک مقدار false برگردونه!
کدهاتونو بفرستید تا دقیقتر بررسی بشه!

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 17 ساعت قبل، نورنما گفته است :

سلام 

کدهای Php  تونو اینجا پیست کنید تا دوستان انجمن نظر بدن ، سطر 22 موجود در فایل register.php  خطا میده  .

(البته بخاطر مسائل امنیتی ، نام کاربری و رمز عبور و نام دیتابیس و....  رو از فایل php حذف کنید بعد در اینجا قرار بدین )

چرا فایلهاتونو توی شاخه اصلی هاست قرار داده اید ؟ برای همه قابل دسترسی هست !

البته بنده وقتی توی مرورگر این فایلو اجرا میکنم خطا نمیده فقط پیامnull میده !

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

دوم که اره باید null بده که میده اما این ارور هم دیده میشه . اینم سورس کد البته چون اولش رو ورداشتم الان دیگه خط 22 نیست قسمت array ارور میده و حتی تواپ هم به همین خاطر ارور میده.


function Login(){

    $connection = connectToDatabase();

    $username = $_REQUEST['Username'];
    $password = $_REQUEST['Password'];
    
    $result = mysqli_query($connection,"SELECT * ROM Users WHERE Username='$username' and Password='$password' ");
    $output = array();
    $row = mysqli_fetch_array($result);
    if($row['Username']!=""){
        $record = array();
        $record['ID'] = $row['ID'];
        $record['Username'] = $row['Username'];
        $record['Password'] = $row['Password'];
        $record['VIP'] = $row['VIP'];
        $output[] = $record ;
        echo json_encode($output);
    }else {
        echo "null";
    }
}

فقط ببخشید بهم خورده

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 3 ساعت قبل، soroush80 گفته است :

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

دوم که اره باید null بده که میده اما این ارور هم دیده میشه . اینم سورس کد البته چون اولش رو ورداشتم الان دیگه خط 22 نیست قسمت array ارور میده و حتی تواپ هم به همین خاطر ارور میده.

 

سلام

کدهاتونو وقتی اینجا میذارین از ابزار مخصوص کداستفاده کنید که در بالای صفحه باعلامت < >  نمایش داده شده تا اینجور بهم ریخته نشه 

توی این سطرتون یه اشتباه تایپی هست بجای کلمه FROM  اشتباها تایپ شده ROM  اصلاح کنید ببینید مشکلتان حل میشه یانه !

$result = mysqli_query($connection,"SELECT * FROM `Users` WHERE Username='$username' and Password='$password' ");

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 1 ساعت قبل، نورنما گفته است :

سلام

کدهاتونو وقتی اینجا میذارین از ابزار مخصوص کداستفاده کنید که در بالای صفحه باعلامت < >  نمایش داده شده تا اینجور بهم ریخته نشه 

توی این سطرتون یه اشتباه تایپی هست بجای کلمه FROM  اشتباها تایپ شده ROM  اصلاح کنید ببینید مشکلتان حل میشه یانه !


$result = mysqli_query($connection,"SELECT * FROM `Users` WHERE Username='$username' and Password='$password' ");

 

سلام حل نشد الان از    $row = mysqli_fetch_array($result);  اشکال میگیره.

function Login(){
	$connection = connectToDatabase();
	$username = $_REQUEST['Username'];
	$password = $_REQUEST['Password'];
	
	$result = mysqli_query($connection,"SELECT * FROM Users WHERE Username='$username' and Password='$password' ");
	$output = array();
	$row = mysqli_fetch_array($result);
	if($row['Username']!=""){
		$record = array();
		$record['ID'] = $row['ID'];
		$record['Username'] = $row['Username'];
		$record['Password'] = $row['Password'];
		$record['VIP'] = $row['VIP'];
		$output[] = $record ;
		echo json_encode($output);
	}else {
		echo "null";
	}
}

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام دوست عزیز 

خب این فایل php تون که روی هاست ودامنه ای که دارید درست وبدون خطاکارمیکنه !

این عبارت رو که در مرورگرتون تایپ کنید عبارات داخل فیلدهاتون رو نمایش میده :

 

http://logographiii.ir/logo/login.php/?Username=xxx&Password=xxx


نتیجه نمایشی 
============

[{"ID":"7","Username":"xxx","Password":"xxx","VIP":"0"}]

 

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

logographiii.ir/logo/register.php/?Username=xxx&Password=xxx

-------

کدهای بیسیک سورس تان بررسی کنید ، Php که الان نگاه میکردم درست کارمیکنه .و 3 تا حساب کاربری ایجاد کردم که بعدش به درستی نمایش داد.

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 2 ساعت قبل، danial1369 گفته است :

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

سلام چون امنیتش بالاست تو بیسیک کد بزنی و رمز سایت رو بدی سر یک روز همه چی به باد میره ماشالله تو ایران همه هکرن. حداقل تو php میدونی هکر خیلی بتونه دست کاری کنه مشخصات خودشه و اگه خیلی حرفه ای باشه براش فرقی نداره کلا به باد میره

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

اینجا

لینک ارسال
به اشتراک گذاری در سایت های دیگر

خودتون میدونید اگه با php کد یزنید خروجی جیسون رو در سایت میتونید ببینید اینجاست که امنیت میاد پایین من لینک جیسونتون رو به دست بیارم راحت میتونم خیلی کارا کنم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 39 دقیقه قبل، danial1369 گفته است :

خودتون میدونید اگه با php کد یزنید خروجی جیسون رو در سایت میتونید ببینید اینجاست که امنیت میاد پایین من لینک جیسونتون رو به دست بیارم راحت میتونم خیلی کارا کنم

اگه اینطوری باشه که اینستاگرام و تلگرام امنیت نداره چون هر دو تو مرورگر میشه دید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱ ساعت قبل، danial1369 گفته است :

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

اینجا

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

و برنامه شما یک مشکل بزرگ داره


	ExecuteRemoteQuery("DELETE FROM dbb1 WHERE ID ='" & bt11.Tag & "'", "COUNTRIES_LIST")
	ExecuteRemoteQuery("SELECT * FROM dbb1 WHERE id = '" & bt1.Tag & "'", COUNTRY_POPULATION)

فرض کن من هکرم و همچین چیزی رو تو برنامه پیدا کنم قطعا کل اطلاعات دیتابیست رو میکشم بیرون و بعدش پاک می کنم و از شما در خواست کلی پول می کنم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 2 دقیقه قبل، danial1369 گفته است :

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

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اگه کدهای برنامه اگه قراره بشه دید یا ویرایش کرد که هیچ برنامه ای امنیت نداره 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

شبتان به خیر 

راستش من نمیخوام به بحثتان وارد بشوم چون Php  هم نقاط ضعف داره وهم نقاط قوت وبسته به نوع برنامه نویسی تون هست که چطور اونو بنویسید 

سوای اینکه چندان ربطی به موضوع این پست نداره ،دیده شدن یا نشدن جیسون به نظرم خب مشکلات پیش پا افتاده ای هست که همه اش راه کار خودشو داره ! میشه کاری کرد که جیسون دیده نشه .

ویا مثلا توی همین php مخصوص دوستمان در پست اول (login.php)، تا شما رمز ونام کاربری رو درست ندهید جیسون هیچ اطلاعاتی از دیتابیس به شما نمیدهد ، وتنها وقتی مطالب دیتابیس برایتان نمایش داده خواهد شد که رمز ونام کاربری درست باشه ،خب به همین Php اگه یه شرط تایمر دار هم بگذارد که اگر در کمتر از 5 دقیقه اگر کسی رمز  مثلا سه بار را اشتباه وارد کرد اون آی پی رو به مدت یک ربع مسدود کنه ، خب دراینصورت رباتهای رمز یاب هم نمی تونن کار کنند ونفوذکرده و اطلاعات دیتابیس رو بدست بیارن !یا همین تایمر رو در (register.php) بگذاره که اگر IP خاصی در مدت کوتاه دو سه تا حساب کاربری ایجاد کرد جلوشو بگیره و اونها رو ثبت نکنه هم جلوی تخریب دیتابیس رو میشه گرفت .

 

ولی در کل برای امنیت بیشتر Php پیشنهاد میشه مطالب و کتابهای مربوطه توسط ما وشما خوانده بشه وبطور اصولی امنیت رو بالا ببریم 

واسه اینکار مثلا این کتاب چیز خوبی هست اگه مطالعه بشه 

هم تعدادی از نقاط ضعف php  رو آورده وهم راهکارهای تقویت اون ضعف ها رو با مثال ذکر کرده .

دانلود کتاب آموزش امنیت در PHP

موفق باشید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

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

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...