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

مشكلة تعدد المستخدمين

بدأه hanymtaha في 1 ديسمبر 2012 · 14 رد · 815 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

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

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

#2

السلام عليكم ..

  1. المشكلة في الكود عندك .... هل تستخدم أكوادا مثل :
    Static String UserName;

    ؟؟؟

  2. حاول تخرين اسم المستخدم في الــ Session .
  3. ارسل لنا جزء الأكواد الخاص بتسجيل الدخول أو أي اكود ممكن تساعدنا في حل المشكلة .

تم تعديل هذه المشاركة بواسطة houssam11350_11350 في 1 ديسمبر 2012 في 10:16

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#3

كيفية انشاء session وهل هو الذي يفرق بين كل مستخدم واخر على السيرفر

#4

السلام عليكم ..

  1. يمكن النظر للــ Session على أنها جدول فيه حقلان Key و Value , (مفتاح و قيمة) تستخدمه لتخزين القيم , و هو مستقل من مستخدم لآخر ..
  2. مثلا لتخزين اسم المستخدم في الحقل UserName يكون :
    Session["UserName"] = txtUser.Text;

  3. لقراءة قيمة اسم المستخدم يكون :
    String theUser = (String)Session["UserName"];

  4. Exploring-Session-in-ASP-Net
  5. حاول استخدام البحث (طريقة البحث) و عليك بكتب الــ ASP NET و الدروس المثبتة في المنتدى , ستجد شروحات للــ Session .

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#5

شكرا جدا على الاهتمام والرد

ساشرح مشكلتي

1 - عند الدخول اسم المستخدم : علي ابراهيم ثم الباسورد اي كان ثم الدخول يشتغل معي الموقع بصورة جيدة من تحميل ورفع واستعلام

2 - عند دخول مستخدم اخر من جهاز اخر من اى مكان على النت

بعد تسجيل الدخول مثلا اسم المستخدم : محمود ابراهيم وادخال الباسورد يدخل بصورة صحيحة ولكن لم

يتعامل المستخدم الاول اللي هو على ابراهيم في موقع مع وجود المستخدم الاخير يلاحظ انه تحول الي المستخدم الاخير كان اتعامل مع مستخدم واحد وليس مستخدمين 2

ارجو مساعدتي ضروري ليه يتعامل كمستخدم واحد وليس كاكثر من مستخدم في نفس الوقت

وياريت يكون الكود بـ vb.net

#6

السلام عليكم ...

  1. Read From Session
  2. If Session("UserID") Is Nothing Then
    Session("UserID") = "SomeDefaultSetting"
    End If

  3. Dim theUser As String
    theUser = Session("UserID")

  4. المشكلة التي ذكرتها ناتجة من الأكواد التي كتبتها أنت ...فيبدو انك لم تتعامل مع الــ Session بالشكل الصحيح , إذا أردت أرفق الأكواد كي يتمكن الأعضاء و المشرفين من إيجاد المشكلة .

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#7

Imports System.Data

Imports Microsoft.VisualBasic

Imports System.IO

Imports System.Data.SqlClient

Public Module modl2

'Public cn As New SqlConnection()

Public strsql1, path1 As String

Public cmd1 As New SqlCommand()

' Public cmd1() As SqlCommand()

Public dr As SqlDataReader

End Module

Partial Class login

Inherits System.Web.UI.Page

Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click

'------------------------------------- تسجيل الدخول ------------

If (cn.State And ConnectionState.Open) <> 0 Then

cn.Close()

End If

strsql1 = "select emp_id,emp_name,emp_pass,tech_id,marh_id,mada_id from tech where emp_pass='" & TextBox2.Text & "'"

strsql1 = strsql1 + " and emp_name ='" & TextBox1.Text & "'"

strsql1 = strsql1 + " and emp_id ='" & down1.Text & "'"

'--------------------------------------------

cn.Open()

cmd1.Connection = cn

cmd1.CommandText = strsql1

dr = cmd1.ExecuteReader

If dr.HasRows = False Then

Labmsg.Text = "اسم المستخدم او كلمة السر خاطئة"

TextBox1.Text = ""

TextBox2.Text = ""

TextBox1.Focus()

Else

Session("login") = TextBox1.Text

Session("name") = "aa"

' If IsPostBack = False Then

Session.Add("txtname", TextBox1.Text)

Session.Add("txtpass", TextBox2.Text)

' Me.Application("CurrentVisitors") = CInt(Me.Application("CurrentVisitors") + 1)

Labmsg.Text = Me.Application("CurrentVisitors")

i = Me.Application("CurrentVisitors")

'End If

dr.Read()

p_techid = dr.Item("tech_id")

p_name3 = dr.Item("emp_name")

p_marh = dr.Item("marh_id")

p_mada = dr.Item("mada_id")

p_empid = dr.Item("emp_id")

p_empchang = p_empid

dr.Close()

'------------------------ راجع الكود -----------

Select Case p_empid

Case 1

Response.Redirect("addemp.aspx", True)

Case 2

p_chang = 4

Response.Redirect("mainhome.aspx", True)

Case 3

p_chang = 1

Response.Redirect("mainhome.aspx", True)

Case 4

p_chang = 1

Response.Redirect("mainhome.aspx", True)

Case 5

p_chang = 3

Response.Redirect("mainhome.aspx", True)

Case 6

p_chang = 1

