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

مشكلة مربع تسجيل دخول متعدد ( عضو - مشرف )

بدأه fatmaali في 25 أكتوبر 2012 · 7 رد · 791 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم لدي مربع تسجيل دخول اريد ان يكون عمله كالاتي

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

وازا عمل علامه صح على مشرف يحولة تلقائى الى صفحة المشرفين

علماً بأن

جدول الاعضاء هوا user

يحتوى على الاتي

name= اسم العضو

pass = كلمه المرور

active = حق تفعيل العضو

جدول المشرفين

admin

name= اسم العضو

pass = كلمه المرور

active = حق تفعيل العضو

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

user.php

الصفحة التى اريد تحويل المشرف لها بعد التاكد من المعلومات هي

admin.php

طبعا اذا المعلومات خطاء سواء بالمشرفين او اليوزر او العضو غير مفعل او المشرف غير مفعل يرجعه لصفحة

login

مفعل =1

غير مفعل =0

مربع تسجيل الدخول

<form method="POST" action="login_check.php" name="form"><table border="0" width="100%" cellpadding="0" cellspacing="0">
						<tr>
							<td align="center" width="98%" height="31">
							<INPUT 
                              class=Password 
                              type=password name=pw size="18" value="0000"><INPUT 
                              class=UserName size=18 name=un  value="اسم العضو"></td>
						</tr>
						<tr>
							<td align="center" width="98%" height="20" dir="rtl">
							عضو<input type="radio" value="u1" name="u1">مشرف<input type="radio" value="u2" checked name="u2"></td>
						</tr>
						<tr>
							<td align="center">
                                  	<input class="btn" value="دخول" type="submit"></td>
						</tr>
					</table></form>

صفحة التاكيد من المعلومات والتحويل الى الصفحة المناسبة

<?php
session_start();
include("include/config.php");
session_register("member6");
$name=$_POST['name'];//echo $un;
$pass=$_POST['pass'];//echo $pw;			
						$result=mysql_query("SELECT * FROM `user` WHERE `name` = '$name' AND `pass` = '$pass' and active=1 ");
						$row=mysql_fetch_array($result);
						if($row){$_SESSION['member6']=$row[id_user];
						$_SESSION['user']=$row[user];
						$_SESSION['id_user']=$row[id_user];
						$_SESSION['name']=$row[name];
						$_SESSION['pass']=$row[pass];
						echo "

تسجيل الدخول بالنجاح
<META HTTP-EQUIV=Refresh Content=2;URL=cp.php>";




// واذا كانت المعلومات خطا
} else {

ECHO "المعلومات خاطئة او انه لم يتم تفعيل حسابك 
<META HTTP-EQUIV=Refresh Content=2;URL=index.php>";

}

?>

انتظر ردكم اخواني بتعديل صفحة التاكيد والدخول كما وضحت لعضويتين مشرفين واعضاء من نفس مربع الدخول

#2

انتظر الرد الي الان مافى حد عارف ! :blink:

#3

مرحبا اختي العزيزة ,

بداية الـ option يجب ان يكون له نفس الاسم ولكن القيمة تختلف في حال اختار الدخول كمشرف او كعضو 1 ، 0

<input type="radio" value="0" name="u">مشرف<input type="radio" value="1" checked name="u">

الان في كود المعالجة نقوم بالتالي :

<?php
session_start();
include("include/config.php");
session_register("member6");
$name=$_POST['name'];//echo $un;
$pass=$_POST['pass'];//echo $pw;  
$u=$_POST['u'];
if($u=='1') //Admin
{
 $result=mysql_query("SELECT * FROM `admin` WHERE `name` = '$name' AND `pass` = '$pass' and active=1 ");	
$page="admin.php";
}
else
{

 $result=mysql_query("SELECT * FROM `user` WHERE `name` = '$name' AND `pass` = '$pass' and active=1 ");	
$page="user.php";
}
  // Now getting DATA      

		if(mysql_num_rows($result)>0)
		{

		$row=mysql_fetch_array($result);

		$_SESSION['username']=$row[name];
		$_SESSION['userid']=$row[id];
		$_SESSION['type']=1; // Admin

		echo "

تسجيل الدخول بالنجاح
<META HTTP-EQUIV=Refresh Content=2;URL=$page>";




// واذا كانت المعلومات خطا
} else {

ECHO "المعلومات خاطئة او انه لم يتم تفعيل حسابك 
<META HTTP-EQUIV=Refresh Content=2;URL=index.php>";

}

?>

