الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

صفحه admin

بدأه naz25 في 22 نوفمبر 2011 · 11 رد · 908 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

كيف ممكن اعمل صفحه admin page بحيث انه الادمن بعد مايسجل دخول يتحكم بكل الموقع عملت صفحه user لوجين ورجستر واشتغلت بس الادمن ماعرفت

هل اعمل new database واسميها ادمن او اضيف فيلد لجدول اليوزرر واسميه ادمين

adminpage.jpg

#2

تضيف حقل جديد على جدول المستخدمين

هذا الحقل تحدد فيه صلاحية المستخدم

مثلا ً 1 تعني مدير للموقع

0 تعني عضو عادي

ثم تعمل صفحة للتحكم بالموقع بشرط ان لايستعرض هذه الصفحة الا الاعضاء الذين لديهم صلاحية 1

هذه في الفكرة ببساطة

1

M.B.O

Mohamed Bin Othman

إبن المكلا

يابني البشر ماذا فعلتم بالبشر !!

إسـألـنـي

#3

الطريقتين ممكن بس الافضل يكون حقل في نفس الجدول و ليه قيم زي الاخ M.B.O ما قالك ,

و انت بتعمل دخول بتعمل بحث عن العضو في قاعدة البيانات وتجيب قيمة الحقل ده ليه لو قيمة الحقل 0 يدخل عضو و يفتح session عضو و لو ادمن يفتح ادمن .

@My Twitter

[spacing]

EGYPT

[/spacing]

#4

اخي بي ام او انا عملت الفكره هذي قبل وماعرفت كيف اضبط الكود في صفحه الدخول

admintry.jpg

اخي حسين لاتبخل عليا بالمساعده لان هذا اخر شي فاضل اعمله لوتسمح

وهذا الكود عملت بس يطلع كل مره انه مو ادمن ويطلع error

( ! ) Notice: Undefined index: username in C:\wamp\www\all_php\adminplace.php on line 4

Call Stack

# Time Memory Function Location

1 0.0024 365640 {main}( ) ..\indexadmin.php:0

2 0.0047 370304 include( 'C:\wamp\www\all_php\adminplace.php' ) ..\indexadmin.php:3

You are not an admin

هذا كود session

<?php

session_start();

$_SESSION['user']="oumnia";



 ?>

وهذا كود indexadmin

<?php

include ("adminplace.php");

?>

<html>

       <h1> Welcome to the admin page </h1>

</html>

وهذا كود adminplace.php

<?php

session_start();
$user = $_SESSION['username'];

include("connectdb1.php");

//qurery

$get = mysql_query("SELECT * FROM users WHERE username='$user'");

while ($row = mysql_fetch_assoc($get))

{

$admin = $row ['admin'];

}

if ($admin==0) // if admin equal 0

die ("You are not an admin");

?>
#5

اتمنى ردك اخي توشكلت

وكيف انه ممكن اضيفه في لوجين بيج

#6

في صفحة login بعد التأكد من صحة اسم المستخدم وكلمة المرور وقبل نقل المستخدم الى صفحة اخرى عن طريق header قم بوضع الاسطر التالية

$_SESSION['user'] = $username;

// if this user is admin, register him in the session as admin
if ($row['admin'] == 1)
	$_SESSION['admin'] = 1;

وفي صفحة الادمن، اولا نقوم بالتحقق ان المستخدم قام بعملية login صحيحة ثم التاكد من ان له صلاحيات admin

isset($_SESSION['user']) {
	// user is logged in
	if (isset($_SESSION['admin']))
		echo 'you are admin';
	else
		echo 'you are not the admin';

} else {
	echo 'your not logged in';
}
1
#7

هذيي هي صفحه الوجين وين احط الكود الي خبرتني عليه الله يخليك مره انا مو كويس في Php

<?php

session_start();

//opens connection to mysql server

// $password =sha1(md5(sha1($_POST['password'].$salt)))


