Membre déconnecter sans arret

Résolu/Fermé
jordxn Messages postés 356 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 26 avril 2015 - 29 nov. 2012 à 00:01
jordxn Messages postés 356 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 26 avril 2015 - 30 nov. 2012 à 13:43
Bonjour,


J'ai créer une colonne a droite sur la page d'accueil de mon site pour se connecter avec un champ nom d'utilisateur et mot de passe, j'arrive a me connecter , la n'est pas le problème, mais c'est que des que je suis connecté et que j'ai envie de retourné sur la page d'accueil sa me déconnecte direct ...
Il doit avoir une erreur dans mon php , merci de bien vouloir m'aider

<?php
//Si lutilisateur est connecte, on le deconecte
if(isset($_SESSION['username']))
{
//On le deconecte en supprimant simplement les sessions username et userid
unset($_SESSION['username'], $_SESSION['userid']);
?>
<center>
<div class="message">Vous êtes bien déconnecté.<br />
<a href="http://moment-delirant.fr">Accueil</a></div>
</center>
<?php
}
else
{
$ousername = '';
//On verifie si le formulaire a ete envoye
if(isset($_POST['username'], $_POST['password']))
{
//On echappe les variables pour pouvoir les mettre dans des requetes SQL
if(get_magic_quotes_gpc())
{
$ousername = stripslashes($_POST['username']);
$username = mysql_real_escape_string(stripslashes($_POST['username']));
$password = stripslashes($_POST['password']);
}
else
{
$username = mysql_real_escape_string($_POST['username']);
$password = $_POST['password'];
}
//On recupere le mot de passe de lutilisateur
$req = mysql_query('select password,id from users where username="'.$username.'"');
$dn = mysql_fetch_array($req);
//On le compare a celui quil a entre et on verifie si le membre existe
if($dn['password']==$password and mysql_num_rows($req)>0)
{
//Si le mot de passe es bon, on ne vas pas afficher le formulaire
$form = false;
//On enregistre son pseudo dans la session username et son identifiant dans la session userid
$_SESSION['username'] = $_POST['username'];
$_SESSION['userid'] = $dn['id'];
?>
<center>
<div class="message">Vous êtes bien connecté. Vous pouvez accéder à votre espace membre.<br />
<a href="indexx.php">En cliquant ici</a></div>
</center>
<?php
}
else
{
//Sinon, on indique que la combinaison nest pas bonne
$form = true;
$message = 'Erreur dans le Nom d\'utilisateur et/ou dans le mot de passe.';
}
}
else
{
$form = true;
}
if($form)
{
//On affiche un message sil y a lieu
if(isset($message))
{
echo '<div class="message">'.$message.'</div>';
}
//On affiche le formulaire
?>

<table style="border:2px solid black;">
<th colspan="2" style="border:2px solid black;">Espace membre </th>
<tr>
<td class="aff"><form name="connexion.php" action="#" method="post">
<center><label for="username">Nom d'utilisateur</label><input type="text" name="username" id="username" value="<?php echo htmlentities($ousername, ENT_QUOTES, 'UTF-8'); ?>" /><br />
<label for="password">Mot de passe</label><input type="password" name="password" id="password" /><br />
<input type="submit" value="Connexion" /><br/>
<a href="sign_up.php">Inscription</a><br>
<a href="passperdu.html">Pass perdu</a>
<input type="hidden" name="mode" value="connexion" />
</td>
</tr>
</center>
</table>
<?php
}
}
?>


Merci bcp

9 réponses

arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
29 nov. 2012 à 00:30
C'est assez simple:
if(!isset($_SESSION['username']))
{
echo 'Code de la colonne';
}

Cette condition affichera le code que tu voudra dans le cas où le membre n'est pas connecté.
1
Ekinoks60 Messages postés 58 Date d'inscription lundi 26 novembre 2012 Statut Membre Dernière intervention 30 novembre 2012 44
29 nov. 2012 à 00:04
Bah...

