temps_passe d'un utilisateur (constat+détailles)

sitti

Nouveau WRInaute
merci
j'en ai mis partout, session_start();

dans ma base j'ai +eurs tables mais je pense que c'est seulles
la table : conges_users(u_login, u_password,.....)
conges_users_log(id_log, u_login, start_date, ,time, temps_passe)
qui sont concernées.
je me suis dis que peut etre c'est un problème d'emplacement des codes car lors de la deconnexion, la session est detruite et là je ne vois pas comment je pourais faire quelque chose dans la page de deconnexion.
comme ceci: calculer, stocker ou mettre à jour!

$temps_passe = time() - $_SESSION['start_date'];

et pour stocker cette valeur de temps_passe dans la base et lamettre à jour j'execute cette requete:

$sql = 'INSERT INTO ' . $conges_users_log . ' (u_login, temps_passe) ON DUPLICATE KEY UPDATE temps_passe=temps_passe+' . $temps_passe;

pouriez vous me dire où est ce je devais inserer ce code de calcule du temps_passe et de mise à jour car j'ai fait tout ça colle pas et je suis perdu.
 

sitti

Nouveau WRInaute
bonjour à tous vous etes si courageux!

tu pourais etre un peu claire car moi avec le javascript ça colle pas mais je regarde descours, sur le net et surtout je meurs de la fatigue morale je regrette d'exister.
ça fait un mois de plus que je cherche et que je ne trouve pas pour ce problème.

comme vous lesavez avant de faire quoi que ce soit je doit stocket aprés qu'un utilisateur s'est connecté, son nom d'utilisateur(u_login), la date du jour(datejour), son heure de connexion(cotime), son heure de deconnexion(decotime) dans la table conges_users_log(id_log, u_login, dtaejour, cotime, decotime, elapsed(elapsed=decotime-cotime)).

j'ai fait ce code , j'arrive maintenant à me connectr , il y'a pas des erreurs, mais le code ne stocke rien dans la table conges_users_log.
ce code je l'ai inseré dansla page de session comme, suit:

-------------------------------------------------------------
voilà le code de ma page de session et ce qui est entouré par //-----------sitti //------------sitti , c'est mon code.

<?php

//
// MAIN
//

/*** initialisation des variables ***/
$session_username="";
$session_password="";
/************************************/

//
// recup du num de session (mais on ne sais pas s'il est passé en GET ou POST
$session=(isset($_GET['session']) ? $_GET['session'] : ((isset($_POST['session'])) ? $_POST['session'] : "") ) ;
/*******************sitti
******************************************/
$DEBUG=FALSE;
//$DEBUG=TRUE;

if($DEBUG==TRUE) { print_r($_SESSION); echo "<br><br>\n"; }

if ($session != "")
{
if(session_is_valid($session) == TRUE)
{
session_update($session);
//--------------------------------sitti
if($session=(isset($_GET['session']) ? $_GET['session'] : ((isset($_POST['session'])) ? $_POST['session'] : "")))
{
//connexion mysql
$db = mysql_connect('localhost', 'dbconges','motdepasse') or die('Erreur de connexion '.mysql_error());
//selection de la base
mysql_select_db('db_conges', $db) or die('Erreur deselection '.mysql_error());
//code
$cotime = time();
$u_login = "session_username";
$_SESSION['cotime']="cotime";
$_SESSION['u_login']="u_login";
$datejour = date("Y-m-d");
$sql = "INSERT INTO conges_users_log(u_login,datejour,cotime)";
//$sql .=
$sql .="VALUES('$u_login','$cotime','$datejour')";
}
//---------------------------------------- sitti

}
else
{
session_delete($session);
$session="";
$session_username="";
$session_password="";
$_SESSION['config']=init_config_tab(); // on recrée le tableau de config pour l'url du lien

echo "<center>\n";
echo "Pas de session ouverte<br>\n";
echo "Veuillez <a href='".$_SESSION['config']['URL_ACCUEIL_CONGES']."/index.php' target='_top'> vous authentifier</a>\n";
echo "</center>\n";

exit;
}
}
else // $session == ""
{
if(isset($_POST['session_username'])) { $session_username=$_POST['session_username']; }
if(isset($_POST['session_password'])) { $session_password=$_POST['session_password']; }

if ( ($_SESSION['config']['how_to_connect_user'] == "CAS") && ($session_username != "admin") )
{
$usernameCAS = authentification_passwd_conges_CAS();
if($usernameCAS != "")
{
if(session_id()!="")
session_destroy();

// on initialise la nouvelle session
session_create($usernameCAS);

}
else //dans ce cas l'utilisateur n'a pas encore été enregistré dans la base de données db_conges
{
echo "<center>\n";
echo "Il n'existe pas de compte correspondant à votre login dans la base de données de PHP_CONGES<br>\n";
echo "Contactez l'administrateur de php_conges";
echo "</center>\n";
}
}
else
{
if (($session_username == "") || ($session_password == "")) // si login et passwd non saisis
{
// SAISIE LOGIN / PASSWORD :
session_saisie_user_password("", "", ""); // appel du formulaire d'intentification (login/password)
exit;
}
else
{
// AUTHENTIFICATION :

// le user doit etre authentifié dans la table conges (login + passwd) ou dans le ldap.
// si on a trouve personne qui correspond au couple user/password

if ( ($_SESSION['config']['how_to_connect_user'] == "ldap") && ($session_username != "admin") )
{
if(session_id()!="")
session_destroy();

if (authentification_ldap_conges($session_username,$session_password) != $session_username)
{
$session="";
$session_username="";
$session_password="";

$erreur="login_passwd_incorrect";
session_saisie_user_password($erreur, $session_username, $session_password); // appel du formulaire d'intentification (login/password)
exit;
}

if ((authentification_ldap_conges($session_username,$session_password) == $session_username) && ($session_username != ""))
{
if (valid_ldap_user($session_username)==TRUE) // LDAP ok, on vérifie ici que le compte existe dans la base de données des congés.
{
// on initialise la nouvelle session
session_create($session_username);
}
else//dans ce cas l'utilisateur n'a pas encore été enregistré dans la base de données db_conges
{
$erreur="login_non_connu";
session_saisie_user_password($erreur, $session_username,$session_password); // appel du formulaire d'intentification (login/password)
exit;
}
}
} // fin du if test avec ldap
elseif ($_SESSION['config']['how_to_connect_user'] == "dbconges")
{
if(session_id()!="")
session_destroy();

if (autentification_passwd_conges($session_username,$session_password) != $session_username)
{
$session="";
$session_username="";
$session_password="";

$erreur="login_passwd_incorrect";
session_saisie_user_password($erreur, $session_username,$session_password); // appel du formulaire d'intentification (login/password)
exit;
}

if ((autentification_passwd_conges($session_username,$session_password) == $session_username) && ($session_username != ""))
{
// on initialise la nouvelle session
session_create($session_username);
}
}
}
}

}

?>

ayez vous unesur l'emplacement , car aucune erreur ne s'affiche je suppose que peut c pas là où je dois placer lecode.
merci de votre aide.
 

Discussions similaires

Haut