| Page : [1] 2 |
| iDan |
Ecrit le Dimanche 3 Decembre 2006 à 15h12 |

Messages : 23
Grade : Membre
Statut : Hors ligne |
Bonjour, j'ai enfin réussi à faire un espace membre . Le problème c'est que lorsque je veux qu'il se déconnecte ça ne fonctionne pas.
Mise en situation 
Les membres qui ne sont pas inscrits ne peuvent pas voir une certaine page... ils s'incrivent, et la voie. Le problème est que j'ai fait un lien pour ce déconnecter avec ce code :
Code :
<?php
session_start();
session_unset();
session_destroy();
header('Location: index.php');
exit();
?>
Lorsqu'il clique dessus c'est censer le faire déconnecter mais il peut encore aller sur la page réservée au membres...
Si vous pouvez m'aider...
Merci
Edité par iDan le 3 Decembre 2006 à 15h13 |
| kalipka |
Ecrit le Dimanche 3 Decembre 2006 à 16h07 |

Messages : 198
Grade : Super Modérateur
Statut : Hors ligne |
Citation : Lorsqu'il clique dessus c'est censer le faire déconnecter mais il peut encore aller sur la page réservée au membres...
Je ne comprends pas trop là...
|
| iDan |
Ecrit le Dimanche 3 Decembre 2006 à 16h43 |

Messages : 23
Grade : Membre
Statut : Hors ligne |
Ok...
Alors,
1 : pour faire le test je me suis inscrit, tout va bien
2 : pour faire le test je me suis loguer, tout va bien
3 : pour faire le test j'ai cliquer sur le bouton "déconnexion" qui est supposer me ramener à la page d'accueil déconnecter fonctionne pas.
C'est ça mon problème...
Lorsque je clique sur le bouton "Déconnexion" je suis supposer arriver sur la page d'accueil, ça sa fonctionne, mais lorsque je clique sur un page réservée au membres inscrits et connecter je suis capable de la voir...
Tu comprend mieux ?
|
| manu |
Ecrit le Dimanche 3 Decembre 2006 à 17h01 |

Messages : 450
Grade : Administrateur
Statut : Hors ligne |
Tu n'as pas fait un systeme avec les cookie qui permet d'etre loggué automatiquement a chaque visite? Ca peut venir de la. Sinon ton code pour se délogguer m'a l'air correct.
Si c'est pas ca, dégage ton Code :
header('Location: index.php');
et met a la place print_r($_SESSION);
Ca va te retourner le contenu de ta session, pour voir si oui ou non elle a été supprimé.
|
| Prodigy |
Ecrit le Dimanche 3 Decembre 2006 à 18h14 |

Messages : 61
Grade : Membre
Statut : Hors ligne |
Et ta page qui ne peut être vu que quand on est connecté, on peut voir le code que tu a mis pour réguler l'accès ? Si çà ce trouve çà vient de là.
|
| iDan |
Ecrit le Dimanche 3 Decembre 2006 à 21h22 |