if(isset($_SESSION['username']))
{
//On le deconecte en supprimant simplement les sessions username et userid
unset($_SESSION['username'], $_SESSION['userid']);


Si l'utilisateur est connecté, tu le déconnecte... Je comprend pas ?
0
jordxn Messages postés 356 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 26 avril 2015 1
29 nov. 2012 à 00:13
Je viens de voir ma connerie ^^
Merci

J'arrive a me connecter et à aller sur l'accueil désormais sauf que j'aimerais cacher la colonne de droite une fois connecter car
Nom d'utilisateur
mot de passe
Connexion
Inscription
pass perdu

Ne servent plus a rien vu qu'il est connecter ...
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
29 nov. 2012 à 00:14
J'avoue ne pas comprendre non plus cette logique.
0
jordxn Messages postés 356 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 26 avril 2015 1
29 nov. 2012 à 00:20
Désolé ...
Avez vous une idée ?
Merci
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
29 nov. 2012 à 09:20
il faut mettre une condition "si pas connecté" pour l'affichage du formulaire de connexion

<?php
session_start();

//et à l'endroit où tu veux mettre ton formulaire de connexion:
if(!isset($_SESSION['username']))
{
?>
//ton formulaire de connexion

<?php
}
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
29 nov. 2012 à 13:06
Tu as mis un commentaire PHP en dehors du code PHP ^^
0
jordxn Messages postés 356 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 26 avril 2015 1
29 nov. 2012 à 13:45
Merci sa marche Alain42
Mais j'aimerais que s'il est connecté sa m'affiche a la place de
Nom d'utilisateur
mot de passe
Connexion
Inscription
pass perdu

ceci :
Votre espace membre
Deconnexion.


Il suffit juste de refaire une table comme celle que j'ai faite mais je ne sais pas comment faire pour mettre le else dans le php ...

<?php
session_start();

//et à l'endroit où tu veux mettre ton formulaire de connexion:
if(!isset($_SESSION['username']))
{
?>

<table style="border:2px solid black;">
<th colspan="2" style="border:2px solid black;">Espace membre </th>
<tr>
<td class="aff"><form name="connexion.php" action="#" method="post">
<center><label for="username">Nom d'utilisateur</label><input type="text" name="username" id="username" value="<?php echo htmlentities($ousername, ENT_QUOTES, 'UTF-8'); ?>" /><br />
<label for="password">Mot de passe</label><input type="password" name="password" id="password" /><br />
<input type="submit" value="Connexion" /><br/>
<a href="sign_up.php">Inscription</a><br>
<a href="passperdu.html">Pass perdu</a>
<input type="hidden" name="mode" value="connexion" />
</td>
</tr>
</center>
</table>
<?php
}
}
}
?>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
29 nov. 2012 à 18:12
pour mettre un else en php:

if(condition){
//instructions si condition remplie
}else{

//instructions si condition non  remplie
}


<?php
session_start();

//et à l'endroit où tu veux mettre ton formulaire de connexion:
if(!isset($_SESSION['username']))
{
?>

<table style="border:2px solid black;">
	<tr>
	<!-- il faut des <tr meme avec les th -->
		<th colspan="2" style="border:2px solid black;">Espace membre </th></tr>
	<tr>
		<td class="aff">
		<center><form name="connexion.php" action="" method="post">
		<label for="username">Nom d'utilisateur</label><input type="text" name="username" id="username" value="<?php echo htmlentities($ousername, ENT_QUOTES, 'UTF-8'); ?>" /><br />
		<label for="password">Mot de passe</label><input type="password" name="password" id="password" /><br />
		<input type="submit" name="connexion" value="Connexion" /><br/>
		<a href="sign_up.php">Inscription</a><br>
		<a href="passperdu.html">Pass perdu</a>
		<!-- si tu mets un name au bouton submit, pas besoin de champ hidden ensuite -->
		<!-- et la balise </form> tu l'as oubliée -->
		</form></center>
		</td>
	</tr>
	
</table>
<?php
}else{
	echo '<font color="green">Bonjour '.$_SESSION['username'].' Vous êtes connecté à l\'espace membre.</font>';
	?>
	<br /><a href="log_out.php">Déconnexion</a><br />
	<?php
}


}
}
?>

et dans ton fichier log_out.php tu mets:
<?php
session_start() ;
//destruction de toutes les variable de sessions:
session_unset() ;
//destruction de la session:
session_destroy() ;

header("location: index.php") ; //retour à la page d'acceuil
?>
0
jordxn Messages postés 356 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 26 avril 2015 1
Modifié par jordxn le 29/11/2012 à 21:24
Merci !
J'ai un soucis :


