Quelqu'un peut-il m'apprendre comment utiliser les sessions? J'ai une page de connexion qui fait référence à la table mysql db nommée User qui inclut UserID = "numéro de variable", nom d'utilisateur et mot de passe. Je souhaite pouvoir stocker l'ID utilisateur dans une session afin que je puisse l'appeler dans le profil de l'utilisateur lorsqu'il se connecte.enseignement sur les sessions?
Comment cela est-il fait? Tout codage et placement pertinents d'un codage spécifique serait utile, car je ne le prends tout simplement pas du tout. Est-ce qu'il va dans le code derrière (fichier .cs) ou est-il détenu dans le html de la page aspx? ou les deux et comment? Comment le travail de la session sur plusieurs pages intérieures (une fois connecté, vous pouvez broswe plus d'une page en rapport avec votre propre profil)
using System.Data.Odbc;
partial class login : System.Web.UI.Page
{
protected void Login1_Authenticate(object sender, System.Web.UI.WebControls.AuthenticateEventArgs e)
{
OdbcConnection cn = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=mydb; User=root;Password=;");
cn.Open();
OdbcCommand cmd = new OdbcCommand("Select * from login where username=? and password=?", cn);
//Add parameters to get the username and password
cmd.Parameters.Add("@username", OdbcType.VarChar);
cmd.Parameters["@username"].Value = this.Login1.UserName;
cmd.Parameters.Add("@password", OdbcType.VarChar);
cmd.Parameters["@password"].Value = this.Login1.Password;
OdbcDataReader dr = default(OdbcDataReader);
// Initialise a reader to read the rows from the login table.
// If row exists, the login is successful
dr = cmd.ExecuteReader();
if (dr.HasRows)
{
e.Authenticated = true;
// Event Authenticate is true
}
}
}
Gardez à l'esprit que la collection de sessions est volatile et que votre valeur UserID peut être supprimée au milieu de la session. Vous devez toujours fournir une solution de repli pour repeupler les valeurs dans le cas où elles sont supprimées. – detaylor
comment? Quelles autres options suggéreriez-vous si les séances sont aussi volatiles? –
if (Session ["UserID"] == null) ... puis recherche à nouveau l'ID – DOK