السلام عليكم
كيف ممكن اعمل صفحه admin page بحيث انه الادمن بعد مايسجل دخول يتحكم بكل الموقع عملت صفحه user لوجين ورجستر واشتغلت بس الادمن ماعرفت
هل اعمل new database واسميها ادمن او اضيف فيلد لجدول اليوزرر واسميه ادمين
تضيف حقل جديد على جدول المستخدمين
هذا الحقل تحدد فيه صلاحية المستخدم
مثلا ً 1 تعني مدير للموقع
0 تعني عضو عادي
ثم تعمل صفحة للتحكم بالموقع بشرط ان لايستعرض هذه الصفحة الا الاعضاء الذين لديهم صلاحية 1
هذه في الفكرة ببساطة
الطريقتين ممكن بس الافضل يكون حقل في نفس الجدول و ليه قيم زي الاخ M.B.O ما قالك ,
و انت بتعمل دخول بتعمل بحث عن العضو في قاعدة البيانات وتجيب قيمة الحقل ده ليه لو قيمة الحقل 0 يدخل عضو و يفتح session عضو و لو ادمن يفتح ادمن .
اخي بي ام او انا عملت الفكره هذي قبل وماعرفت كيف اضبط الكود في صفحه الدخول
اخي حسين لاتبخل عليا بالمساعده لان هذا اخر شي فاضل اعمله لوتسمح
وهذا الكود عملت بس يطلع كل مره انه مو ادمن ويطلع 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");
?>اتمنى ردك اخي توشكلت
وكيف انه ممكن اضيفه في لوجين بيج
في صفحة 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';
}هذيي هي صفحه الوجين وين احط الكود الي خبرتني عليه الله يخليك مره انا مو كويس في 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!");
//}
}
}
?>ضع الكود قبل header
$_SESSION['user'] = $username; // if this user is admin, register him in the session as admin if ($row['admin'] == 1) $_SESSION['admin'] = 1;
اضفته بصفحه لوجين اخي وطلع 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
اخي الكريم الفكرة ببساطة مثل ما وضحتها لك ووضحها لك الاخوان
ساوضحها لك اكثر بدون اكواد
الان عندي جدول للاعضاء بهذا الشكل
اسم الجدول 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
فقط يتم اختبار الشرط مره واحده وعلى اساس هذا الشرط تحفظ البيانات في الجلسة
ويتم تنفيذ الشرط من على الجلسة وليس بالاستعلام
الاخوان فوق ماقصروا وضعوا لك الاكواد اللازمة , وهذه هي الفكرة ببساطة
حاول تفهم الموضوع اكثر من كتابة الاكواد
موفق ان شاء الله
مشكورين والحمدلله الاخ تشوكلت بويز لم يقصر
يرجى قفل الموضوع
اخي يجب عليك الاعتماد على نفسك بالبحت و المحاولة .. المحاولة و الفشل جزئ مهم هدا ان اردت ان تكون مبرمجا ناجحا .. وليس مجرد هاوي. :cool:
