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

عندي مشكلة

بدأه الحكيمة في 7 فبراير 2011 · 6 رد · 627 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

انا ذحين حعمل موقع

في الموقع في استشارات

تيبل الاسشارات فيه :

رقم الاستشاره

العنوان

نوع الاستشارة

المحتوى

رقم العضوية

طيب في الصفحة عملت تكست بوكس للعنوان- نوع الاستشارة- المحتوى

ودروب داون ليست لنوع الاستشارة ((طبية او اجتماعية))

ورقم العضوية من جدول الاعضاء كفوريجن كي

بس سوالي هو كيف اجعل العضو نفسه الي عمل لوج ان يطلع الاي دي حقه في تيبل الاستشارات انا عملت جملة insert

يدخل ع تيبل الاستشارات بس مشكلتي هو في اليوزر

#2

استخدمي الكويري سترينق (Qwerystring)

أو السيشن (Session)

أو الكوكيز (Cookis)

عن الأفضل طبعا الكوكيز ومن ثم الكويري سترينق ومن ثم السيشن

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

الجهاز الأول السيرفر والجهاز الثاني جهاز اليوزر الكلاينت

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

ولكل منها طريقة والطرق جميعها سهله ونظامها

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

لو ما وضحت الطريقة نحاول نوضحها بمثال بسيط .

والله اعلى وأعلم

تم تعديل هذه المشاركة بواسطة محمدvb في 7 فبراير 2011 في 18:27

#3

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

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

If Login() Then

Session("UserNo")=UserNo

End IF

========

حيث ان Login() هو الكود الذي يتم في التحقق و UserNo رقم العضو

.:: Wish to become better and better ::.

#4

معليش بس انا مبتدئة برمجة ممكن تدلوني على مثال او شرح لموضوع السيشن والاشياء الي زي كذا

لاني حسيت كلامكم ادفانس شوية وانا مبتدئة

شكرا ع المساعدة

برضو عندي سؤال اخر وهو:

((عملت جريد فيو للفرق ذحين ابغى اليوزر يختار من القريد فيو بحيث يصير منتمي لهذا الفريق ويمكنه الانضمام لاكثر من فريق))

كيف ممكن اسوي هذا الموضوع

#5

الافضل وضع الكود ليتم تعديله بما يتطلب ..

بعد تسجيل الدخول لليوزر .. كيف تتم الآلية

1 - التحقق من وجود اليوزر والتحقق من كلمة المرور .. لو اليوزر غير موجود أو كلمة المرور لليوزر خطأ يتم إظهار رساله بوجود خطأ في تسجيل الدخول .

2 - لو البيانات المدخلة صحيحه يتم نقل المستخدم للصفحة الرئيسية للموقع ومن ثم التنقل بين صفحات الموقع .. هنا بيت القصيد بعد التحقق وقبل تحويل اليوزر للصفحة الرئيسية

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

كود التحقق من اليوزر وكلمة المرور

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

لنفترض التكست الحامل لاسم اليوزر مسمى بي TextBox1

Session("UserName")=TextBox1.Text

الآن تم تحميل اسم اليوزر في السيشن بإسم UserName

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

كود تحويل اليوزر من صفحة الدخول للصفحة الرئيسية

/////////////////////////////////////////////////////////////////////

وفي أي صفحة من صفحات الموقع ولمعرفة اليوزر يتم بالكود التالي :

لعرض اسم اليوزر في أداة اليبل

Label1.Text = Session("UserName").ToString

اصبح لدينا اسم اليوزر في هذا السطر

Session("UserName").ToString

بالإمكان التعامل عادي وكأنه أداة تكست تعرض أسم اليوزر .. يمكن حفظه في الجدول أو طباعته أو .....

#6

طيب هل الافضل استخدم اللوج ان توول بوكس

او اعمل تكست بوكس لليوزر والباسوورد

وهل احط اليوزر نيم والباسوورد في جدول الاعضاء

او في جدول لحالة واربطه مع العضو ون تو ون

اخوي في بي

ممكن تجاوب ع سؤالي بالنسبة للجريد فيو

انا عندي قريد فيو يعرض اسماءالفرق

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

علما بانه عندي جدول اعضاء وجدول فريق وبينهم تيبل لانهم علاقة مني تو مني

وشكرا ع التوضيح والمساعدة

#7

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

افترضت انه عندي الجداول التاليه

Users:

ID int NOT NULL PK

Name varchar(50) NOT NULL

Teams:

ID int NOT NULL PK

Name varchar(50) NOT NULL

UserTeams:

UserID int NOT NULL PK,FK

TeamID int NOT NULL PK,FK

JoinDate Date NOT NULL

.aspx

<asp:GridView ID="gvTeams" runat="server" AutoGenerateColumns="False" DataKeyNames="ID"

DataSourceID="SqlDataSource1">

<Columns>

<asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True"

SortExpression="ID" />

<asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />

<asp:TemplateField HeaderText="Select">

<ItemTemplate>

<asp:CheckBox ID="chkSelect" runat="server" />

</ItemTemplate>

</asp:TemplateField>

</Columns>

</asp:GridView>

<br />

<asp:Button ID="btnJoin" runat="server" Text="Join" />

<br />

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"

SelectCommand="SELECT * FROM [Teams]"></asp:SqlDataSource>

.aspx.vb

Imports System.Data.SqlClient

Public Class WebForm1

Inherits System.Web.UI.Page

Dim conn As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Hisham\Desktop\WebApplication1\App_Data\Database1.mdf;Integrated Security=True;User Instance=True")

Dim cmd As New SqlCommand("Insert Into UserTeams Values(@UserID,@TeamID,@JoinDate)", conn)

Protected Sub btnJoin_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnJoin.Click

Dim chk As New CheckBox

conn.Open()

For Each row As GridViewRow In gvTeams.Rows

chk = CType(row.FindControl("chkSelect"), CheckBox)

If chk.Checked Then

cmd.Parameters.AddWithValue("UserID", 2)

cmd.Parameters.AddWithValue("TeamID", gvTeams.DataKeys(row.RowIndex).Value)

cmd.Parameters.AddWithValue("JoinDate", Now)

cmd.ExecuteNonQuery()

cmd.Parameters.Clear()

End If

Next

conn.Close()

End Sub

End Class

افترضت ان رقم المستخدم 2 يمكنك تغييره إلى Session او ما شابه ذلك

تم تعديل هذه المشاركة بواسطة VB Helper في 17 فبراير 2011 في 14:21

.:: Wish to become better and better ::.

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