8791 sujets

Développement web côté serveur, CMS

Bonjour tout le monde. Je suis en train de créer un forum et je coince sur une de mes pages.
En fait le pb est dans le code suivant,j'arrive à deplacer la classe "deconnectez avec css, mais pas la classe "connectez". Quelqu'un peut-il me dire pourquoi?
[code]<?php
session_start();
 
// Message
 
if (empty($_POST['pseudo']) || empty($_POST['password']) ) //Oublie d'un champ
{
       $message = '<p>Une erreur s est produite pendant votre identification.
        Vous devez remplir tous les champs
        Cliquez <a href="./connexion.php">ici</a> pour revenir</p>';
}
else
{
        //Acces interdit : le membre est déjà connecté
        if (isset($_SESSION['pseudo'])) 
        {
                $message ='<p>Désolé mais vous ne pouvez 
                pas accéder à cette page</p>';
        }
        else // Autorisation ok : il reste à voir le mot de passe
        {
        include("forum/includes/identifiants.php");
        mysql_connect($adresse, $nom, $motdepasse);
        mysql_select_db($database);
       
        //On enlève les balises html éventuelles
       
        $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'], ENT_QUOTES));
        $password = mysql_real_escape_string(htmlspecialchars($_POST['password'], ENT_QUOTES));
        
        $requete1 = mysql_query('SELECT membre_mdp, membre_id, membre_rang 
        FROM forum_membres WHERE membre_pseudo = "'.$pseudo.'"') 
        or die (mysql_error());
        $data1 = mysql_fetch_assoc($requete1);
 
        
        if ($data1['membre_mdp'] == md5($password)) // Acces OK !
        {
       
                $_SESSION['pseudo'] = $pseudo;
                $_SESSION['level'] = $data1['membre_rang'];
                $_SESSION['id'] = $data1['membre_id'];
       
                $message = '<p>Bienvenue '.$_SESSION['pseudo'].', 
                vous êtes maintenant connecté!</p>
                <p>Cliquez <a href="./index.php">ici</a> 
                pour revenir à la page d accueil</p>';
       
         }
         else // Acces pas OK !
         {
                $message = '<p>Une erreur s est produite 
                pendant votre identification.
                Le mot de passe ou le pseudo entré n est pas correcte.
                Cliquez <a href="./connexion.php">ici</a> 
                pour revenir à la page précédente
                <br /><br />
                Cliquez <a href="./index.php">ici</a> 
                pour revenir à la page d accueil</p>';
          }
          }
}
//Ici seulement on affiche la page
?>




     <div id="en_tete">
		<?php
       include("en_tete.php");
		?>
       </div>
 
<hr/>
       
       <div id="menu">        
            <?php
       include("menu.php");
		?>    
       </div>



<?php
echo $message;
?>



<?php
session_start();
session_destroy();
 
?>
 

 <div class="deconnectez">
<?php
echo '<p>Vous êtes à présent déconnecté <br />
Cliquez <a href="'.$_SERVER['HTTP_REFERER'].'">ici</a> 
pour revenir à la page précédente.</p>';
?>
</div>




merci
Salut,

alors dans le désordre :

* tu devrais revoir l'utilisation de mysql_real_escape_string.

* pourquoi utilises-tu 2 fois session_start ? D'ailleurs la seconde fois est invalide puisque tu as déjà écrit du code html avant... de même pour session_destroy... Que vient-il faire ici ? A moins que tu n'aies mis 2 pages dans le même code Smiley rolleyes ?

* Après "//Ici seulement on affiche la page" tu devrais avoir un DOCTYPE suivi des balises <html ...><head>...</head><body> et pas directement un "<div id="en_tete">" Smiley ohwell ! PHP ne dispense pas de générer un code html correct.

* $_SERVER['HTTP_REFERER'] n'est pas toujours alimenté et ce n'est donc pas une bonne idée de s'en servir pour faire un lien.

* Sinon je n'ai pas du tout compris quelle était ta question... Pourrais-tu être plus explicite ?


Ah oui... Pour finir et si ton précédent post est résolu, merci de l'indiquer dans le titre Smiley cligne !
Modifié par Heyoan (16 Aug 2008 - 21:29)
merci heyoan, ca marche nickel. Pour mon post precedent aussi puiske mon formulaire fonctionne.merci encore Smiley cligne
Ah bon... ben c'est cool ! Smiley smile

Sinon, je te demandais de rajouter un [Résolu] (<- ceci est un lien !) dans le titre de tes sujets en éditant le premier post car cela facilite les recherches et permet aux membres de ne s'occuper que des autres topics. Merci d'avance ! Smiley cligne