ومع ذاك هنتك ملاحظة طالما جدول المستخدمين يشبه جدول المدراء يمكن جعلهم جدول واحد وتعيين حقل جديد نسميه مثلا type ادا كانت قيمته 1 فهو مدير وادا كان قيمته 0 فهو مستخدم عادي

وبذلك في نفس الكود السابق لا نحتاج الا استعلام واحد فقط ومن جدول واحد يمكن ان نسميه accounts

طريقتك صحيحة ولا غبار عليها فقط كان هذا مجرد اقتراح .

وشكرا لكي

=============
الطموح و الحافز سر النجاح

=============

AflamHQ.com | Palphp.com

#4

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

لنفرض اسمه accounts

وضفنا حقل جديد باسم type

علماً بأن

1= عضو

2 = مشرف

كيف سيكون كود المعالجة لانى حاولت اسوية مثل ما قلت ما ظبط معي ...

#5

مرحبا اختي ,

التعديل بسيط جدا

القي نظرة على الكود التالي

<?php
session_start();
include("include/config.php");
session_register("member6");
$name=$_POST['name'];//echo $un;
$pass=$_POST['pass'];//echo $pw;  
$u=$_POST['u']; // u is sometimes 1  and sometimes is 0

 $result=mysql_query("SELECT * FROM `accounts` WHERE `name` = '$name' AND `pass` = '$pass' and active=1 and type='$u' ");	
if($u=='1') //Admin
{
$page="admin.php";
}
else
{
$page="user.php";
}
  // Now getting DATA  	

		if(mysql_num_rows($result)>0)
		{

		$row=mysql_fetch_array($result);

		$_SESSION['username']=$row[name];
		$_SESSION['userid']=$row[id];
		$_SESSION['type']=1; // Admin

		echo "

تسجيل الدخول بالنجاح
<META HTTP-EQUIV=Refresh Content=2;URL=$page>";




// واذا كانت المعلومات خطا
} else {

ECHO "المعلومات خاطئة او انه لم يتم تفعيل حسابك 
<META HTTP-EQUIV=Refresh Content=2;URL=index.php>";

}

?>

تم تعديل هذه المشاركة بواسطة Hamdan Taima في 1 نوفمبر 2012 في 08:02

1

=============
الطموح و الحافز سر النجاح

=============

AflamHQ.com | Palphp.com

#6
Hamdan Taima كتب:

مرحبا اختي ,

التعديل بسيط جدا

القي نظرة على الكود التالي

<?php
session_start();
include("include/config.php");
session_register("member6");
$name=$_POST['name'];//echo $un;
$pass=$_POST['pass'];//echo $pw;  
$u=$_POST['u']; // u is sometimes 1  and sometimes is 0

 $result=mysql_query("SELECT * FROM `accounts` WHERE `name` = '$name' AND `pass` = '$pass' and active=1 and type='$u' ");	
if($u=='1') //Admin
{
$page="admin.php";
}
else
{
$page="user.php";
}
  // Now getting DATA      

		if(mysql_num_rows($result)>0)
		{

		$row=mysql_fetch_array($result);

		$_SESSION['username']=$row[name];
		$_SESSION['userid']=$row[id];
		$_SESSION['type']=1; // Admin

		echo "

تسجيل الدخول بالنجاح
<META HTTP-EQUIV=Refresh Content=2;URL=$page>";




// واذا كانت المعلومات خطا
} else {

ECHO "المعلومات خاطئة او انه لم يتم تفعيل حسابك 
<META HTTP-EQUIV=Refresh Content=2;URL=index.php>";

}

?>

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

$_SESSION['type']=1; // Admin

المفروض تكون كذا اعتقد ؟

$_SESSION['type']=$row; // Admin

ولا انا غلطانه ؟

#7

شاكرة ومقدرة لك واسفة على تعبك معايا

اعتقد الكود انحذف منك اخي بالخطاء

,,,,,,,,

تم تعديل هذه المشاركة بواسطة fatmaali في 1 نوفمبر 2012 في 02:18

#8

مرحبا فاطمة ,

أحسنت السؤال , هذا كان سبب التعديل في المشاركة السابقة , ولا اعلم لماذا حذف بهذه الصورة الغريبة

عموما

$_SESSION['type']=1; // Admin 


المفروض تكون كذا اعتقد ؟

$_SESSION['type']=$row; // Admin

نحن سنأخذ نوع تسجيل الدخول و حفظه في جلسة من قاعدة البيانات لذلك هو

SESSION['type']=$row['type'];

لاحظي حقل نوع المستخدم اسمه type

اما في نموذج التسجيل فاسمه u

=============
الطموح و الحافز سر النجاح

=============

AflamHQ.com | Palphp.com

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