Messages : 23
Grade : Membre
Statut : Hors ligne |
Manu, J'ai essayer de remplacer par print_r($_SESSION); mais ça m'affiche cela :
Array ()
...
Sinon voici le code pour que juste les membres logués vois la page en faite c'est toute la page au complet...pas juste le code PHP :
Code :
<?php
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
$base = mysql_connect ('serveur', 'user', 'pass');
mysql_select_db ('nom_de_la_base', $base);
// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT count(*) FROM membre WHERE login="'.addslashes($_POST['login']).'" AND pass_md5="'.md5(addslashes($_POST['pass'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
mysql_free_result($req);
mysql_close();
// si on obtient une réponse, alors l'utilisateur est un membre
if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
// si on ne trouve aucune réponse, le visiteru s'est trompé soit dans son login, soit dans son mot de passe
elseif ($data[0] == 0) {
$erreur = 'Compte non reconnu.';
}
// sinon, alors la, il y a un gros problème 
else {
$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- declaration du doctype, ici une feuille codée en xhtml -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<!-- Titre du site -->
<title>iWebCreation-Accueil</title>
<meta http-equiv="Content-Type"content="text/html; charset=iso-8859-1"/>
<link rel="stylesheet" media="screen" type="text/css" title="défaut" href="style_pro.css" />
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="style_pro_ie.css" />
<![endif]-->
</head>
<body>
<div id="global">
<div id="header">
<div class="texte_gauche">
iWebCreation
</div>
<div class="texte_gauche2">
la nouvelle génération de la conception web.
</div>
<div class="texte_droite">
Vous voulez un site web ?
</div>
<br />
<div class="texte_droite2">
Demandez à iWebCreation. Faire confiance à iWebCreation c'est faire confiance au web.
</div>
<div class="lien_haut">
<a href="index_pro1234567890.php"> Accueil</a> <span class="orange">|</span> <a href="#">English</a>
</div>
<div class="lien_horizontal">
<ul>
<li><a href="index_pro1234567890.php">Accueil</a></li>
<li><a href="partenaires.php">Partenaires</a></li>
<li><a href="forum.php">Forum</a></li>
<li><a href="apropos.php">À propos d'iWebCreation</a></li>
<li><a href="ressources.php">Ressources</a></li>
</ul>
</div>
</div>
<div id="zone_texte">
<div class="texte">
<span class="titre">Liste des logiciel mis en téléchargement libre.</span>
<br />
<br />
<p>
<img src="images/downloadiwc.png" />
</p>
<p class="texte_p">
Bonjour, comme je vois que vous êtes membre de mon site, je vous offre quelques logiciels en téléchargement
libre qui pourrais vous servir pour administrer votre site web si ce n'est pas moi que le fait.
</p>
<p class="texte_p">
***Comme premier logiciel GPL je vous offre NotePad++, un éditeur de texte très puissant aux multiples fonctions.
<br />
<br />
Développeur Don HO
<br />
Dernière vèrsion 3.9 (le 2 octobre 2006)
<br />
Environnement Microsoft Windows (Autre à vérifier)
<br />
Type Éditeur de texte (open source)
<br />
Licence GPL (Licence publique générale)
<br />
Site web <a href="notepad-plus.sourceforge.net">notepad-plus.sourceforge.net</a>
<br />
Télécharger NotePad++ <a href="iwebcreation.servhome.org/NotePad++.zip">NotePad++ fichier .zip</a>
</p>
<p class="texte_p">
D'autres logiciels vont surment être mis en téléchargement libre bientôt.
</p>
</div>
<div class="menu">
<ul>
<li><a href="new.php">Nouvelles</a></li>
<li><a href="download.php">Téléchargement</a></li>
<li><a href="contact_pro.php">Contact</a></li>
</ul>
</div>
<div class="login">
<form method="post" action="membre.php">
<span class="text_login">Login:</span>
<br />
<input type="text" name="login" value="<?php if (isset($_POST['login'])) echo stripslashes(htmlentities(trim($_POST['login']))); ?>" size="10" maxlength="20" />
<br />
<span class="text_login">Mot de passe:</span>
<br />
<input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo stripslashes(htmlentities(trim($_POST['pass']))); ?>" size="10" maxlength="20" />
<br />
<br />
<input type="image" src="../Mes images/envoi.gif" alt="Connexion" title="Connexion à l'espace membre." width="100" height="20" value="Connexion" />
</form>
<a href="inscription_membre2.php">Vous inscrire</a>
<?php
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</div>
</div>
<div id="footer">
</div>
</div>
</body>
</html>
S'il y a autre chose dites-le 
Merci encore
|
| manu |
Ecrit le Dimanche 3 Decembre 2006 à 23h46 |

Messages : 450
Grade : Administrateur
Statut : Hors ligne |
Je ne vois pas ou tu met ta condition dans ton code html, pour n'afficher qu'aux membres une partie réservée de la page.
tu devrais avoir qq part : if ($_SESSION['loggue']) j'affiche la partie reservée
C'est le plus simple de faire un boolean disant si oui ou non le membre est loggué
|
| iDan |
Ecrit le Lundi 4 Decembre 2006 à 12h46 |

Messages : 23
Grade : Membre
Statut : Hors ligne |
Ok et je le met où dans mon code HTML ? est-ce que j'enlève le code PHP qui est avant le code HTML et le remplace par if ($_SESSION['loggue'])?
En tout cas merci et je vais essayer quand je vais savoir où le mettre
|
| manu |
Ecrit le Lundi 4 Decembre 2006 à 12h50 |

Messages : 450
Grade : Administrateur
Statut : Hors ligne |
Salut,
Déja quand tu fais ca :
Code :
session_start();
$_SESSION['login'] = $_POST['login'];
//Ligne a rajouter
$_SESSION['loggue']=true;
La condition if ($_SESSION['loggue']) signifie littéralement, si le membre est loggué, donc tu dois mettre ton code HTML que tu veux protéger dedans. J'espère etre clair
|
| iDan |
Ecrit le Mardi 5 Decembre 2006 à 02h25 |

Messages : 23
Grade : Membre
Statut : Hors ligne |
Ok... donc c'est comme ça ?
Code :
<?php
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
$base = mysql_connect ('serveur', 'user', 'pass');
mysql_select_db ('nom_de_la_base', $base);
// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT count(*) FROM membre WHERE login="'.addslashes($_POST['login']).'" AND pass_md5="'.md5(addslashes($_POST['pass'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
mysql_free_result($req);
mysql_close();
// si on obtient une réponse, alors l'utilisateur est un membre
if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];
//Ligne a rajouter
$_SESSION['loggue']=true;
header('Location: membre.php');
exit();
}
// si on ne trouve aucune réponse, le visiteru s'est trompé soit dans son login, soit dans son mot de passe
elseif ($data[0] == 0) {
$erreur = 'Compte non reconnu.';
}
// sinon, alors la, il y a un gros problème 
else {
$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- declaration du doctype, ici une feuille codée en xhtml -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<!-- Titre du site -->
<title>iWebCreation-Accueil</title>
<meta http-equiv="Content-Type"content="text/html; charset=iso-8859-1"/>
<link rel="stylesheet" media="screen" type="text/css" title="défaut" href="style_pro.css" />
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="style_pro_ie.css" />
<![endif]-->
</head>
<body>
<div id="global">
<div id="header">
<div class="texte_gauche">
iWebCreation
</div>
<div class="texte_gauche2">
la nouvelle génération de la conception web.
</div>
<div class="texte_droite">
Vous voulez un site web ?
</div>
<br />
<div class="texte_droite2">
Demandez à iWebCreation. Faire confiance à iWebCreation c'est faire confiance au web.
</div>
<div class="lien_haut">
<a href="index_pro1234567890.php"> Accueil</a> <span class="orange">|</span> <a href="#">English</a>
</div>
<div class="lien_horizontal">
<ul>
<li><a href="index_pro1234567890.php">Accueil</a></li>
<li><a href="partenaires.php">Partenaires</a></li>
<li><a href="forum.php">Forum</a></li>
<li><a href="apropos.php">À propos d'iWebCreation</a></li>
<li><a href="ressources.php">Ressources</a></li>
</ul>
</div>
</div>
<div id="zone_texte">
<div class="texte">
<span class="titre">Liste des logiciel mis en téléchargement libre.</span>
<br />
<br />
<p>
<img src="images/downloadiwc.png" />
</p>
<p class="texte_p">
Bonjour, comme je vois que vous êtes membre de mon site, je vous offre quelques logiciels en téléchargement
libre qui pourrais vous servir pour administrer votre site web si ce n'est pas moi que le fait.
</p>
<p class="texte_p">
***Comme premier logiciel GPL je vous offre NotePad++, un éditeur de texte très puissant aux multiples fonctions.
<br />
<br />
Développeur Don HO
<br />
Dernière vèrsion 3.9 (le 2 octobre 2006)
<br />
Environnement Microsoft Windows (Autre à vérifier)
<br />
Type Éditeur de texte (open source)
<br />
Licence GPL (Licence publique générale)
<br />
Site web <a href="notepad-plus.sourceforge.net">notepad-plus.sourceforge.net</a>
<br />
Télécharger NotePad++ <a href="iwebcreation.servhome.org/NotePad++.zip">NotePad++ fichier .zip</a>
</p>
<p class="texte_p">
D'autres logiciels vont surment être mis en téléchargement libre bientôt.
</p>
</div>
<div class="menu">
<ul>
<li><a href="new.php">Nouvelles</a></li>
<li><a href="download.php">Téléchargement</a></li>
<li><a href="contact_pro.php">Contact</a></li>
</ul>
</div>
<div class="login">
<form method="post" action="membre.php">
<span class="text_login">Login:</span>
<br />
<input type="text" name="login" value="<?php if (isset($_POST['login'])) echo stripslashes(htmlentities(trim($_POST['login']))); ?>" size="10" maxlength="20" />
<br />
<span class="text_login">Mot de passe:</span>
<br />
<input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo stripslashes(htmlentities(trim($_POST['pass']))); ?>" size="10" maxlength="20" />
<br />
<br />
<input type="image" src="../Mes images/envoi.gif" alt="Connexion" title="Connexion à l'espace membre." width="100" height="20" value="Connexion" />
</form>
<a href="inscription_membre2.php">Vous inscrire</a>
<?php
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</div>
</div>
<div id="footer">
</div>
</div>
</body>
</html>
?????
À bientôt
Edité par iDan le 5 Decembre 2006 à 02h27 |
| Page : [1] 2 |