Cacher le formulaire de connexion si l'utilisateur est connecté
Résolu/Fermé
diyar77
Messages postés
94
Date d'inscription
mercredi 21 décembre 2011
Statut
Membre
Dernière intervention
28 décembre 2013
-
14 juil. 2013 à 19:16
diyar77 Messages postés 94 Date d'inscription mercredi 21 décembre 2011 Statut Membre Dernière intervention 28 décembre 2013 - 14 juil. 2013 à 22:40
diyar77 Messages postés 94 Date d'inscription mercredi 21 décembre 2011 Statut Membre Dernière intervention 28 décembre 2013 - 14 juil. 2013 à 22:40
A voir également:
- Cacher le formulaire de connexion si l'utilisateur est connecté
- Gmail connexion - Guide
- Chromecast connexion - Guide
- Appareil connecté facebook - Guide
- Formulaire de réclamation facebook - Guide
- Hotmail connexion - Guide
18 réponses
après validation de ton formaulaire par ton utilisateur: tu as mis dans une variable de session ceci :
$_SESSION['authenticated'] = true;
lorsqu'il accède à une autre page ...
<?php
session_start();
if ( isset ($_SESSION['authenticated'] ) && ($_SESSION['authenticated']) ) {
echo "Bienvenue $_SESSION[pseudo] <br />" ;
}else{
//mon formulaire
}
?>
si c'est la même page, il faut changer la condition et tester ton post ou ton get
$_SESSION['authenticated'] = true;
lorsqu'il accède à une autre page ...
<?php
session_start();
if ( isset ($_SESSION['authenticated'] ) && ($_SESSION['authenticated']) ) {
echo "Bienvenue $_SESSION[pseudo] <br />" ;
}else{
//mon formulaire
}
?>
si c'est la même page, il faut changer la condition et tester ton post ou ton get
il faut que tu vires $_SESSION['authenticated'] = true; de l'index.php
et que tu le mettes dans la validation du formulaire ou de l'enregistrement dans la BDD quelque part entre cok.php ou iok.php
sans oublier d'initialiser la page avec session_start();
d'ailleurs si tu utilises les variables de session tu peux mettre session_start(); dans toutes tes pages comme ça tu ne l'oublieras pas !
de plus session_start(); doit commencer à la première ligne pas après une variable de session: ton pb vient de là !
et que tu le mettes dans la validation du formulaire ou de l'enregistrement dans la BDD quelque part entre cok.php ou iok.php
sans oublier d'initialiser la page avec session_start();
d'ailleurs si tu utilises les variables de session tu peux mettre session_start(); dans toutes tes pages comme ça tu ne l'oublieras pas !
de plus session_start(); doit commencer à la première ligne pas après une variable de session: ton pb vient de là !
diyar77
Messages postés
94
Date d'inscription
mercredi 21 décembre 2011
Statut
Membre
Dernière intervention
28 décembre 2013
14
14 juil. 2013 à 19:40
14 juil. 2013 à 19:40
Bjr,
sa ne fonctionne toujours pas :/
sa ne fonctionne toujours pas :/
diyar77
Messages postés
94
Date d'inscription
mercredi 21 décembre 2011
Statut
Membre
Dernière intervention
28 décembre 2013
14
Modifié par diyar77 le 14/07/2013 à 20:09
Modifié par diyar77 le 14/07/2013 à 20:09
UP
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
diyar77
Messages postés
94
Date d'inscription
mercredi 21 décembre 2011
Statut
Membre
Dernière intervention
28 décembre 2013
14
14 juil. 2013 à 20:10
14 juil. 2013 à 20:10
Toujours personne :/
adrienmarty
Messages postés
67
Date d'inscription
mercredi 29 avril 2009
Statut
Membre
Dernière intervention
25 octobre 2013
3
14 juil. 2013 à 20:11
14 juil. 2013 à 20:11
Met le formulaire dans le else.
SI il est connecté => Bienvenue.
SINON (else) => Formulaire de connexion.
SI il est connecté => Bienvenue.
SINON (else) => Formulaire de connexion.
diyar77
Messages postés
94
Date d'inscription
mercredi 21 décembre 2011
Statut
Membre
Dernière intervention
28 décembre 2013
14
14 juil. 2013 à 20:13
14 juil. 2013 à 20:13
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in /public_html/index.php on line 95
diyar77
Messages postés
94
Date d'inscription
mercredi 21 décembre 2011
Statut
Membre
Dernière intervention
28 décembre 2013
14
14 juil. 2013 à 20:15
14 juil. 2013 à 20:15
Sinon j'ai fais comme ça:
<?php
session_start();
if ( isset ($_SESSION['authenticated'] ) && ($_SESSION['authenticated']) ) {
echo "Bienvenue $_SESSION[pseudo]";
echo "<a href='/deconnexion.php'>Deconnexion</a>";
}else{
echo"<a href=\"connexion.php\">Connecter-vous</a>";
}
?>
sa fonctionne aussi ?
<?php
session_start();
if ( isset ($_SESSION['authenticated'] ) && ($_SESSION['authenticated']) ) {
echo "Bienvenue $_SESSION[pseudo]";
echo "<a href='/deconnexion.php'>Deconnexion</a>";
}else{
echo"<a href=\"connexion.php\">Connecter-vous</a>";
}
?>
sa fonctionne aussi ?
diyar77
Messages postés
94
Date d'inscription
mercredi 21 décembre 2011
Statut
Membre
Dernière intervention
28 décembre 2013
14
14 juil. 2013 à 20:19
14 juil. 2013 à 20:19
UP
le problème est de savoir où est ton formulaire et où tu le vérifies?
si ton formulaire est vérifié sur un autre script (exemple: validform.php)
il faut aussi que tu démarres les variables de session:
fichier validform.php
<?php
session_start();
//test des données formulaires
//validation des données du formulaire
$_SESSION['authenticated'] = true;
//retour à la page d'accueil du formulaire
?>
//page d'accueil index.php
<?php
session_start();
if ( isset ($_SESSION['authenticated'] ) && ($_SESSION['authenticated']) ) {
echo "Bienvenue $_SESSION[pseudo] <br />" ;
}else{
//mon formulaire
echo "<form method=POST action=validform.php>";
...
echo "<form/>";
}
?>
si ton formulaire est vérifié sur un autre script (exemple: validform.php)
il faut aussi que tu démarres les variables de session:
fichier validform.php
<?php
session_start();
//test des données formulaires
//validation des données du formulaire
$_SESSION['authenticated'] = true;
//retour à la page d'accueil du formulaire
?>
//page d'accueil index.php
<?php
session_start();
if ( isset ($_SESSION['authenticated'] ) && ($_SESSION['authenticated']) ) {
echo "Bienvenue $_SESSION[pseudo] <br />" ;
}else{
//mon formulaire
echo "<form method=POST action=validform.php>";
...
echo "<form/>";
}
?>
diyar77
Messages postés
94
Date d'inscription
mercredi 21 décembre 2011
Statut
Membre
Dernière intervention
28 décembre 2013
14
14 juil. 2013 à 20:26
14 juil. 2013 à 20:26
Bon, je vais tout résumer !
Formulaire d'inscription:
<form method="post" action="/user/iok.php" name="submit" ><hr />
<p>
<p><label for="name" name="pseudo">Pseudo: <input type="text" name="pseudo";> </input></label>
<p><label for="name" name="mdp">Pass: <input type="text" name="mdp";> </input></label>
<p><label for="name" name="mail">Mail: <input type="text" name="mail";> </input></label><br>
<p><label for="name" name="mail">Age: <input type="text" name="age";> </input></label><br>
<br><?php $ip = $_SERVER["REMOTE_ADDR"]; ?><br><br><br><br><input type="hidden" color="white" size ="10" name="ip" value="<?php echo $ip;?>">
<br>
<?php
$nav = $_SERVER['HTTP_USER_AGENT'];
?>
<input type="hidden" color="white" size ="35" name="nav" value="<?php echo $nav;?>">
<br>
<?php
$host = $_SERVER["SERVER_NAME"];
?>
<input type="hidden" color="white" size ="35" name="computer" value="<?php echo $host;?>">
<input type="submit" value="Valider" name="submit">
</form>
<br><a href="/index.php">Accueil ici</a>
</form>
Envoie du formulaire d'inscription à la base de donnée:
<?PHP
if(isset($_POST['submit']))
{
$pseudo = ($_POST['pseudo']);
$mdp = ($_POST['mdp']) ;
$mail = ($_POST['mail']) ;
$ip = ($_POST['ip']) ;
$age = ($_POST['age']) ;
$nav = ($_POST['nav']) ;
$computer = ($_POST['computer']) ;
$db = mysql_connect('*','*','*');
mysql_select_db('minesurvival',$db);
$sql = "INSERT INTO user VALUES('','$pseudo','$mdp','$mail','$ip','$age','$nav','$computer')";
mysql_query($sql)
or die('Erreur SQL !'.$sql.'
'.mysql_error());
echo 'Inscription terminer, Merci';
mysql_close();
}
?>
Dans l'index il y'a:
<?php
$_SESSION['authenticated'] = true;
?>
<?php
session_start();
if ( isset ($_SESSION['authenticated'] ) && ($_SESSION['authenticated']) ) {
echo "Bienvenue $_SESSION[pseudo]";
echo "<a href='/deconnexion.php'>Deconnexion</a>";
}else{
echo"<a href=\"connexion.php\">Connecter-vous</a>";
}
?>
Formulaire de connexion:
<form action="/user/cok.php" method="post" name="connexion">
<!-- Le formulaire pour vous connecter -->
<input type="text" size="10" value="Login" name="pseudo" onfocus="this.value=''" class="topusername" />
<input type="password" size="10" value="Password" name="mdp" onfocus="this.value=''" class="toppassword" />
<input type="submit" name="connexion" value="" class="topsubmit" />
</form>;
Envoie du formulaire de connexion a la base de donnée:
<?php
session_start();
?>
<html><body style="background-image: url(/fond.jpg)">
<?php
if(isset($_POST['connexion']))
{
$pseudo = htmlspecialchars(trim($_POST['pseudo']));
$mdp = htmlspecialchars(trim($_POST['mdp']));
if($pseudo&&$mdp)
{
$connect = mysql_connect('*','*','*');
mysql_select_db('minesurvival');
$log = mysql_query("SELECT * FROM user WHERE pseudo='$pseudo' AND mdp='$mdp'");
$rows = mysql_num_rows($log);
if($rows==1) {
$_SESSION['pseudo']=$pseudo;
echo"<a href='/user/cok2.php'>valider la connexion</a>";
}else echo"Mauvais Mot de passe";
}
}
?>
Et avec tout ça,
Il y'a dans l'index: Bienvenue et le lien Déconnexion (SANS le pseudo)
Merci d'avoir lu !
Formulaire d'inscription:
<form method="post" action="/user/iok.php" name="submit" ><hr />
<p>
<p><label for="name" name="pseudo">Pseudo: <input type="text" name="pseudo";> </input></label>
<p><label for="name" name="mdp">Pass: <input type="text" name="mdp";> </input></label>
<p><label for="name" name="mail">Mail: <input type="text" name="mail";> </input></label><br>
<p><label for="name" name="mail">Age: <input type="text" name="age";> </input></label><br>
<br><?php $ip = $_SERVER["REMOTE_ADDR"]; ?><br><br><br><br><input type="hidden" color="white" size ="10" name="ip" value="<?php echo $ip;?>">
<br>
<?php
$nav = $_SERVER['HTTP_USER_AGENT'];
?>
<input type="hidden" color="white" size ="35" name="nav" value="<?php echo $nav;?>">
<br>
<?php
$host = $_SERVER["SERVER_NAME"];
?>
<input type="hidden" color="white" size ="35" name="computer" value="<?php echo $host;?>">
<input type="submit" value="Valider" name="submit">
</form>
<br><a href="/index.php">Accueil ici</a>
</form>
Envoie du formulaire d'inscription à la base de donnée:
<?PHP
if(isset($_POST['submit']))
{
$pseudo = ($_POST['pseudo']);
$mdp = ($_POST['mdp']) ;
$mail = ($_POST['mail']) ;
$ip = ($_POST['ip']) ;
$age = ($_POST['age']) ;
$nav = ($_POST['nav']) ;
$computer = ($_POST['computer']) ;
$db = mysql_connect('*','*','*');
mysql_select_db('minesurvival',$db);
$sql = "INSERT INTO user VALUES('','$pseudo','$mdp','$mail','$ip','$age','$nav','$computer')";
mysql_query($sql)
or die('Erreur SQL !'.$sql.'
'.mysql_error());
echo 'Inscription terminer, Merci';
mysql_close();
}
?>
Dans l'index il y'a:
<?php
$_SESSION['authenticated'] = true;
?>
<?php
session_start();
if ( isset ($_SESSION['authenticated'] ) && ($_SESSION['authenticated']) ) {
echo "Bienvenue $_SESSION[pseudo]";
echo "<a href='/deconnexion.php'>Deconnexion</a>";
}else{
echo"<a href=\"connexion.php\">Connecter-vous</a>";
}
?>
Formulaire de connexion:
<form action="/user/cok.php" method="post" name="connexion">
<!-- Le formulaire pour vous connecter -->
<input type="text" size="10" value="Login" name="pseudo" onfocus="this.value=''" class="topusername" />
<input type="password" size="10" value="Password" name="mdp" onfocus="this.value=''" class="toppassword" />
<input type="submit" name="connexion" value="" class="topsubmit" />
</form>;
Envoie du formulaire de connexion a la base de donnée:
<?php
session_start();
?>
<html><body style="background-image: url(/fond.jpg)">
<?php
if(isset($_POST['connexion']))
{
$pseudo = htmlspecialchars(trim($_POST['pseudo']));
$mdp = htmlspecialchars(trim($_POST['mdp']));
if($pseudo&&$mdp)
{
$connect = mysql_connect('*','*','*');
mysql_select_db('minesurvival');
$log = mysql_query("SELECT * FROM user WHERE pseudo='$pseudo' AND mdp='$mdp'");
$rows = mysql_num_rows($log);
if($rows==1) {
$_SESSION['pseudo']=$pseudo;
echo"<a href='/user/cok2.php'>valider la connexion</a>";
}else echo"Mauvais Mot de passe";
}
}
?>
Et avec tout ça,
Il y'a dans l'index: Bienvenue et le lien Déconnexion (SANS le pseudo)
Merci d'avoir lu !
diyar77
Messages postés
94
Date d'inscription
mercredi 21 décembre 2011
Statut
Membre
Dernière intervention
28 décembre 2013
14
14 juil. 2013 à 20:29
14 juil. 2013 à 20:29
Voici le lien du site si vous voulez: http://cluster1.easy-hebergement.net/
diyar77
Messages postés
94
Date d'inscription
mercredi 21 décembre 2011
Statut
Membre
Dernière intervention
28 décembre 2013
14
14 juil. 2013 à 20:41
14 juil. 2013 à 20:41
MERCI SA FONCTIONNE !!
SlyK
Messages postés
854
Date d'inscription
vendredi 11 mars 2011
Statut
Contributeur sécurité
Dernière intervention
6 octobre 2014
147
Modifié par SlyK le 14/07/2013 à 20:49
Modifié par SlyK le 14/07/2013 à 20:49
Re !
Un conseil, pour commencer évite de créer plusieurs sujet pour exactement le même problème. Tu sais, on est des bénévoles ici, donc on va pas forcément répondre 10 minutes après toi...
Deuxièmement, met ton site hors-ligne, et sécurise-le un peu, car bon, il y a strictement rien de sécurisé, on a accès à tes dossiers, aucun de tes champs de formulaire sont sécurisés, accéder à ta base de données ne serait pas très compliqué.
D'autant plus que ta connexion ne marche toujours pas, j'envoie un formulaire vide, il me retourne "Mauvais mot-de-passe" mais je suis quand même connecté..
Apprend à développé en PHP avant de faire un site comme celui-ci. Les utilisateurs te donnent leurs confiances quand ils s'inscrivent. J'espère pour toi que tu as crypté les mot-de-passe de ceux-ci...
@+
« Ceux qui ne croient pas en l'impossible sont priés de ne pas décourager ceux qui sont en train de le faire. »
Un conseil, pour commencer évite de créer plusieurs sujet pour exactement le même problème. Tu sais, on est des bénévoles ici, donc on va pas forcément répondre 10 minutes après toi...
Deuxièmement, met ton site hors-ligne, et sécurise-le un peu, car bon, il y a strictement rien de sécurisé, on a accès à tes dossiers, aucun de tes champs de formulaire sont sécurisés, accéder à ta base de données ne serait pas très compliqué.
D'autant plus que ta connexion ne marche toujours pas, j'envoie un formulaire vide, il me retourne "Mauvais mot-de-passe" mais je suis quand même connecté..
Apprend à développé en PHP avant de faire un site comme celui-ci. Les utilisateurs te donnent leurs confiances quand ils s'inscrivent. J'espère pour toi que tu as crypté les mot-de-passe de ceux-ci...
@+
« Ceux qui ne croient pas en l'impossible sont priés de ne pas décourager ceux qui sont en train de le faire. »
diyar77
Messages postés
94
Date d'inscription
mercredi 21 décembre 2011
Statut
Membre
Dernière intervention
28 décembre 2013
14
14 juil. 2013 à 20:56
14 juil. 2013 à 20:56
Le "Il te retourne mauvais mot de passe" C'est normal, j'ai mis ça et ce n'est pas en fonction du mot de passe qui est dans la base de données, je peux changer et mettre "Mauvais Identifiants"
C'est vrai que je débute en PHP et que mon site n'est pas encore sécurisé... Mais je vais en apprendre plus sur le PHP !
C'est vrai que je débute en PHP et que mon site n'est pas encore sécurisé... Mais je vais en apprendre plus sur le PHP !
diyar77
Messages postés
94
Date d'inscription
mercredi 21 décembre 2011
Statut
Membre
Dernière intervention
28 décembre 2013
14
14 juil. 2013 à 21:12
14 juil. 2013 à 21:12
Une autre question sur la protection de mon site, c'est efficace de mettre un " trim(stripslashes(htmlentities( " ?
diyar77
Messages postés
94
Date d'inscription
mercredi 21 décembre 2011
Statut
Membre
Dernière intervention
28 décembre 2013
14
14 juil. 2013 à 22:19
14 juil. 2013 à 22:19
Les résolus pour la sécurité:
Champs sécurisés avec des:
- $mdp = (stripslashes(htmlentities(htmlspecialchars(trim($_POST['mdp'])))));
-md5 ajoutée.
- Mauvais mot de passe changé en Mauvais identifiants
- Tu ne peux plus te connecter quand il n'y a rien dans les champs même si tu n'est pas inscris.
C'est assez sécurisé maintenant ?
Champs sécurisés avec des:
- $mdp = (stripslashes(htmlentities(htmlspecialchars(trim($_POST['mdp'])))));
-md5 ajoutée.
- Mauvais mot de passe changé en Mauvais identifiants
- Tu ne peux plus te connecter quand il n'y a rien dans les champs même si tu n'est pas inscris.
C'est assez sécurisé maintenant ?
diyar77
Messages postés
94
Date d'inscription
mercredi 21 décembre 2011
Statut
Membre
Dernière intervention
28 décembre 2013
14
14 juil. 2013 à 22:40
14 juil. 2013 à 22:40
Y'avais une de ces faille :x
...
La personne pouvais s'inscrire avec le meme pseudo qu'un membre déjà enregistrer donc il pouvait choisir sont mot de passe...
...
La personne pouvais s'inscrire avec le meme pseudo qu'un membre déjà enregistrer donc il pouvait choisir sont mot de passe...