PDA

View Full Version : سوال: چرا session در بعضی از سیستمها جواب نمیده



mustafaehsani
شنبه 05 مرداد 1392, 18:25 عصر
با سلام خدمت اساتید
این سوال چند وقت پیش مطرح کردم اما کسی مشکل رو حل نکرد. لازم به توضیح است که بنا به دلایلی فقط باید از session استفاده بشه. و این اتفاق روی هاست میوفته.
http://barnamenevis.org/showthread.php?398396-%DA%86%D8%B1%D8%A7-session-%D8%AF%D8%B1-%D8%A8%D8%B9%D8%B6%DB%8C-%D8%A7%D8%B2-%D8%B3%DB%8C%D8%B3%D8%AA%D9%85%D9%87%D8%A7-%D8%AC%D9%88%D8%A7%D8%A8-%D9%86%D9%85%DB%8C%D8%AF%D9%87&p=1769238#post1769238
یه سایت ارزشیابی ساده ست. user , pass توی دیتابیس موجوده یعنی احتیاجی به ثبت نام نداره. user , pass وارد شده از صفحه اول بوسیله session به صفحه دوم منتقل میشه و از صفحه دوم یه کد (منظور یک عدد است) به صفحه سوم انتقال پیدا میکنه که اون هم بوسیله session صورت میپذیره. من خودم به شخصه روی بیشتر از 20 سیستم مجزا کار کردم هنوز هیچگونه مشکلی تا حالا خودم ندیدم. مطلب بعدی اینکه تعداد محدودی از کاربرها در انتقال از صفحه اول به دوم مشکل دارند و خیلی جالبتر بعضی از کاربرها از صفحه دوم به سوم مشکل دارند یعنی صفحه اول به صفحه دوم انتقال پیدا میکنه اما دوم به سوم نه ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
بعضی از کاربرا میگن بعد از login ارور appliction میده.
تنها چیزی که به ذهن خودم میرسه اینه که وقتی تعدادی زیادی user با هم در حال ارزشیابی هستن و با توجه به استفاده از session امکانات سخت افزاری هاست جوابگو نیست.
لازم به توضیح است که هاست از شرکت ایران هاست خریداری شده

mustafaehsani
دوشنبه 07 مرداد 1392, 09:14 صبح
اساتید محترم لطفاً کمک و راهنمایی کنند :گریه:

mustafaehsani
دوشنبه 07 مرداد 1392, 17:33 عصر
یه بزگوار پیدا نمیشه جواب ما رو بده. ماشااله اینقدر ارسال سوالات زیاده که من مجبور برای اینکه سوالم بیاد اول خط خودم هی الکی نظر بدم. اساتید خواهشاً جواب بدن :عصبانی++:

fakhravari
دوشنبه 07 مرداد 1392, 20:32 عصر
اطلاعات شما متنی بین صفحات؟

mustafaehsani
یک شنبه 13 مرداد 1392, 09:06 صبح
اطلاعات شما متنی بین صفحات؟

ببخشید اصلا متوجه سوالتون نشدم

fakhravari
یک شنبه 13 مرداد 1392, 18:30 عصر
اطلاعاتي كه بين صفحات رد بدل ميكنيد همه مقدار text box?

blackcats
یک شنبه 13 مرداد 1392, 19:43 عصر
چرا از کوکی استفاده نمیکنی؟

mustafaehsani
دوشنبه 14 مرداد 1392, 08:51 صبح
اطلاعاتي كه بين صفحات رد بدل ميكنيد همه مقدار text box?

برای ورود کاربر user,pass رو داخل text box وارد میکنه بعد از طریق session به خاصیت تکست label در صفحه بعد (صفحه دوم) اختصاص داده میشه. در صفحه دوم خاصیت تکست یکی از این lable ها و یک عدد دیگر که کاربر از طریق text box که در صفحه دوم موجود هست مجدداً توسط session به صفحه سوم انتقال پیدا میکنه

