IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Connexion impossible espace membre


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Connexion impossible espace membre
    Bonjour,
    je travail avec dreamweaver et easyphp, j'ai terminé toute les pages de mon site et je voulais insérer un espace membre.

    J'ai donc changer le nom de mon serveur (localhost car j'utilise easyphp), le login (root), le mot de passe (aucun) et le nom de ma base (zonemembre).
    Arrivé sur l'index, pas de problème, pas d'erreur de connexion à la base. Je clique sur inscription (qui me renvoi donc sur inscription.php) et je m'inscris. Je fais ok (qui doit m'envoyer sur la page meme.php) mais la le navigateur me dit qu'il n'arrive pas à afficher la page ... Alors que dans ma base donnée l'utilisateur s'est bien créer. Donc quand je reviens sur index.php pour me connecter avec le login créer avant, la page menbre ne s'affiche pas non plus.
    Donc le problème vient visiblement d'un paramètre mal renseigné dans "membre.php" mais je n'arrive pas à voir lequel.

    Voici le code de ma page "index.php":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    <?php
    if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
    	if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
     
    		$base = mysql_connect ('localhost', 'root', '');
    mysql_select_db ('zonemembre', $base);
     
    		$sql = 'SELECT id FROM membres WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.md5(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'];
     
    			mysql_free_result($req);
    			mysql_close();
     
    			header('Location: membre.php');
    			exit();
    		}
    		elseif ($nb == 0) {
    			$erreur = 'Compte non reconnu.';
    		}
    		else {
    			$erreur = 'Probè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.';
    	}
    }
    ?>
     
     
    <P><A href=/#><STRONG>Connexion -&gt;</STRONG></A></P>
    <p><form action=index.php method=post>
    Login :<br> <input  name=login  onfocus=this.style.backgroundColor='#CCCCFF'; onfocus=this.style.backgroundColor='white';> <br />
    Mot de passe : <br><input type=password name=pass  onfocus=this.style.backgroundColor='#CCCCFF'; onfocus=this.style.backgroundColor='white';> <br />
    <input type=submit name=connexion value=Connexion> 
    </form><div text=red><h3>
    <p></P><P>
    </p></div></h3>
    <a href=inscription.php>Vous inscrire</a>
     
    <?php
    if (isset($erreur)) echo '<br /><br />',$erreur;
    ?>


    Et celui de ma page "membre.php":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?php
    session_start();
    if (!isset($_SESSION['login'])) {
    	header ('Location: index.php');
    	exit();
    }
    ?>
    <html>
    <head>
    <title>Espace membre</title>
    </head>
     
    <body>
    Les messages de <?php echo htmlentities(trim($_SESSION['login'])); ?><br /><br />
    <?php
    $base = mysql_connect ('localhost', 'root', '');
    mysql_select_db ('zonemembre', $base);
     
     
    $sql = 'SELECT titre, date, membres.login as expediteur, messages.id as id_message FROM messages, membres WHERE id_destinataire="'.$_SESSION['id'].'" AND id_expediteur=membres.id ORDER BY date DESC';
    // lancement de la requete SQL
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    $nb = mysql_num_rows($req);
     
    if ($nb == 0) {
    	echo 'Vous n\'avez aucun message.';
    }
    else {
    	// si on a des messages, on affiche la date, un lien vers la page lire.php ainsi que le titre et l'auteur du message
    	while ($data = mysql_fetch_array($req)) {
    		echo $data['date'] , ' - <a href="lire.php?id_message=' , $data['id_message'] , '">' , stripslashes(htmlentities(trim($data['titre']))) , '</a> [ Message de ' , stripslashes(htmlentities(trim($data['expediteur']))) , ' ]<br />';
    	}
    }
    mysql_free_result($req);
    mysql_close();
    ?></P>
    <a href=envoyer.php>Envoyer un message
    Voila donc si vous pouviez éclairer ma lanterne.
    Merci d'avance.
    Cordialement.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Commence par faire une debugage basique avec des echos :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    echo 'debut<br/>';
    if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
       echo 'if sur post connexion passé<br/>';
    	if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
           echo 'if sur post login et pass<br/>';
     		$base = mysql_connect ('localhost', 'root', '');
    mysql_select_db ('zonemembre', $base);
     
    		$sql = 'SELECT id FROM membres WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.md5(mysql_escape_string($_POST['pass'])).'"';
            echo $sql;
    si tu arrives bien jusqu'a l'affichage de la requête, teste la en direct avec PHPmyadmin.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Désolé pour la gaf et merci de l'avoir déplacer.
    J'ai donc coller ton code au mien, j'ai lancer la page, le "echo debut" s'affiche sur ma page, je rentre le login et mot de passe puis connexion et la toujours le meme probleme (le navigateur ne trouve pas la page).

    Sa serait donc le
    if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion')
    qui n'est pas bon ?

    d'ailleur ne voit pas bien a quoi correspond se 'if' ...

Discussions similaires

  1. Connexion à l'espace membre
    Par ploufleouf74 dans le forum Langage
    Réponses: 5
    Dernier message: 20/07/2009, 16h02
  2. [MySQL] Problème Connexion Espace Membres
    Par Luisito31 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/02/2009, 14h21
  3. [MySQL] connexion à un espace membre
    Par Arthezius dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 15/07/2008, 09h49
  4. [MySQL] Script de connexion (espace membre)
    Par razorlok dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 03/06/2008, 11h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo