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

سوال على السيشن

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

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

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

طبعن انا خزن السيشن وقت تسجيل الدخول وهذه كود تسجيل الدخول string con;

con = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

SqlConnection sqlcon = new SqlConnection();

sqlcon.ConnectionString = con;

SqlCommand sqlcom = new SqlCommand();

sqlcom.Connection = sqlcon;

string command;

int idUser;

command = "select id from Users where Name=@name and Pass=@pass";

sqlcom.CommandText = command;

sqlcon.Open();

sqlcom.Parameters.AddWithValue("@name", TextBox6.Text);

sqlcom.Parameters.AddWithValue("@pass", TextBox7.Text);

idUser = System.Convert.ToInt32(sqlcom.ExecuteScalar());

sqlcon.Close();

if (idUser == 0)

{

Label3.Text = "عذراً , تأكد من إسم المستخدم وكلمة المرور ";

Window3.Visible = true ;

}

else

{

Session["idUser"] = idUser.ToString();

Session["Name"] = TextBox7.Text;

//Window3.Visible = false;

Response.Redirect("Default.aspx");

GridView1.Enabled = true ;

}

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

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

string savePath = Server.MapPath("filetaha");

string fileName = "";

if (Fup.HasFile)

{

fileName = Fup.FileName;

savePath = savePath + "\\" + fileName;

Fup.SaveAs(savePath);

string con;

con = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

SqlConnection sqlcon = new SqlConnection();

sqlcon.ConnectionString = con;

SqlCommand sqlcom = new SqlCommand();

sqlcom.Connection = sqlcon;

string command, myfile;

command = "insert into ali (files,name) values(@files,@name)";

sqlcom.CommandText = command;

sqlcon.Open();

sqlcom.Parameters.AddWithValue("@files", fileName);

sqlcom.Parameters.AddWithValue("@Name", Session["Name"]);

myfile = sqlcom.ExecuteNonQuery().ToString();

sqlcon.Close();

GridView1.DataBind();

}

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

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

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

السيشن.zip

#2

السلام عليكم

الخطأ عندك في سطر التخزين في السيشن

Session["Name"] = TextBox7.Text;

حيث يجب ان يكون

Session["Name"] = TextBox6.Text;

واعتقد ان الاصح تخزين رقم المستخدم وليس الاسم .

1
#3
TareqVB كتب:

السلام عليكم

الخطأ عندك في سطر التخزين في السيشن

Session["Name"] = TextBox7.Text;

حيث يجب ان يكون

Session["Name"] = TextBox6.Text;

واعتقد ان الاصح تخزين رقم المستخدم وليس الاسم .

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

مشكوؤ اخي العزيز صح كلامك ضبط معي بس ليش قلت الاصح اخزن رقم المستخدم ؟؟؟ انا خزنت اسم المستخدم بسيشن .. عشان استخدمة في صفحة التحميل انه يضيف لي اسم المستخدم الي حمل ملف ؟

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

string con;

con = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

SqlConnection sqlcon = new SqlConnection();

sqlcon.ConnectionString = con;

SqlCommand sqlcom = new SqlCommand();

sqlcom.Connection = sqlcon;

string command;

int idUser;

command = "select id from Users where Name=@name and Pass=@pass";

sqlcom.CommandText = command;

sqlcon.Open();

sqlcom.Parameters.AddWithValue("@name", TextBox6.Text);

sqlcom.Parameters.AddWithValue("@pass", TextBox7.Text);

idUser = System.Convert.ToInt32(sqlcom.ExecuteScalar());

sqlcon.Close();

if (idUser == 0)

{

Label3.Text = "عذراً , تأكد من إسم المستخدم وكلمة المرور ";

Window3.Visible = true ;

}

else

{

Session["idUser"] = idUser.ToString();

Session["Name"] = TextBox6.Text;

//Window3.Visible = false;

Response.Redirect("Default.aspx");

GridView1.Enabled = true ;

}

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

#4

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

اخي صحيح كلام الأخ طارق يفضل خزن رقم المستخدم اذا كان هو المفتاح الاساسي لأنك من خلاله يمكن الوصول لجميع معلومات المستخدم الحالي لاحقا في أي صفحة اخرى, اما بالنسبه لمشكله التحميل تكمن في تقديمك للجملة Response.Redirect("Default.aspx"); لأنه سيتم اعادة توجيه الصفحه قبل تفعيل ال GridView

تم تعديل هذه المشاركة بواسطة VB Helper في 26 مايو 2011 في 23:04

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

#5

مجرد ملحوظة إضافية. دائماً تجنب استخدام أسماء مبهمة مثل Textbox5 واستبدلها باسم يدل على محتواها مثل textUserName. هذه الطريقة تساعدك في تجنب مثل هذه الأخطاء.

#6
System Down كتب:

مجرد ملحوظة إضافية. دائماً تجنب استخدام أسماء مبهمة مثل Textbox5 واستبدلها باسم يدل على محتواها مثل textUserName. هذه الطريقة تساعدك في تجنب مثل هذه الأخطاء.

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

مشكور اخي العزيز ماقصرت والله على الملاحظة ..

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