<?php
{
$ousername = '';
//On verifie si le formulaire a ete envoye
if(isset($_POST['username'], $_POST['password']))
{
//On echappe les variables pour pouvoir les mettre dans des requetes SQL
if(get_magic_quotes_gpc())
{
$ousername = stripslashes($_POST['username']);
$username = mysql_real_escape_string(stripslashes($_POST['username']));
$password = stripslashes($_POST['password']);
}
else
{
$username = mysql_real_escape_string($_POST['username']);
$password = $_POST['password'];
}
//On recupere le mot de passe de lutilisateur
$req = mysql_query('select password,id from users where username="'.$username.'"');
$dn = mysql_fetch_array($req);
//On le compare a celui quil a entre et on verifie si le membre existe
if($dn['password']==$password and mysql_num_rows($req)>0)
{
//Si le mot de passe es bon, on ne vas pas afficher le formulaire
$form = false;
//On enregistre son pseudo dans la session username et son identifiant dans la session userid
$_SESSION['username'] = $_POST['username'];
$_SESSION['userid'] = $dn['id'];
?>
<center>
<div class="message">Vous êtes bien connecté. Vous pouvez accéder à votre espace membre.<br />
<a href="indexx.php">En cliquant ici</a></div>
</center>
<?php
}
else
{
//Sinon, on indique que la combinaison nest pas bonne
$form = true;
$message = 'Erreur dans le Nom d\'utilisateur et/ou dans le mot de passe.';
}
}
else
{
$form = true;
}
if($form)
{
//On affiche un message sil y a lieu
if(isset($message))
{
echo '<div class="message">'.$message.'</div>';
}
//On affiche le formulaire
?>
<?php
session_start();

//et à l'endroit où tu veux mettre ton formulaire de connexion:
if(!isset($_SESSION['username']))
{
?>

<table style="border:2px solid black;">
<tr>
<!-- il faut des <tr meme avec les th -->
<th colspan="2" style="border:2px solid black;">Espace membre </th></tr>
<tr>
<td class="aff">
<center><form name="connexion.php" action="" method="post">
<label for="username">Nom d'utilisateur</label><input type="text" name="username" id="username" value="<?php echo htmlentities($ousername, ENT_QUOTES, 'UTF-8'); ?>" /><br />
<label for="password">Mot de passe</label><input type="password" name="password" id="password" /><br />
<input type="submit" name="connexion" value="Connexion" /><br/>
<a href="sign_up.php">Inscription</a><br>
<a href="passperdu.html">Pass perdu</a>
<!-- si tu mets un name au bouton submit, pas besoin de champ hidden ensuite -->
<!-- et la balise </form> tu l'as oubliée -->
</form></center>
</td>
</tr>

</table>
<?php
}else{
echo '<font color="green">Bonjour '.$_SESSION['username'].' Vous êtes connecté à l\'espace membre.</font>';
?>
<br /><a href="log_out.php">Déconnexion</a><br />
<?php
}


}
}
?>


Quand je suis connecter j'ai un message :
Vous êtes bien connecté. Vous pouvez accéder à votre espace membre.
En cliquant ici

et quand je reviens sur la page d'accueil j'ai :
Vous êtes connecté à l'espace membre
Déconnexion
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
29 nov. 2012 à 21:34
index.php d'origine si je veux acceder à phpmyadmin

je suppose que tu veux dire accéder à mysql

ce sont donc les codes d'accès à mysql qui sont différents en local avec wamp et chez ton hebergeur

alors il faut que tu fasse deux fichier config.php qui contiendra ces codes

dans le premier celui en local tu mets:
<?php
$host="localhost";
$user="root";
$pass=""; //ou mot de passe que tu as mis en installant wamp
$db="nom_de_ta_base";
?>

tu en fait un autre que tu nommes pareil mais que tu mets dans un répertoire configuration_distante/
<?php
//tous ces codes ont été fournis par ton hebergeur
$host="nom_du_serveur";
$user="code_utiliateur";
$pass="ton_mdp";  
$db="nom_de_la_base_hebergeur";
?>


maintenant dans ton fichier index.php pour connexion à la BDD tu modifies
mysql_connect('nom_serveur','ton_login','ton_mdp');
mysql_select_db('ta_base');


par
include('config.php');
mysql_connect($host,$user,$pass);
mysql_select_db($db);


tu upload index.php chez ton hebergeur ainsi que le fichier config.php que tu prend dans le dossier configuraion_distante
0
jordxn Messages postés 356 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 26 avril 2015 1
29 nov. 2012 à 22:11
C'est tout a fait cela merci !
J'avais modifier mon commentaire pour vous parlez d'un probleme plus urgent qui est :