----------------------------------------------------------------
صفحه اول

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
DataClassesDataContext db = new DataClassesDataContext();

var sel = (from st in db.Students
where st.SID == txtuser.Text
where st.NationalCode == txtpass.Text
select st);
var endsy = (from sy in db.Syllabus
where sy.Student_ID == txtuser.Text
select sy).Count();

var endev = (from ev in db.Evaluations
where ev.SttID == txtuser.Text
select ev).Count();

if (sel.Any())
{

if (endev == endsy)
{
Response.Redirect("Again.aspx");
}

else
{

foreach (var item in sel)
{
Session["UserName"] = txtuser.Text;
Session["Pass"] = txtpass.Text;
Response.Redirect("View.aspx");
}
}
}
else
{
lblerror.Visible = true;
lblerror.Text = "شماره دانشجویی و یا کد ملی خود را اشتباه وارد کردید";
}
}
}


----------------------------------------------------------
صفحه دوم


public partial class View : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
lbluser.Text = Session["UserName"].ToString();
lblpass.Text = Session["Pass"].ToString();
}
protected void Button1_Click(object sender, EventArgs e)
{
Session["STID"] = lbluser.Text;
Session["Code"] = txtcode.Text;

DataClassesDataContext db = new DataClassesDataContext();
int varsyID;
varsyID = int.Parse(txtcode.Text);
var sev = (from sy in db.Syllabus
where sy.SyID == varsyID
where sy.Student_ID == lbluser.Text
select sy);
if (sev.Any())
{
var check = (from ev in db.Evaluations
where ev.syllID == varsyID
select ev);
if (check.Any())
{
lblno.Visible = true;
lblno.Text = "ارزشیابی تکراری می باشد";
}
else
{
Response.Redirect("EvaluationsForm.aspx");
}

}

else
{
lblno.Visible = true;
lblno.Text = "کد وارد شده اشتباه است";
}
}
}


---------------------------------------------------------------------
صفحه سوم


public partial class EvaluationsForm : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
lbluser.Text = Session["UserName"].ToString();
lblcode.Text = Session["Code"].ToString();
}
protected void Button1_Click2(object sender, EventArgs e)
{
DataClassesDataContext db = new DataClassesDataContext();

int varsyID;
varsyID = int.Parse(lblcode.Text);
var check = (from ev in db.Evaluations
where ev.syllID == varsyID
select ev);

if (check.Any())
{
lblok.Visible = false;
lblno.Visible = true;
lblno.Text = "ارزشیابی تکراری می باشد";
}

else
{

db.insert_eval(syllID: varsyID, sttID: lbluser.Text, q1: rdbq1.SelectedValue, q2: rdbq2.SelectedValue, q3: rdbq3.SelectedValue, q4: rdbq4.SelectedValue,
q5: rdbq5.SelectedValue, q6: rdbq6.SelectedValue, q7: rdbq7.SelectedValue, q8: rdbq8.SelectedValue, q9: rdbq9.SelectedValue, q10: rdbq10.SelectedValue);
lblok.Visible = true;
lblok.Text = "ارزشیابی با موفقیت ثبت شد";
btnback.Visible = true;
}
}


protected void Button2_Click(object sender, EventArgs e)
{
DataClassesDataContext db = new DataClassesDataContext();

var endsy = (from sy in db.Syllabus
where sy.Student_ID == lbluser.Text
select sy).Count();

var endev = (from ev in db.Evaluations
where ev.SttID == lbluser.Text
select ev).Count();
if (endev == endsy)
{
btnback.Visible = true;
btnback.Text = "ثبت نهایی";
Response.Redirect("Complete.aspx");
}

else
{

Response.Redirect("View.aspx");
}
}
}

mustafaehsani
سه شنبه 15 مرداد 1392, 09:09 صبح
چرا از کوکی استفاده نمیکنی؟

بنا به دلایلی فقط باید از session استفاده بشه