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

اريد التعديل على ال Session

بدأه man in dark في 21 مارس 2008 · 7 رد · 998 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اخواني انا لدي هذا السكربت للتحقق من اسم المستخدم و الصلاحية

اريد التعديل عليه لكي يعمل

قاعدة البيانات


-- version 2.9.1.1
-- http://www.phpmyadmin.net
--
-- قاعدة البيانات: `AD`
--

-- --------------------------------------------------------

--
-- بنية الجدول `registered_members`
--

CREATE TABLE `registered_members` (
`id` int(4) NOT NULL auto_increment,
`username` varchar(65) NOT NULL,
`password` varchar(65) NOT NULL,
`level` varchar(65) NOT NULL,
`email` varchar(65) NOT NULL,
`fullname` varchar(65) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1256 AUTO_INCREMENT=4;

--
-- phpMyAdmin SQL Dump

كود التحقق من تسجيل الدخول


session_start();

// هنا تعرف المدخلات كمتغيرات
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
$encryptedPass=md5($mypassword);

// هنا يتم تشفير الباسورد
//$encrypted_mypassword=md5($mypassword);

include'configlogin.php';
$sql="SELECT * FROM registered_members WHERE username='$myusername' and password='$encryptedPass'";
$result=mysql_query($sql);
$array=mysql_fetch_array($result);
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1)
{
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
//session_register("mypassword");
$_SESSION['level']=$array[3];
$_SESSION['myusername']=$array[1];
header("location:login_success.php");
}
else {
echo '<META http-equiv="refresh" content="0;URL=index.php">';
}
?>
<?php

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

sessionساضع فقط ال


session_start();
if(!session_is_registered(myusername)){
header("location:index.php");
}
$level=$_SESSION['level'];
if(($level =='4')|| ($level =='5'))
{
header("location:home.php?error=1");
}
?>
<?php

بس المشكلة انه لا يعمل

تم تعديل هذه المشاركة بواسطة man in dark في 21 مارس 2008 في 23:11

#2
$array=mysql_fetch_array($result);

جرب إستبدالها بالآتي :

while($array=mysql_fetch_array($result);)
{
$array['username']=$array2[0];
$array['level']= $array2[1];
}

عدل أيضا :

$_SESSION['level']=$array2[1];
$_SESSION['myusername']=$array2[0];

تم تعديل هذه المشاركة بواسطة SIFE-C في 22 مارس 2008 في 01:55

''‏اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما ‏نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل ‏بلية''

'‏اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء ‏منهم و الأموات'

www.it-scoop.com

#3

اخوي يظهر لي الخطاء

Parse error: parse error, unexpected ';' in c:\camel\www\ccs\checklogin.php on line 15

اي ان الخطاء في السطر 15

while($array=mysql_fetch_array($result);)
{
$array['username']=$array2[0];
$array['level']= $array2[1];
}
#4

السلام عليكم

اخي man ضع هذا الكود في صفحة التحقق من تسجيل الدخول .

<?php
include("configlogin.php");

// هنا تعرف المدخلات كمتغيرات
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];

// هنا يتم تشفير الباسورد
$encrypted_mypassword=md5($mypassword);

$sql="SELECT * FROM registered_members WHERE username='$myusername' and password='$encrypted_mypassword'";
$result=mysql_query($sql);


// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
session_register("mypassword");

header("location:login_success.php");
}
else {
echo "هناك خطأ حاول مره اخرى";
}
?>

تم تعديل هذه المشاركة بواسطة عدوووون في 22 مارس 2008 في 23:16

سبحان الله والحمد لله ولا اله الا الله و الله اكبر

اللهم صلي وسلم وبارك على سيدنا محمد وعلى اله وصحبه وسلم

#5

اخوي عدوووون بالنسبه للحقل level

$_SESSION['level']

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

التحقق من level بحيث في بعض الصفحات لاب ان يكون ال level مثلاً 4 او 5 لكي يدخلو الصفحة

مع العلم ان حقل ال level يتكون من رقم

هذا الكود يضع على جميع الصحات

<?php
session_start();
if(!session_is_registered(myusername)){
header("location:index.php");
}
$level=$_SESSION['level'];
if(($level =='4')|| ($level =='5'))
{
header("location:home.php?error=1");
}
?>

بس المشكلة لا يعمل

تم تعديل هذه المشاركة بواسطة man in dark في 22 مارس 2008 في 23:53

#6

السلام عليكم

اخي man , جرب هذا الكود :

<?php
session_start();
if(!session_is_registered(myusername)){
header("location:index.php");
}
$level=$_SESSION['level'];
if($level ==4 or $level ==5)
{
header("location:home.php?error=1");
}
?>

سبحان الله والحمد لله ولا اله الا الله و الله اكبر

اللهم صلي وسلم وبارك على سيدنا محمد وعلى اله وصحبه وسلم

#7

مشكور اخوي عدوون و اخوي SIFE-C

على تفاعلكم و الكود شغال 100%

#8
اقتباس
session_register("myusername");
session_register("mypassword");

السؤال هنا هل يجب علينا بعد التحقق من وجود اسم المستخدم وكلمة المرور استخدام دالة session_register للتسجيل أم هناك طرق أخرى؟

وهل تسجيل كلمة المرور في سيشن ضروري ؟؟

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