A voir également:
- Javascript php
- Easy php - Télécharger - Divers Web & Internet
- Telecharger javascript - Télécharger - Langages
- Expert php pinterest - Télécharger - Langages
- A javascript error occurred in the main process - Forum Windows
- A javaScript error occurred in the main process - Forum Handicap / Accessibilté
8 réponses
la session crée par php est enregistrée côté serveur, et javascript s'exécute côté client (navigateur), donc tu ne peux la détruire que par du php
la solution: Ajax
c'est une particularité de javascript qui permet d'appeler un script php en "arrière plan" donc un script php de deconnexion
la solution: Ajax
c'est une particularité de javascript qui permet d'appeler un script php en "arrière plan" donc un script php de deconnexion
Merci de vos réponse le problème c'est que je sait pas utilisé l'ajax comment faire
En faite moi je veut qu'une requête soit envoyé pour voir si utilisateur utilise le site sinon il est déconnecter
Je cherche depuis cematin mais je trouve pas ! lol
Merci de votre aide
En faite moi je veut qu'une requête soit envoyé pour voir si utilisateur utilise le site sinon il est déconnecter
Je cherche depuis cematin mais je trouve pas ! lol
Merci de votre aide
Eh bien, pour savoir si l'utilisateur n'est pas inactif sur ton site, il faut faire avec time :
if( (time() - $_SESSION['dernier_acces']) > 900)
{
$_SESSION = array();
}
Tu dois créer une session dernier_acces que tu mets quand il se connecte sur ton site :
// Il se connecte et alors si il est bien connecté, tu mets :
$_SESSION['dernier_acces'] = time();
et ensuite, sur chaque page de ton site, tu dois insérer le 1er code (
if((time() - $_SESSION['dernier_acces']) > 900)
{
$_SESSION = array();
}
)
Voilà, c'est tout !
if( (time() - $_SESSION['dernier_acces']) > 900)
{
$_SESSION = array();
}
Tu dois créer une session dernier_acces que tu mets quand il se connecte sur ton site :
// Il se connecte et alors si il est bien connecté, tu mets :
$_SESSION['dernier_acces'] = time();
et ensuite, sur chaque page de ton site, tu dois insérer le 1er code (
if((time() - $_SESSION['dernier_acces']) > 900)
{
$_SESSION = array();
}
)
Voilà, c'est tout !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
salut merci de ta reponse moi je part sur le principe que la personne ferme sont navigateur ou son onglet et donc dans ce cas la sa lui ferme la session
Ton code il est top mais ne marche que si la personne et toujour sur le navigateur
C'est pour sa que le cherche un truc en javascript ou en ajax
Merci de ton aide si tu a la solution je suis prenant lol
Ton code il est top mais ne marche que si la personne et toujour sur le navigateur
C'est pour sa que le cherche un truc en javascript ou en ajax
Merci de ton aide si tu a la solution je suis prenant lol
Salut,
il faut, dans ce cas que tu mettes ceci :
<?php if($_SERVER['HTTP_USER_AGENT'] === NULL)
{
$_SESSION = array();
}
?>
il faut, dans ce cas que tu mettes ceci :
<?php if($_SERVER['HTTP_USER_AGENT'] === NULL)
{
$_SESSION = array();
}
?>
bonjour,
J'ai essayé mais sa marche pas
OK j'ai vais essayé de détaillé le problème
J'ai une page qui m'affiche les utilisateurs en ligne j'ai donc rajouté dans ton code ceci
Mais sa ne marche toujours pas et quand je revient sur la page après avoir ferme le navigateur sa ne marche toujours pas l'utilisateur est toujour connecté
Merci beaucoup de ton aide et de prendre du temps pour m'aidé
J'ai essayé mais sa marche pas
OK j'ai vais essayé de détaillé le problème
J'ai une page qui m'affiche les utilisateurs en ligne j'ai donc rajouté dans ton code ceci
<?php if($_SERVER['HTTP_USER_AGENT'] === NULL) { $_SESSION = array(); mysql_query('DELETE FROM connectes WHERE ip =\'' . $_SERVER['REMOTE_ADDR'] . '\''); //qui va supprimer les utilisateurs non connecter et detruire la sessiion session_destroy(); } ?>
Mais sa ne marche toujours pas et quand je revient sur la page après avoir ferme le navigateur sa ne marche toujours pas l'utilisateur est toujour connecté
Merci beaucoup de ton aide et de prendre du temps pour m'aidé
Voilà, j'ai réfléchi et trouvé écrit ceci :
<?php
$_SESSION['user_ip'] = $_SERVER['REMOTE_ADDR'];
if(isset($_SESSION['user_ip']))
{
$_SESSION = array();
mysql_query('DELETE FROM connectes WHERE ip =\'' . $_SERVER['REMOTE_ADDR'] . '\'');
session_destroy();
}
?>
Voilà, essaye et moi-même, j'ai essayé et ça avait marché donc....
<?php
$_SESSION['user_ip'] = $_SERVER['REMOTE_ADDR'];
if(isset($_SESSION['user_ip']))
{
$_SESSION = array();
mysql_query('DELETE FROM connectes WHERE ip =\'' . $_SERVER['REMOTE_ADDR'] . '\'');
session_destroy();
}
?>
Voilà, essaye et moi-même, j'ai essayé et ça avait marché donc....
salut
voila le problème
voici le code qui gére la connexion
et voici le code qui gére la connexion
Quand j'utilise ton code ma page connexion ne prend pas en compte l'utilisateur connecté mais la session est bien detruit quand l'utilisateur ferme la fenetre
Merci
voila le problème
/*ma page d'accueil contien cela*/ <?php $_SESSION['user_ip'] = $_SERVER['REMOTE_ADDR']; if(isset($_SESSION['user_ip'])) { $_SESSION = array(); mysql_query('DELETE FROM connectes WHERE ip =\'' . $_SERVER['REMOTE_ADDR'] . '\''); session_destroy(); } ?>
voici le code qui gére la connexion
<?php session_start(); // Connexion à MySQL mysql_connect("localhost", "root", ""); mysql_select_db("test"); $test = $_SESSION['login']; // ------- // ETAPE 1 : on vérifie si l'IP se trouve déjà dans la table // Pour faire ça, on n'a qu'à compter le nombre d'entrées dont le champ "ip" est l'adresse ip du visiteur $retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\''); $donnees = mysql_fetch_array($retour); if ($donnees['nbre_entrees'] == 0) // L'ip ne se trouve pas dans la table, on va l'ajouter { mysql_query('INSERT INTO connectes VALUES(\'' . $_SERVER['REMOTE_ADDR'] . '\', ' . time() . ' , "'.$test.'")'); } else // L'ip se trouve déjà dans la table, on met juste à jour le timestamp { mysql_query('UPDATE connectes SET timestamp=' . time() . ' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\''); } // ------- // ETAPE 2 : on compte le nombre d'ip stockées dans la table. C'est le nombre de visiteurs connectés $retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes'); $donnees = mysql_fetch_array($retour); // Ouf ! On n'a plus qu'à afficher le nombre de connectés ! echo '<p>Il y a actuellement ' . $donnees['nbre_entrees'] . ' visiteurs connectés sur mon site !</p>'; ?>
et voici le code qui gére la connexion
<?php session_start(); require_once("config.inc.php"); if($_GET['action']=="logout") { mysql_query('DELETE FROM connectes WHERE ip =\'' . $_SERVER['REMOTE_ADDR'] . '\''); session_destroy(); } require_once("fonctions.inc.php"); if($_POST) { $login = $_POST['login']; $mdp = $_POST['mdp']; if ($_POST['login'] and $_POST['mdp']) { if(verifierLogin($login, $mdp)) { header("Location: accueil.php"); $data = getInfosParId($login, $mdp); $_SESSION['id_utilisateur'] = $data['id_utilisateur']; $_SESSION['login'] = $data['login']; $_SESSION['dernier_acces'] = time(); $_SESSION['user_ip'] = $_SERVER['REMOTE_ADDR']; } else { header("Location:index.php?error=1"); } } else { header("Location:index.php?error=2"); } } ?>
Quand j'utilise ton code ma page connexion ne prend pas en compte l'utilisateur connecté mais la session est bien detruit quand l'utilisateur ferme la fenetre
Merci