[PHP] var de session ne se détruisent pas

Fermé
nicolas - 9 mai 2008 à 16:04
byakhlefncr Messages postés 260 Date d'inscription vendredi 1 juillet 2005 Statut Membre Dernière intervention 11 septembre 2008 - 9 mai 2008 à 17:10
Bonjour,
J'ai un problème mes variable ne se détruisent pas !
ELLES se créent bien mais ne se détruit pas !!
je vous montre ma fonction qui sert à les détruire

//--- FONCTION POUR SE DECONNECTER
function deco()
{
session_start();
session_unset();
session_destroy();
}
?>
<input type="submit" value="deconnexion" name="deconnexion" onclick="deco()">

je vous met le test qui sert à voir si l'utilisateur est bien connecter ou non s'il ne l'es pas j'affiche connecter et quand il n'est pas connecté j'affiche deconnecté
//TEST POUR SAVOIR SI L'UTILISATEUR EST BIEN CONNECTEE
<?php
session_start();
if($_SESSION['nom']==""){
echo "deconnecté";
}
else
{
echo"connecté";
}

?>

Je vous remercie de bien vouloir m'aider
Cordialement NICOLAS!

2 réponses

byakhlefncr Messages postés 260 Date d'inscription vendredi 1 juillet 2005 Statut Membre Dernière intervention 11 septembre 2008 63
9 mai 2008 à 16:26
Salut,


Je pense que le problème vient du fait que l'objet "submit" n'exécute pas le script php dans les évenements mais seulelement du javascript.

Une solution pour contourner ce pb :

Le formulaire contenant submit :
///////////////////////////////////////////////////////////////
//// Fichier UserPage.php
///////////////////////////////////////////////////////////////

<?php
function deco()
{
session_start();
session_unset();
session_destroy();
}

if (isset($_GET['deconnexion']))
{
if ($_GET['deconnexion']=='deconnexion')
{
deco();
include("logout.php");
}
else
{
echo "<FORM method=\"get\">
<input type=\"submit\" value=\"deconnexion\" name=\"deconnexion\">
</FORM>";
}
}
else
{
echo "<FORM method=\"get\">
<input type=\"submit\" value=\"deconnexion\" name=\"deconnexion\">
</FORM>";
}
?>
///////////////////////////////////////////////////////////////
/// Fichier EtatConnexion.php
///////////////////////////////////////////////////////////////
<?php
session_start();
if (isset($_SESSION['nom']))
{
if($_SESSION['nom']==""){
echo "deconnecté";
}
else
{
echo"connecté";
}
}
else
{
echo "deconnecté";
}
?>




////////////////////////////////



Bonne chance
0
je comprend pas j'ai tout sur une page et je me suis trompé j'ai pas de submit ! le bouton qui a pour nom déconnexion c'est juste un bouton qui va lancer la fonction deco() et je n'ai pas de deuxième page !
0
byakhlefncr Messages postés 260 Date d'inscription vendredi 1 juillet 2005 Statut Membre Dernière intervention 11 septembre 2008 63
9 mai 2008 à 17:10
Bonjour,

Les évenement onClick() ne contiennent que du javascript.



Le script écrit la-dessus est composé de deux fichiers :
- Fichier 1 : c'est celui qui contient le submit Déconnexion.

- Fichier 2 : c'est juste le fichier de test la destruction de la session(EtatConnexion).
0