|
Hi,
I have a website in which users are assigned userid and they have to save their daily report in the site after logging in.
I keep userid in session variable and while saving the data it is also saved in the report table.
But yesterday what happened a user when saved his report, it was saved with other user's id.
I also make a log of user login time and in it the login time of both users is also not same even it has difference of hours.
Can anyone help me out why it happened? and how could i apply measures so that it would not happen in future..
Abhijit, Yusuf or anyone else there who could help me..
modified on Thursday, April 9, 2009 3:24 AM
|
|
|
|
|
devesh sinha wrote: But yesterday what happened a user when saved his report, it was saved with other user's id.
May be it can be cause of session problem. How did you clean up the session while log off from the application ? And What data they are saving ?
cheers,
Abhijit
CodeProject MVP
|
|
|
|
|
On logout user is redirected to homepage where i have removed all the session variable and also in Global.asax.cs I have removed session and application at session_end.
Data saved by users is their daily work report.
I have also made a fucntion to check session on each page and in case it is expired user is redirected to login page.
|
|
|
|
|
Devesh, can you please put the code for Data Save Section , and Log Out Section?
cheers,
Abhijit
CodeProject MVP
|
|
|
|
|
After checkin some condition this code comes. I ahve used a stored procedure to save the data and the userid is passed through a variable "usrid" which i assigned the value on top from the session variable.
SqlConnection con = cmn.getcon();
if (con.State == ConnectionState.Open)
con.Close();
con.Open();
SqlDateTime sqldatenull;
sqldatenull = SqlDateTime.Null;
SqlCommand cmd = new SqlCommand("usp_OrderMaster_Ins", con);
cmd.CommandType = CommandType.StoredProcedure;
string a = txtVisitHr1.Text.ToString();
string b = txtVisitMin1.Text.ToString();
cmd.Parameters.Add("@VisitDate", SqlDbType.DateTime, 8).Value = cmn.MMDDYYtoYYMMDD(txtVisitDate1.Text);
cmd.Parameters.Add("@VisitType", SqlDbType.Char, 1).Value = ddlVisitType1.SelectedValue.ToString();
cmd.Parameters.Add("@Usr_ID", SqlDbType.Int, 4).Value = Convert.ToInt32(usrid);
cmd.Parameters.Add("@FinYr", SqlDbType.Char, 7).Value = cmn.FinYr();
cmd.Parameters.Add("@OutledId", SqlDbType.Int, 4).Value = ddlPartner1.SelectedValue;
int itmcnt = gdOrderDetails.Items.Count;
string ordst = "";
if (itmcnt > 0)
{
ordst = "Y";
}
else
{
ordst = "N";
}
cmd.Parameters.Add("@OrderStatus", SqlDbType.Char, 1).Value = ordst;
if (txtNextVisitDt1.Text.ToString() == "")
{
cmd.Parameters.Add("@NextVisitDate", SqlDbType.DateTime, 8).Value = sqldatenull;
}
else
{
cmd.Parameters.Add("@NextVisitDate", SqlDbType.DateTime, 8).Value = cmn.MMDDYYtoYYMMDD(txtNextVisitDt1.Text.ToString());
}
cmd.Parameters.Add("@Expenses", SqlDbType.Money, 8).Value = "0";
cmd.Parameters.Add("@Remarks", SqlDbType.VarChar, 100).Value = txtRemarks1.Text.ToString();
cmd.Parameters.Add("@SupplierID", SqlDbType.Int).Value = ddlSupplier.SelectedValue;
if (txtDelDt1.Text.ToString() == "")
{
cmd.Parameters.Add("@DeliveryDt", SqlDbType.DateTime, 8).Value = sqldatenull;
}
else
{
cmd.Parameters.Add("@DeliveryDt", SqlDbType.DateTime, 8).Value = cmn.MMDDYYtoYYMMDD(txtDelDt1.Text);
}
cmd.ExecuteNonQuery();
con.Close();
Label1.Text = "Visit Details Saved....";
Label1.Visible = true;
Label1.UpdateAfterCallBack = true;
ddlSupplier.Enabled = true;
ddlSupplier.UpdateAfterCallBack = true;
Logout Section:-
On logout user is redirected to homepage where on page load this code is written:
Session["Usr_Id"]="no";
Session["Section"] = "";
in Global.asax.cs folloing code is given at session_end
Response.ExpiresAbsolute = DateTime.Now;
Session.Abandon();
Response.Expires = 0;
Response.Cache.SetNoStore();
Session.RemoveAll();
|
|
|
|
|
devesh sinha wrote: Logout Section:-
On logout user is redirected to homepage where on page load this code is written:
Session["Usr_Id"]="no";
Session["Section"] = "";
Try to do it in Log Out button Click
try
{
Session.Abandon();
Response.Redirect("Home.aspx", false);
}
catch (Exception ex)
{
}
And nothing to do with global.asax until and unless you want to some other stuff while log off. Session.Abandon() will do all stuff for you.
Hope this will help you
cheers,
Abhijit
CodeProject MVP
|
|
|
|
|
Abhijit here what i think is the same session shared by two users.
So how to prevent that?
As in my case one user is logged in into his account, there it was ok even on welcome message i can see his username appearing but while saving the data other user's id was passed. I think it is beacuse of sharing of same session by two users and this thing happened for the first time after more than 1000 entries.
What u say about this??
|
|
|
|
|
devesh sinha wrote: what i think is the same session shared by two users.
For every client session is unique. How the user are sharing session in your case? I am not clear.
devesh sinha wrote: but while saving the data other user's id was passed.
check and verify the logic where you are retrieving data from session.
devesh sinha wrote: think it is beacuse of sharing of same session by two users and this thing happened for the first time after more than 1000 entries.
cheers,
Abhijit
CodeProject MVP
|
|
|
|
|
Ya i agree with you this thing has also puzzled me.
But i dont find any problem in the logic. I am saving the userid to database which i retrieve from the session so how it is possible that other user's id is fetched while saving whereas the user is seeing all the information related to him on the screen but on saving the data it goes it other person account.
|
|
|
|
|
i have developed project in vb6.0,reporting tool crystal report 8,database ms access 2007.when executed program report was correct but converting report to .txt file inbetween line space is there.how can i remove that space
|
|
|
|
|
demetter wrote: i have developed project in vb6.0,reporting tool crystal report 8,database ms access 2007.when executed program report was correct but converting report to .txt file inbetween line space is there.how can i remove that space
Then why the question comes into ASP.Net Forum ?
cheers,
Abhijit
CodeProject MVP
|
|
|
|
|
I am using following code to remove the IE Cache.
Response.Cache.SetCacheability(HttpCacheability.NoCache);
But i am not able to remove the Mozila Browser Cache Using this Code.
Mahendra Bisht.
|
|
|
|
|
Response.Expires = 0;
Response.ExpiresAbsolute = Now;
Response.AddHeader("pragma","no-cache");
Response.AddHeader("cache-control","private");
I think you can add all of them in addition to Response.Cache.SetCacheability... Hope this will clears..
|
|
|
|
|
this work fine with IE but not for Mozila
Mahendra Bisht.
|
|
|
|
|
Hello Everyone,
I Want to follow MVC Pattern in Asp.Net
i want to put class files for model and controller in separete folder...
Anybody know pls help me...
Thank you,
R RajaGuru
|
|
|
|
|
I have a solution containing about 5 projects. One of these is "CommonClass" witch contains a class User with a public property ReportName. In my web site i check this property on an user object (if (usr.ReportName) ...) Intellisens works on the property, and when i right click and "go to definition" i go to the correct file and definiton. However when i build i get the following error:
'Project.CommonClass.User' does not contain a definition for 'ReportName'
How can i fix this error?
Thanks
modified on Thursday, April 9, 2009 1:45 AM
|
|
|
|
|
nilam2477 wrote: 'Project.CommonClass.User' does not contain a definition for 'ReportName'
In which project are you getting the error? or in every project ?
cheers,
Abhijit
CodeProject MVP
|
|
|
|
|
In one project Web Site project where i'm calling the ReportName property
|
|
|
|
|
All,
<pre>
<li id="img2">
<a class="current">
<img src="Images/about_pic.jpg" id="MapHead" alt="Around the world"
/>
</a>
</li></pre>
As shown in the code snippet above, I'm trying to populate a list item (Li) which is part of an Unordered list (UL). As you can see the image I'm trying to display underneath the first couple of items which happens to be hyperlink does not fill the entire space (i.e the class current that is applied to the anchor tag sort of create a border within which the image needs to be displayed, the problem is that in its original resolution (i can't simply change the width adn height of the image as it distorts the resolution) the image does not appear to fill the entire space that is it is sort of in the center of that border created using the class = current as shown above.
The question is this, is there any attribute that I can apply to the image either inline or using a class in a css which will enable it to fill the entire area created by the border.
Thanks
Tina
|
|
|
|
|
Does anybody know of a good chat application written in ASP.NET
modified on Wednesday, April 8, 2009 10:11 PM
|
|
|
|
|
...at all levels
[edit] the original question was "Does anybody know of a good chat application" [/edit]
Yusuf
Oh didn't you notice, analogous to square roots, they recently introduced rectangular, circular, and diamond roots to determine the size of the corresponding shapes when given the area. Luc Pattyn[^]
modified on Thursday, April 9, 2009 12:57 AM
|
|
|
|
|
i m not understanding...what is wrong in this question...
|
|
|
|
|
I see, the OP modified the post.
Yusuf
Oh didn't you notice, analogous to square roots, they recently introduced rectangular, circular, and diamond roots to determine the size of the corresponding shapes when given the area. Luc Pattyn[^]
|
|
|
|
|
ha ha ha
|
|
|
|
|
I don't think ASP.NET is the right was to write a chat app, personally, although google chat is OK, MSN is much better for a variety of reasons, most of which have to do with it not being a web app.
Christian Graus
Driven to the arms of OSX by Vista.
"I am new to programming world. I have been learning c# for about past four weeks. I am quite acquainted with the fundamentals of c#. Now I have to work on a project which converts given flat files to XML using the XML serialization method" - SK64 ( but the forums have stuff like this posted every day )
|
|
|
|