<?php
{
$ousername = '';
//On verifie si le formulaire a ete envoye
if(isset($_POST['username'], $_POST['password']))
{
//On echappe les variables pour pouvoir les mettre dans des requetes SQL
if(get_magic_quotes_gpc())
{
$ousername = stripslashes($_POST['username']);
$username = mysql_real_escape_string(stripslashes($_POST['username']));
$password = stripslashes($_POST['password']);
}
else
{
$username = mysql_real_escape_string($_POST['username']);
$password = $_POST['password'];
}
//On recupere le mot de passe de lutilisateur
$req = mysql_query('select password,id from users where username="'.$username.'"');
$dn = mysql_fetch_array($req);
//On le compare a celui quil a entre et on verifie si le membre existe
if($dn['password']==$password and mysql_num_rows($req)>0)
{
//Si le mot de passe es bon, on ne vas pas afficher le formulaire
$form = false;
//On enregistre son pseudo dans la session username et son identifiant dans la session userid
$_SESSION['username'] = $_POST['username'];
$_SESSION['userid'] = $dn['id'];
?>
<center>
<div class="message">Vous êtes bien connecté. Vous pouvez accéder à votre espace membre.<br />
<a href="indexx.php">En cliquant ici</a></div>
</center>
<?php
}
else
{
//Sinon, on indique que la combinaison nest pas bonne
$form = true;
$message = 'Erreur dans le Nom d\'utilisateur et/ou dans le mot de passe.';
}
}
else
{
$form = true;
}
if($form)
{
//On affiche un message sil y a lieu
if(isset($message))
{
echo '<div class="message">'.$message.'</div>';
}
//On affiche le formulaire
?>
<?php
session_start();

//et à l'endroit où tu veux mettre ton formulaire de connexion:
if(!isset($_SESSION['username']))
{
?>

<table style="border:2px solid black;">
<tr>
<!-- il faut des <tr meme avec les th -->
<th colspan="2" style="border:2px solid black;">Espace membre </th></tr>
<tr>
<td class="aff">
<center><form name="connexion.php" action="" method="post">
<label for="username">Nom d'utilisateur</label><input type="text" name="username" id="username" value="<?php echo htmlentities($ousername, ENT_QUOTES, 'UTF-8'); ?>" /><br />
<label for="password">Mot de passe</label><input type="password" name="password" id="password" /><br />
<input type="submit" name="connexion" value="Connexion" /><br/>
<a href="sign_up.php">Inscription</a><br>
<a href="passperdu.html">Pass perdu</a>
<!-- si tu mets un name au bouton submit, pas besoin de champ hidden ensuite -->
<!-- et la balise </form> tu l'as oubliée -->
</form></center>
</td>
</tr>

</table>
<?php
}else{
echo '<font color="green">Bonjour '.$_SESSION['username'].' Vous êtes connecté à l\'espace membre.</font>';
?>
<br /><a href="log_out.php">Déconnexion</a><br />
<?php
}


}
}
?>




Quand je suis connecter j'ai un message :
Vous êtes bien connecté. Vous pouvez accéder à votre espace membre.
En cliquant ici

et quand je reviens sur la page d'accueil j'ai :
Vous êtes connecté à l'espace membre
Déconnexion
0
Ekinoks60 Messages postés 58 Date d'inscription lundi 26 novembre 2012 Statut Membre Dernière intervention 30 novembre 2012 44
29 nov. 2012 à 22:13
Quel est le problème ?
0
jordxn Messages postés 356 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 26 avril 2015 1
29 nov. 2012 à 22:21
Quand je suis connecter j'ai un message :
Vous êtes bien connecté. Vous pouvez accéder à votre espace membre.
En cliquant ici

et quand je reviens sur la page d'accueil j'ai :
Vous êtes connecté à l'espace membre
Déconnexion


J'aimerais avoir toujours que sa :
Vous êtes connecté à l'espace membre
Déconnexion
0
Ekinoks60 Messages postés 58 Date d'inscription lundi 26 novembre 2012 Statut Membre Dernière intervention 30 novembre 2012 44
29 nov. 2012 à 22:27
bah,

<div class="message">Vous êtes bien connecté. Vous pouvez accéder à votre espace membre.


Tu remplace ça par
Vous êtes connecté à l'espace membre
Déconnexion
0
jordxn Messages postés 356 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 26 avril 2015 1
29 nov. 2012 à 22:40
Mais j'aimerais avoir
Vous êtes connecté à l'espace membre
Déconnexion
dans une table et dans le php je sais pas comment faire ...
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
30 nov. 2012 à 09:27
c'est exactement ce que je t'ai proposé le 29 nov. 2012 à 21:34
0
jordxn Messages postés 356 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 26 avril 2015 1
30 nov. 2012 à 13:43
Merci à vous
0