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

عرض اسم المستخدم في الصفحات التي يتصفحها

مغلق
بدأه العقده في 28 ديسمبر 2007 · 19 رد · 2,381 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

عندي ثلاث صفحات :

1) الصفحه الاولى رئيسيه يوجد بعض المعلومات العامه ومربعين نص ومفتاح لتسجيل دخول المستخدمين .

بعد التسجيل والتاكد من صحة البيانات عن طريق قاعدة البيانات يتم تخزين اسم المستخدم في Label بأعلى الصفحه الرئيسيه كما هو معمول به في هذا المنتدى ( اهلا بك واسم العضو )

2) الصفحه الثانيه يتم الدخول عليها بواسطة رابط من الصفحه الاولى الرئيسيه .. المشكله تكمن هنا انه عند دخول المستخدم على الصفحه الثانيه كيف اقدر اتابع مع المستخدم واعرض اسمه في Label بأعلى الصفحه الثانيه .. عجزت وتعبت وانا احاول وافتشت بالكتب والمنتديات وتحت البساط ما لقيت شي يفيد جربت تخزين اسم المستخدم في Session بالصفحة الاولى الرئيسيه بعد تسجيل دخوله مباشرتا واول ما المستخدم يضغط على رابط الصفحه الثانيه اعرض اسمه من الــ Session اللي بالصفحه الاولى لكن ما تعرفت الصفحه الثانيه على الــ Session الموجود في الصفحه الاولى مادري وش الحل عندكم ارجو المساعده لان الموضوع كذه شكله دخل على قفله معايا .... بانتظاركم.

ليس كل ما يتمناه المرء يدركه

arabteam2000.gif

#2

عزيزي العقدة

أولا أود أن أتأكد معك ان طريقة دخول المستخدم على الشبكة الداخلية حسب ما فهمت من مشاركاتك السابقة انه يعتمد على ادخال اسم المستخدم وكلمة السر ومقارنتها بقاعددة البيانات؟ حيث ذكرت لك أنه بالامكان الاستفادة من اسم المستخدم على الشبكة طالما هناك دومين. طبعا كلا الطريقتين لها ايجابات وسلبيات ولكن اسلوب العمل يحدد أي منهما تذهب معه.

بالنسبة لاستخدام Session لاعلاقة له بالصفحة الأولى ولا الثانية وانما يعطى على مستوى المتصفح. لذا ربما تساعدنا بوضع الكود هنا حتى يتمكن الاخوة من مساعدتك.

أطيب تحية،،

وكن ذاك الفتى إن مشى

قالوا هذا الأثر

للتواصل الفني

haitham.khaiyat@hotmail.com

#3

اخي العزيز هيثم خياط دعنا نراجع المسأله على مستوى بسيط افرض ان لدينا موقع يحتوي على صفحتان فقط .

الصفحه الاولى يوجد بها Label1 و Textbox1 و Button1 و LinkButton1

حلو .. حلو .. الان دخل المستخدم هيثم خياط وسجل اسمه في مربع النص Textbox1 و قام بالضغط على المفتاح Button1 عندها تم تخزين الاسم في Label1 وعرضه في أعلى الصفحه .

قام المستخدم العقده بالدخول وسجل اسمه في مربع النص Textbox1 و قام بالضغط على المفتاح Button1 عندها تم تخزين الاسم في Label1 وعرضه في أعلى الصفحه .

الان اي عملية تتم بواسطة المستخدم هيثم خياط في الصفحه الاولى اقدر اعرف انها تخص هيثم خياط لان الــ Label1 مازال يحتفظ باسم هيثم خياط الذي قام بالتسجيل .

وأي عملية تتم بواسطة المستخدم العقده في الصفحه الاولى اقدر اعرف انها تخص العقده لان الــ Label1 مازال يحتفظ باسم العقده الذي قام بالتسجيل .

المشكله اذا قام المستخدم هيثم خياط باستخدام الرابط LinkButton1 الموجود بالصفحه الاولى لنقله للصفحه الثانيه وقام المستخدم العقده باستخدام الرابط LinkButton1 الموجود بالصفحه الاولى لنقله للصفحه الثانيه واصبح المستخدم العقده والمستخدم هيثم خياط موجودين بالصفحه الثانيه عندها أي عمليه تتم في الصفحه الثانيه لن اعرف تخص مين فيهم .

بعكس ماكان موجود بالصفحه الاولى استطعت تخزين الاسم في Label1 والتعامل معه حسب المستخدم المسجل اسمه في ذلك الــ Label1 ..

المطلوب احتاج متغير احفظ فيه الاسم واستطيع التعامل معه في كل الصفحات حسب كل مستخدم ...

قمت بتنزيل مثال مرفق في هذا المنتدى يخص الــ Session وكان يحتفظ بقيمة الــ Textbox في Session ومفتاح تضغط عليه ينقلك للصفحه الثانيه وفي الصفحه الثانيه تستطيع قراءة الــ Session الموجوده في الصفحه الاولى .. عندها قلت جاك الفرج هو هذا اللي كنت ابحث عنه .. طبعا المثال كان يعمل على الــ FileSystem وعندما نقلته على IIS حدثت المشكله بالصفحه الثانيه غير معروف عنده الــ Session القادمه من الصفحه الاولى ... اعتقد انه لم يستطع قرائتها لانها تاسست في الصفحه الاولى لكن الغريب انها اشتغلت على FileSystem من مسار عادي داخل الجهاز وعند نقلها على الخادم IIS واجهة المشكله .

