Créer un compte
Connexion

Probleme If session

Pour créer et répondre aux sujets, vous devez être connecté.
Ce sujet est résolu.
Pages: 1
Auteur Message
Aglzime
02/11/2010 à 14:35:03
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux ! Aglzime
Membre
Bonjour à vous!
Je vous explique mon problème jaimerai mettre dans ma page d'accueil un code qui permet:
-D'afficher un formulaire de connexion à mon espace membre si le visiteur n'est pas connecter (donc ce formulaire lui permet de se connecter)
- Si la personne est déjà connecter à l'espace : Afficher le nombre de message que sa messagerie contient donc afficher cela:
Vous avez 35 message, Dont 5 non lus par exemple.
j'ai essayé un code mais ça ne fonctionne pas enfin s'affiche le formulaire en cas ou la session n'est pas ouverte, mais il n'affiche rien si la session est ouverte:
<?php
if (!isset($_SESSION['login'])) {
        // si ce n'est pas le cas, on le redirige vers l'accueil
        echo '<form id="monForm" action="#" method="post">
<label for="form_login">Login&nbsp; : </label>
            <input type="text" id="form_login" name="login" />
        </p>
        <p>
            <label for="form_password">Mot de passe : </label>
            <input type="password" id="form_password" name="password" />
        </p>
                 <input type="submit" name="connexion" value="Connexion" /><input type="button" value="S\'inscrire" OnClick="window.location.href=\'utilisateurs/sinscrire.php/\'"></
                </from>';
        }
        else {
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
        if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {

                include("/utilisateurs/mysql_connect.php");
                mysql_select_db($base,$connexion_base) or die ("erreur de connexion base");
        mysql_query("SET NAMES 'utf8'");

                $sql = 'SELECT id FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass="'.(mysql_escape_string($_POST['pass'])).'"';
                $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
                $nb = mysql_num_rows($req);

                if ($nb == 1) {
                        $data = mysql_fetch_array($req);

                        session_start();
                        $_SESSION['login'] = $_POST['login'];
                        // on enregistre en plus l'id du membre dans une variable de session
                        $_SESSION['id'] = $data['id'];

require('/utilisateurs/mysql_connect.php');
mysql_select_db($base,$connexion_base) or die ("erreur de connexion base");
$counter=mysql_query('SELECT COUNT(*) NBR_ENTREE FROM messages Where id_destinataire="'.$_SESSION['id'].'"');

// Récupère la seule ligne du jeu d'enregistrements
$row=mysql_fetch_object($counter);

echo "Vous avez <strong><a href='/utilisateurs/messagerie.php'>".$row->NBR_ENTREE."</a></strong> message(s)!.";

mysql_close();
?><br /><?php  
require('/utilisateurs/mysql_connect.php');
mysql_select_db($base,$connexion_base) or die ("erreur de connexion base");
$counter=mysql_query('SELECT COUNT(*) NBR_ENTREE FROM messages Where id_destinataire="'.$_SESSION['id'].'" AND lu="0"');

// Récupère la seule ligne du jeu d'enregistrements
$row=mysql_fetch_object($counter);

echo "dont <strong><a href='/utilisateurs/messagerie.php'>".$row->NBR_ENTREE."</a></strong> message(s) non lu!.";
                }
                elseif ($nb == 0) {
                        $erreur = 'Compte non reconnu.';
                }
                else {
                        $erreur = 'Probl&egrave;me dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
                }
                mysql_free_result($req);
                mysql_close();
        }
        else {
                $erreur = 'Au moins un des champs est vide.';
        }
}
}
?>

Merci D'avance!!!

Aglzime
04/11/2010 à 18:55:48
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux ! Aglzime
Membre
Problème Résolu
=) Merci

Pages: 1