if(isset($_POST['loginbtn'])) {

        $username = $_POST['username'];
		$salt = "ijrhfwe76546^%£%^&YGFC";
        $password = sha1(md5(sha1($_POST['password'].$salt)));

        if ($username && $password) {

                mysql_connect ('localhost', 'userLogin', '') or die ("Couldn't connect!");
                mysql_select_db ("login_user")  or die ("Couldn't Find  db");

                $query = mysql_query ("SELECT * FROM users WHERE username = '$username'");

				//$row  = mysql_fetch_array($query, MYSQL_NUM); // put each field in the record in an array
			//echo $password;
			//echo $username;

//var_dump($row);

			//echo $row[1]; 
			//echo $row[8]; 

                $num_rows = mysql_num_rows($query);

                if ($num_rows != 0) 

				//$SESSION['username'] = $username;
				{ header( 'Location: http://localhost/all_php/customerpage.php' );}

                        // while ($row = mysql_fetch_assoc($query)) 
							// {        
                                // $dbusername  = $row['username'];
                                // $dbpassword = $row['password'];
							// }

                        //if ($username == $dbusername && $password == $dbpassword)

                        else echo "<p> Incorrect password </p> "; 

						unset($_POST['username']);  unset($_POST['password']); 



				 // else {
                        // die ("Thats user doesn't exist!");
                //}
        }
}
?>

وهذي صفحه لوجين للادمن

<?php

session_start();

//opens connection to mysql server

// $password =sha1(md5(sha1($_POST['password'].$salt)))


if(isset($_POST['loginbtn'])) {

        $username = $_POST['username'];
		$salt = "ijrhfwe76546^%£%^&YGFC";
	    $password = sha1(md5(sha1($_POST['password'].$salt)));

        if ($username && $password) {

                mysql_connect ('localhost', 'userLogin', '') or die ("Couldn't connect!");
                mysql_select_db ("login_user")  or die ("Couldn't Find  db");

                $query = mysql_query ("SELECT * FROM users WHERE username = '$username';");

                $num_rows = mysql_num_rows($query);

                if ($num_rows != 0) { header( 'Location: http://localhost/all_php/adminpage.php' );}

                        // while ($row = mysql_fetch_assoc($query)) 
							// {        
                                // $dbusername  = $row['username'];
                                // $dbpassword = $row['password'];
							// }

                        //if ($username == $dbusername && $password == $dbpassword)

                        else echo "<p> Incorrect password </p> "; 

						unset($_POST['username']);  unset($_POST['password']); 



				 // else {
                        // die ("Thats user doesn't exist!");
                //}
        }
}
?>
#8

ضع الكود قبل header

$_SESSION['user'] = $username;
// if this user is admin, register him in the session as admin
if ($row['admin'] == 1)
	$_SESSION['admin'] = 1;
1
#9

اضفته بصفحه لوجين اخي وطلع error

<?php

session_start();

//opens connection to mysql server

// $password =sha1(md5(sha1($_POST['password'].$salt)))


if(isset($_POST['loginbtn'])) {

        $username = $_POST['username'];
		$salt = "ijrhfwe76546^%£%^&YGFC";
        $password = sha1(md5(sha1($_POST['password'].$salt)));

        if ($username && $password) {

                mysql_connect ('localhost', 'userLogin', '') or die ("Couldn't connect!");
                mysql_select_db ("login_user")  or die ("Couldn't Find  db");

                $query = mysql_query ("SELECT * FROM users WHERE username = '$username'");

				//$row  = mysql_fetch_array($query, MYSQL_NUM); // put each field in the record in an array
			//echo $password;
			//echo $username;

//var_dump($row);

			//echo $row[1]; 
			//echo $row[8]; 

                $num_rows = mysql_num_rows($query);

                if ($num_rows != 0) 

				//$SESSION['username'] = $username;
				$_SESSION['user'] = $username; 
                 // if this user is admin, register him in the session as admin 
                 if ($row['admin'] == 1) 
                $_SESSION['admin'] = 1;
				{ header( 'Location: http://localhost/all_php/customerpage.php' );}

                        // while ($row = mysql_fetch_assoc($query)) 
							// {        
                                // $dbusername  = $row['username'];
                                // $dbpassword = $row['password'];
							// }

                        //if ($username == $dbusername && $password == $dbpassword)

                        else echo "<p> Incorrect password </p> "; 

						unset($_POST['username']);  unset($_POST['password']); 



				 // else {
                        // die ("Thats user doesn't exist!");
                //}
        }
}
?>