تم تعديل هذه المشاركة بواسطة العقده في 28 ديسمبر 2007 في 22:36

ليس كل ما يتمناه المرء يدركه

arabteam2000.gif

#4

اخي الكريم

هذا مثال بسيط

جرب هذا المثال واخبرنا اذا كان هناك مشكلة أو اي شي غير واضح

WebSite9.zip

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





 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

Mohammad Sonaiea
 

#5

عرف الـ session في global.ascx

joseph.gif

logo.gif

CCNA 640-802

مدونتي

#6

عزيزي محمد سماقيه ياريت الكود يكون #C بانتظار المرفق .

اقتباس
عرف الـ session في global.ascx

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

تم تعديل هذه المشاركة بواسطة العقده في 29 ديسمبر 2007 في 12:03

ليس كل ما يتمناه المرء يدركه

arabteam2000.gif

#7

في الصفحة الأولى:

Session["member"]=this.Label1.text;

طبعا Label1 يحتوي اسم المستخدم بالفعل وليس قبل ان تعوض فيه اسم المستخدم.

-----------

في الصفحة 2 :

string memberName;
memberName=Session["member"];
this.Label.text = memberName;

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

أهم شيء السطر الثاني.

السؤال هل هذا هو الاسلوب المستخدم للتعامل مع المستخدمين؟ (أنا لا أعرف لذا اسأل)

تم تعديل هذه المشاركة بواسطة إسماعيل ابراهيم في 29 ديسمبر 2007 في 12:44

#8

الاخ اسماعيل ابراهيم المشكله انه في الصفحه الثانيه ["Session["member لا يمكن التعرف عليها لانها لم تم تاسيسه واسناد قيمته في الصفحه الاولى لو تجرب مثالك هذا على تطبيق IIS يدعم http ستجد الخطأ الذي يشر للـ Session الموجود بالصفحه الثانيه باعتبارها فارغه ولا يمكن القراءة منها .

الاخ محمد سماقية المرفق يتعامل مع الـكوكيز وهذا اتوقع اقرب حل للمشكله ولكوني مبتديء ولا خبرة لدي في موضوع الكوكيز ارجو ارفاق نفس المرفق ولكن بالسي شارب كي استطيع التعامل معه .

ليس كل ما يتمناه المرء يدركه

arabteam2000.gif

#9

add new item global.asax

بداخله ضع

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)

' Code that runs when a new session is started

Session("user") = "0"

Session("id") = "0"

Session("mail") = "0"

Session("state") = "0"

End Sub

joseph.gif

logo.gif

CCNA 640-802

مدونتي

#10

ياشباب ليش التعقيد المثال الموجود بالمرفق واضح :wacko:

وسوف اضع كود c# بعد قليل ان شاء الله

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





 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

Mohammad Sonaiea
 

#11

الاخ العزيز الساحر .. كل اللي اقدر اقوله انك ( سااااااااااااااااااااااااااااااحر) .

محمد سماقيه بانتظار كود السي شارب .

تم تعديل هذه المشاركة بواسطة العقده في 29 ديسمبر 2007 في 16:46

ليس كل ما يتمناه المرء يدركه

arabteam2000.gif

#12

C#

website10.zip

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





 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

Mohammad Sonaiea
 

#13

أخي وحبيبي محمد سماقيه نعتذر على التدخل والتعقيد B)

تقبل فائق احترامي

joseph.gif

logo.gif

CCNA 640-802

مدونتي

#14

اخواني الاعزاء كلاً ساهم بمساعدته وخبرته في هذا المجال فأنتم تمثلون الفريق العربي للبرمجة وجود مثلكم مكسب كبير لنا للاستفاده من خبراتهم .

عزيزي محمد سماقيه المرفق اشتغل تمام التمام عندي استفسارين :

الاول : عندما قمت بوضع صفحه ثالثه وجعلت رابط لها من الصفحه الثانيه لم اتمكن من التعامل مع الكوكيز الموجود ولم يتم التعرف عليه في الصفحه الثالثه علما انه يعمل بين صفحة الــ log in والصفحه الثانيه .. ما السبب .

الثاني : كيف استطيع ان اقراء الكوكيز اول ما يدخل المستخدم على الموقع لكي افتش فيه واستخرج منه اسم المستخدم الذي قمت بتخزينه به .. وفي حالة تسجيل الخروج كيف استطيع ان افرغ محتويات الكوكيز هذا او حذفه اذا كانت هذي الطريقه افضل في معرفة بيانات الكوكيز ومعرفة وجوده من عدمه .

وشكرا لكم جميعا .. الف الف شكر ..

تم تعديل هذه المشاركة بواسطة العقده في 30 ديسمبر 2007 في 13:38

ليس كل ما يتمناه المرء يدركه

arabteam2000.gif