Response.Redirect("mainhome.aspx", True)

Case 7

p_chang = 1

Response.Redirect("mainhome.aspx", True)

Case 8

p_chang = 2

Response.Redirect("mainhome.aspx", True)

End Select

End If

End Sub

Protected Sub Page_Init(sender As Object, e As System.EventArgs) Handles Me.Init

'If IsPostBack = False Then

' Me.Application("CurrentVisitors") = CInt(Me.Application("CurrentVisitors") + 1)

'Labmsg.Text = Me.Application("CurrentVisitors")

' z = Me.Application("CurrentVisitors")

' i = z

' End If

' i = Me.Request.UserHostAddress

End Sub

Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load

'Dim mycookie As HttpCookie = Request.Cookies("usercookie")

'Dim txthany As HttpCookie

'Dim z As New Integer

If (cn.State And ConnectionState.Open) <> 0 Then

cn.Close()

End If

path1 = Server.MapPath("~")

cn.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=" & path1

cn.ConnectionString = cn.ConnectionString + "\App_Data\manar2012.mdf;Integrated Security=True;User Instance=True"

cn.Open()

'//-------------------------------------------

'txthany = New HttpCookie("txthany")

' If Page.IsPostBack = False Then

' Session.Clear()

' txthany.Value = i

' Response.Cookies.Add(txthany)

' If mycookie.Value.ToString = Nothing Then

' MsgBox("hi hany")

' z = i

' i = mycookie.Values("z").ToString

' i = mycookie.Values("i")

'End If

'End If

End Sub

Protected Sub down1_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles down1.SelectedIndexChanged

Labmsg.Text = down1.SelectedItem.Text

End Sub

Protected Sub Page_Unload(sender As Object, e As System.EventArgs) Handles Me.Unload

End Sub

End Class

' Labmsg.Text = Me.Request.Browser.Browser

#8

السلام عليكم ...

  1. لم تتضح المشكلة , فانت تقوم بتسجيل دخول ثم حفظ اسم المستخدم في الــ
    Session("login") = TextBox1.Text

    ثم إعادة توجيه لبعض الصفحات .

  2. هل p_empid هو متحول معرف كـــ static أو shared ؟؟ أين تم تعريفه .
  3. كي تحل المشكلة , قم بعمل صفحة و فيها label واحد و اكتب الكود التالي في حدث Page_Load و هو :
    Label1.Text = Session("login")

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

تم تعديل هذه المشاركة بواسطة houssam11350_11350 في 1 ديسمبر 2012 في 19:01

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#9

p_empid انا معرفه كمتغير عام لكل الموقع من نوع string

رابط موقعي هو

www.lessmanar.somee.com/login.aspx

استخدم

اسم الدخول : سامي محمود كلمة السر : 1966

هذا المستخدم الاول

اسم الدخول : محمد شبرم كلمة السر : 1966

المشكلة بعد دخول المستخدم الثاني يتحول الاسم في الموقع له ويلغي الأول

جرب واعطيني رايك والحل من خبرتك واشكرك على الاهتمام

#10

السلام عليكم ...

اقتباس
p_empid انا معرفه كمتغير عام لكل الموقع من نوع string
اعتقد أنه سبب المشكلة ... اين تم تعريفه .. و كيف ؟

ماذا أفعل بعد أن أدخل اسم المستخدم و كلمة المرور ....لا يوجد أي زر للضغط عليه ..كيف أدخل للموقع ..؟

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#11

لحظات سافتح لك الدخول وادخل على اعداد يومي مع المستخمين الاثنين

الان يمكنك الدخول اختار من القائمة معلم

وادخل في نفس الوقت مع المستخدمين الاثنين وسترى المشكلة بنفسك واشكرك مرة اخرى على اهتمامك وجزاك الله خيراً

#12

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

#13

السلام عليكم ...

لم استطع الدخول بالمستخدم الثاني , هل الصفة هي معلم ... لا مشكلة فأنا فهمت مالذي يحصل معك ...

المشكلة في الكود اخي .... فقط ارسل لنا طريقة تعريف المتحول المذكور ...

في الصفحة المذكورة , خذ المعلومات من الــ Session و ليس من المتحولات المذكورة ... هذا سيحل المشكلة ..

تم تعديل هذه المشاركة بواسطة houssam11350_11350 في 1 ديسمبر 2012 في 22:14

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#14

السلام عليكم

أخي استخدم التالي بدل ال session

System.Web.Security.FormsAuthentication.RedirectFromLoginPage("username", 1);

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

User.Identity.Name

رَبِّ أَوْزِعْنِي أَنْ أَشْكُرَ نِعْمَتَكَ الَّتِي أَنْعَمْتَ عَلَيَّ وَعَلَى وَالِدَيَّ وَأَنْ أَعْمَلَ صَالِحًا تَرْضَاهُ وَأَدْخِلْنِي بِرَحْمَتِكَ فِي عِبَادِكَ الصَّالِحِينَ

تلاوات خاشعة مؤثرة

#15

السلام عليكم

لقد تم حل المشكلة بفضل عبقرية الاستاذ / حسام اللي تفاعل معي في الموضوع واعطاني ارائه عن session جزاه الله عني خيراً وجعله الله في ميزان حسناتك

لقد عملت المتغيرات (المتحولات) في session مما جعل كل مستخدم كأنه يعمل لحالة

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