( ! ) Parse error: syntax error, unexpected T_ELSE in C:\wamp\www\all_php\logo.php on line 51

#10

اخي الكريم الفكرة ببساطة مثل ما وضحتها لك ووضحها لك الاخوان

ساوضحها لك اكثر بدون اكواد

الان عندي جدول للاعضاء بهذا الشكل

اسم الجدول Users

الحقول

username : يحتوي على اسم المستخدك

password : يحتوي على كلمة المرور

isadmin : قيمته عددية اما 1 او 0 الرقم 1 تعني ان هذا العضو مدير و 0 تعني هذا العضو عادي

السؤال هنا الان .

ماهي لوحة التحكم ؟ ولماذا لايدخلها الا مدير الموقع ؟

ببساطة لوحة التحكم ماهي الا عبارة عن ملف يحتوي على اوامر حساسة مثل التحكم بقاعدة البيانات او اضافة وتعديل ملف

هذه الاوامر يفترض ان لايقوم بتنفيذها الا اشخاص موثوقين

حسنا ً سأقوم بعمل ملف واضع فيه هذا الامر , وهو عبارة عن حذف لجميع الاعضاء في قاعدة البيانات

mysql_query("DELETE FROM users")

لو وضعت الامر بهذا الشكل في الملف بدون اي قيود بمجرد ان يستعرض الشخص الملف سيتم حذف جميع الاعضاء

في هذه الحالة يجب ان اضع بعض القيود على تنفيذ هذا الامر او بمعنى اخر اضع شروط معينة اذا تحققت يتنفذ هذا الامر

ودوال الشرط معروفة من اشهرها دالة الشرط if

حسنا ً ماهو الشرط الذي اريد ان اضعه لتنفيذ هذا الامر

مثلا ً الشرط هو انه اذا كان الشخص مدير الموقع يستطيع تنفيذ هذا الامر مالم لا يمكن تنفيذ هذا الامر

طيب كيف انا بعرف ان هذا الشخص هو مدير الموقع فعلا ً؟

الاجابة عن طريق الحقل isadmin

تقوم بعمل استعلام بسيط على قاعدة البيانات لتجلب بيانات العضو

مثال

mysql_query("SELECT isadmin FROM users WHERE user_id = 1")

انا الان قمت بجلب قيمة الحقل isadmin

حسنا ً الان الشرط لتنفيذ الامر سيكون ( اذا كانت قيمة حقل العضو = 1 نفذ هذا الامر )

بسيطة بما ان قيمة الحقل معلومة لدي من الاستعلام بالاعلى

سأقوم بأختبار الشرط عليها اذا تم يتنفذ الامر

وستصبح بالشكل التالي

if($isadmin == 1)
{
	mysql_query("SELECT isadmin FROM users WHERE user_id = 1");
}

هذه هي الفكرة ببساطة

لكن انت لن تعمل امر واحد فقط ستعمل عدة اوامر لكن بنفس الفكرة

وطبعا ً ليس على كل امر ستقوم بوضع شرط عليه , لهذا يتم استخدام الجلسات Sessions

فقط يتم اختبار الشرط مره واحده وعلى اساس هذا الشرط تحفظ البيانات في الجلسة

ويتم تنفيذ الشرط من على الجلسة وليس بالاستعلام

الاخوان فوق ماقصروا وضعوا لك الاكواد اللازمة , وهذه هي الفكرة ببساطة

حاول تفهم الموضوع اكثر من كتابة الاكواد

موفق ان شاء الله

M.B.O

Mohamed Bin Othman

إبن المكلا

يابني البشر ماذا فعلتم بالبشر !!

إسـألـنـي

#11

مشكورين والحمدلله الاخ تشوكلت بويز لم يقصر

يرجى قفل الموضوع

#12

اخي يجب عليك الاعتماد على نفسك بالبحت و المحاولة .. المحاولة و الفشل جزئ مهم هدا ان اردت ان تكون مبرمجا ناجحا .. وليس مجرد هاوي. :cool:

426352_383613794982755_100000024148433_1533782_183796882_n.jpg

مواضيع مشابهة