#15
اقتباس
الاول : عندما قمت بوضع صفحه ثالثه وجعلت رابط لها من الصفحه الثانيه لم اتمكن من التعامل مع الكوكيز الموجود ولم يتم التعرف عليه في الصفحه الثالثه علما انه يعمل بين صفحة الــ log in والصفحه الثانيه .. ما السبب .

اخي الكريم انا استعملت cookie من أجل تسجيل الدخول فقط يعني عند صفحة login من أجل تذكر البيانات أي اسم المستخدم وكلمة المرور فقط اما في باقي الصفحات يتم التعامل مع الـsession ومن اجل ان تعمل الصفحة الثالثة يجب ان ترث من كلاس pages

اقتباس
الثاني : كيف استطيع ان اقراء الكوكيز اول ما يدخل المستخدم على الموقع لكي افتش فيه واستخرج منه اسم المستخدم الذي قمت بتخزينه به .. وفي حالة تسجيل الخروج كيف استطيع ان افرغ محتويات الكوكيز هذا او حذفه اذا كانت هذي الطريقه افضل في معرفة بيانات الكوكيز ومعرفة وجوده من عدمه .

اخي العقدة الـcookie عند تسجيل الدخول فقط لان cookie هو على مستوى الـclient أي يخزن بالـclient اما الـsession يخزن بالـserver

من اجل تفريغ المحتوى أوى حذف أي متحول فقط اسند قيمة الـnull للمتحول .

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





 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

Mohammad Sonaiea
 

#16

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

		HttpContext.Current.User.Identity.Name;
#17
اقتباس
اخي العقدة الـcookie عند تسجيل الدخول فقط لان cookie هو على مستوى الـclient أي يخزن بالـclient اما الـsession يخزن بالـserver

من اجل تفريغ المحتوى أوى حذف أي متحول فقط اسند قيمة الـnull للمتحول

حلو الكلام حلو .. الان الكوكيز هذا تم تخزين اسم المستخدم فيه وحفظه في جانب العميل .. طيب قام العميل بقفل الصفحه بواسطة مفتاح X في أعلى النافذه ولم يقوم بتسجيل الخروج .. رجع العميل وفتح الصفحه مره اخرى هل اقدر اقرأ من الكوكيز هذا اللي تم حفظ اسم المستخدم فيه اول مره .. ولا يعتبر الكوكيز هذا في الباي باي ..

واذا الاجابه نعم ممكن ياريت استاذي تتوج لي العمليه بمرفق او مثال او تكتب الجزء اللي يخص المساله هذي لكي ارفقه مع اخوته الككوويزات .

اقتباس
HttpContext.Current.User.Identity.Name;

اخ طاهر الباز هذا الامر من فين يقرأ .. اذا كان يقرأ من SQL Server .. فأنا موضوعي مختلف لاني اتعامل مع Oracle10G

ليس كل ما يتمناه المرء يدركه

arabteam2000.gif

#18
اقتباس
حلو الكلام حلو .. الان الكوكيز هذا تم تخزين اسم المستخدم فيه وحفظه في جانب العميل .. طيب قام العميل بقفل الصفحه بواسطة مفتاح X في أعلى النافذه ولم يقوم بتسجيل الخروج .. رجع العميل وفتح الصفحه مره اخرى هل اقدر اقرأ من الكوكيز هذا اللي تم حفظ اسم المستخدم فيه اول مره .. ولا يعتبر الكوكيز هذا في الباي باي ..

نعم أكيد فهذه هي وظيفة الـcookie

اقتباس
واذا الاجابه نعم ممكن ياريت استاذي تتوج لي العمليه بمرفق او مثال او تكتب الجزء اللي يخص المساله هذي لكي ارفقه مع اخوته الككوويزات .

أخي من أجل المثال موجود بالمرفق السابق واذا كان هناك اي جزء اي واضح فأنا جاهز من أجل الشرح وبالتوفيق.

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





 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

Mohammad Sonaiea
 

#19

الله يعطيك الف الف عافيه محمد سماقيه مثالك الموجود عندي ياخذ اسم المستخدم اول مره وتبدأ العمليه .. ولكن عندما يقوم المستخدم بغلق النافذه واعادة فتحها مره أخرى المفروض انني لا اظهر له صفحة تسجيل الدخول لان المستخدم لم يسجل خروج .. المفروض انه في الــ Page_Load ابحث عن الكوكيز اذا كان موجود استخرج منه اسم المستخدم وأدخل به للصفحه الثانيه مباشرتا واضع اسمه في الــ Label .. واذا قام بتسجيل خروج عندها سوف انفذ عمليه مثلا افرع محتويات الكوكيز او احذفه عشان عند اعادة فتح الصفحه او الدخول للموقع مره اخرى ولا اجد كوكيز له افتح اعرض عنده صفحة الــ Login ..

ليس كل ما يتمناه المرء يدركه

arabteam2000.gif

#20

هلا اخي العقدة هذا المثال يوجد فيه تسجيل خروج أي تفريغ الكوكيز والسيشن

website20.zip

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





 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

Mohammad Sonaiea
 

هذا الموضوع مغلق.

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…