enlever le menu login quand personne connecté(résolu)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : enlever le menu login quand personne connecté(résolu)

Just Saying Good Day To Everybody

par Kikery » 26 avr. 2011, 07:47

Hello everyone. I simply thought i'd say hi and present myself to this exciting discussion board. I'm Lenny and I work in kitchen remodeling and I live in The big apple. I love forex trading and I always hope to find the best. I seriously love workout and recently started going through the insanity workout system. I hope you all enjoy a great time and i am eager for being part of this community and wish you the best!

Re: enlever le menu login quand personne connecté

par aurel08 » 29 nov. 2010, 09:25

problème résolu merci a tous.

Re: enlever le menu login quand personne connecté

par AB » 26 nov. 2010, 22:38

Un truc dans le genre :
<?php
session_start();
$erreur = null;

if (isset(($_POST['login']))
{
// j'inclue ma connection mysql.
require_once("include/mysql.php");

// je declare les variable a utilisé dans mon formulaire.
$login = htmlentities($_POST['login']);
$mdp = sha1($_POST['mdp']);

$req = $bdd->prepare('SELECT id FROM menbre WHERE login = :login AND mdp = :mdp');
$req->execute(array(
   'login' => $login,
   'mdp' => sha1($_POST['mdp'])));

$resultat = $req->fetch();

if ($resultat)
{
    $_SESSION['id'] = $resultat['id'];
    $_SESSION['login'] = $login;
    $_SESSION['connected'] = true;
}
else
{
$erreur = 'Mauvais identifiant ou login et mot de passe incorrect,<br />ou les champs sont vides!!';
}
}
?>

<html>
...

<div>
<?php if (!isset($_SESSION['connected']))
{?>
<fieldset>
le code html de ton formulaire de contact

<?php if (isset($erreur))
{
        echo $erreur;
}
}?>
</fieldset>
</div>
Tu as un tuto détaillé ici

Re: enlever le menu login quand personne connecté

par aurel08 » 26 nov. 2010, 18:30

je vous écoute donc que doit-je faire si ma requête et pas bonne?

voilà le nouveau code j'avais donnée le mauvais.
<fieldset>
<?php

// j'inclue ma connection mysql.
require_once("include/mysql.php");

// je declare les variable a utilisé dans mon formulaire.
$login = htmlentities($_POST['login']);
$mdp = sha1($_POST['mdp']);

$req = $bdd->prepare('SELECT id FROM menbre WHERE login = :login AND mdp = :mdp');
$req->execute(array(
   'login' => $login,
   'mdp' => sha1($_POST['mdp'])));

$resultat = $req->fetch();

if (!$resultat)
{
	echo "<center><b><h3><font color=\"#ff0000\">Mauvais identifiant ou login et mot de passe incorrect,<br />ou les champs sont vides!!</font></h3></b></center>";
}
else
{
    session_start();
    $_SESSION['id'] = $resultat['id'];
    $_SESSION['login'] = $login;
    
    // ici
    $_SESSION['connected'] = true;

echo "<b>vous ete connecté</b>";
}
?>
</fieldset>

Re: enlever le menu login quand personne connecté

par devlop78 » 25 nov. 2010, 20:47

Tout ce code m'horipille. Tu poses cette question et à côté tu utilises une requête préparée. Cela dit elle n'est justifiée que par la sécurité qu'elle propose, car d'un point de vue performance, elle est inadaptée pour cette requête.

D'autres points :

- Pas de gestion d'erreurs avec if (!$resultat)
- La balise xhtml "font" et "b" est dépréciée (mais ça, en html ça va)
- la balise "h3" ne peut pas être dans la balise "b"
- La page ne possède aucune vérification de présence ou d'absence de données du formulaire, ce qui suppose qu'aller sur cette page sans passer par le formulaire revient à se déconnecter. De même, s'il est connecté, il n'est pas lieu de lui donner la possibilité de se connecter sans s'être déconnecté.
- dans l'autre fichier, tu ne peux fermer une balise <div> que tu n'as pas ouverte, dans l'ordre, les input ne sont pas fermés, il y a un </div> en trop, ta page n'est peut-être pas en html, et si elle est intégrée au fichier php, l'ensemble n'est pas adapté.

Cordialement,

Re: enlever le menu login quand personne connecté

par AB » 25 nov. 2010, 17:36

Et puis n'oublies pas de mettre
session_start();
avant d'utiliser des variables de session. Je ne le vois nulle part dans ton code ...

Re: enlever le menu login quand personne connecté

par xTG » 25 nov. 2010, 09:46

Il faut que tu transformes ta page html en page php pour y insérer une condition :
if( !empty($_SESSION['login']) )
{
  // affichage du menu
}

enlever le menu login quand personne connecté(résolu)

par aurel08 » 25 nov. 2010, 04:50

bonjour,

alors voila je c'est pas comment faire pour enlevé la section de login quand le personne est connecté sous le site si quel'qun peut maider sa me rendrai un grand service voici se que je veut enlevé :

parconte si jenleve sur le css ou dans le code source sa menleve sur toutes les page je trouve pas le bon moyen merci a tous

Image

et les code ci dessou :
<fieldset>
<?php

// j'inclue ma cnnection mysql.
require_once("include/mysql.php");

// je declare les variable a utilisé dans mon formulaire.
$login = $_POST['login'];
$mdp = $_POST['mdp'];

// je decrypte le mot de passe entrée.
$mdp = md5($_POST['mdp']);

$req = $bdd->prepare('SELECT id FROM register_sogamesm WHERE login = :login AND mdp = :mdp');
$req->execute(array(
   'login' => $login,
   'mdp' => $mdp));

$resultat = $req->fetch();

if (!$resultat)
{
	echo "<center><b><h3><font color=\"#ff0000\">Mauvais identifiant ou login et mot de passe incorrect,<br />ou les champs sont vides!!</font></h3></b></center>";
}
else
{
	$_SESSION['id'] = $resultat['id'];
	$_SESSION['login'] = $login;
	$_SESSION['mdp'] = $mdp;
	echo "<b>vous ete connecté</b>";
}
?>
</fieldset>
et la mon code html css :

<div id="user_area">
		<div id="user_col_2">
<form action="?page=connect" method="post">
<input type="image" src="./img/base/login.gif">
</div>
<div id="user_col_1">
<a href="?page=register"><img src="./img/base/register.gif"></a>
<a href="?page=lost-password"><img src="./img/base/lost_pw.gif"></a>
</div>
	<div id="user_center">
<input type="text" name="login" Value="USERNAME">
<input type="password" name="login" Value="PASSWORD">
</form>
</div>
		</div>
	</div>