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 :

Redirection très bizarre


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 15
    Points : 8
    Points
    8
    Par défaut Redirection très bizarre
    Bonjour à tous !

    Tout d'abord je tenais à remercier Yellu pour son aide l'autre jour par rapport à mon script.
    J'ai cependant un nouveau souci...
    Mon espace membre fonctionne bien mis à part le fait que lorsque je me connecte, je ne suis pas redirigée sur la bonne page 9 fois sur 10... Je ne sais pas de quoi cela peut bien venir étant donné que je ne modifie rien dans mon script et que un jour ça fonctionne et le lendemain, cela ne fonctionne plus...
    Voici mes scripts :
    Page : "accueil.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
    <h1>Espace membres</h1>
    <?php
    // on teste si le visiteur a soumis le formulaire de connexion
    if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
    	if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass_md5']) && !empty($_POST['pass_md5']))) {
     
    	$base = mysql_connect ('localhost', 'root', 'root');
    	mysql_select_db ('Cercle ENSCCF', $base);
     
    	// on teste si une entrée de la base contient ce couple login / pass
    	$sql = 'SELECT * FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.mysql_escape_string(md5($_POST['pass_md5'])).'"';
    	$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    	$data = mysql_fetch_array($req);
     
    	mysql_free_result($req);
    	mysql_close();
     
    	// si on obtient une réponse, alors l'utilisateur est un membre
    	if ($data['login'] != NULL) {
    		session_start();
    		$_SESSION['login'] = $_POST['login'];
    		header('Location: espace membre/membre.php');
    		exit();
    	}
    	// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
    	elseif ($data['login'] == NULL) {
    		$erreur = 'Compte non reconnu.';
    	}
    	// sinon, alors la, il y a un gros problème :)
    	else {
    		$erreur = 'Problème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
    	}
    	}
    	else {
    	$erreur = 'Au moins un des champs est vide.';
    	}
    }
    ?>
    <html>
    <body>
    <br />
    <form action="accueil.php" method="post">
    <p class="login"><strong>Login :</strong></p> <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
    <p class="mdp"><strong>Mot de passe :</strong></p> <input type="password" name="pass_md5" value="<?php if (isset($_POST['pass_md5'])) echo htmlentities(trim($_POST['pass_md5'])); ?>"><br />
    <input type="submit" name="connexion" value="Connexion">
    </form>
    <a href="inscription.php">S'inscrire</a>
    <?php
    if (isset($erreur)) echo '<br /><br />',$erreur;
    ?>
    </body>
    </html>
    Page : "membre.php" qui est dans le dossier "espace membre"
    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
    55
    56
    57
    <?php
    session_start();
    if (!isset($_SESSION['login'])) {
    	header ('Location: ../accueil.php');
    	exit();
    }
    ?>
     
    <html>
        <head>
            <meta charset="utf-8" />
            <link rel="stylesheet" href="../style.css" />
    		<title>Accueil</title>
    	</head>
     
    	<body>
            <div id="bloc_page">
                <header>
                    <div id="titre_principal">
                        <img src="../images/logo cerfcle.jpg" alt="Logo du Cercle" id="logo" />
                        <h1>Cercle 2014</h1>
                    </div>
     
                    <nav>
                        <ul>
                            <li><a href="accueil.php">Accueil</a></li>
                            <li><a href="assos.php">Associations & Clubs</a></li>
                            <li><a href="photos.php">Photos</a></li>
                            <li><a href="annales.php">Annales</a></li>
                            <li><a href="partenaires.php">Partenaires</a></li>
                            <li><a href="équipe.php">Équipe</a></li>
                            <li><a href="livredor.php">Livre d'Or</a></li>
                        </ul>
                    </nav>
                </header>
     
                <div id="banniere_image">
                    <div id="banniere_description">
                        Le cube de l'ENSCCF
                    </div>
                </div>
                <div id="separateur">
                </div>
     
                <section>
                    <article>
                    <h1>Bienvenue !</h1>
                    <h3>Tu es perdu ? Tu ne sais plus ce qu'il y a de prévu ? Alors clique <a href="calendrier.php">ici</a> !</h3>
                    </article>
                    <aside>
    					<h1>Mes informations</h1>
    					<p>Bienvenue <?php echo htmlentities(trim($_SESSION['login'])); ?> !<br /></p>
    					<p><a href="../deconnexion.php">Déconnexion</a></p>
    				</aside>
    			</section>
    	</body>
    </html>
    Merci de votre réponse

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Points : 479
    Points
    479
    Par défaut
    Je pense que cela peut venir de cette instruction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion')
    Que renvoie le navigateur dans array $_POST pour la touche connexion ?... (Soulignons que ce n'est pas une zone de saisie)
    Concernant IE, il ne renvoie rien. Je l'ai testé... Le renard et les autres je ne sais pas...
    Faites plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ( ! empty($_POST) ) { ......... }
    Voici un excellent article sur la question : http://www.expreg.com/expreg_article...rt=isset_empty

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    J'ai remplacé toutes mes variables isset par !empty et ça fonctionne Merci beaucoup

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Puis-je vous demander autre chose ?

  5. #5
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Points : 479
    Points
    479
    Par défaut
    Go ahead !

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Mon espace membre est en fait un espace membre à accès restreint comme vous avez pu le constater.
    J'ai donc dans ma base de données l'e-mail des personnes qui ont le droit de s'y connecter ainsi que d'autres données personnelles les concernant.
    Lors de l'inscription les membres n'ont qu'à insérer leur e-mail et choisir un mot de passe.
    Cependant, j'aimerais pouvoir afficher l'intégralité des données personnelles du membre connecté sur la page d'accueil de l'espace membre "membre.php".
    Savez-vous comment je peux faire ceci ?
    Voici la page d'inscription :
    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
    55
    56
    57
    58
                                        	<h1>Inscription à l'espace membres</h1>
    <?php
     
    if (!empty($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
     
    	if ((!empty($_POST['login']) && !empty($_POST['login'])) && (!empty($_POST['pass_md5']) && !empty($_POST['pass_md5'])) && (!empty($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
     
    	if ($_POST['pass_md5'] != $_POST['pass_confirm']) {
    		$erreur = 'Les 2 mots de passe sont différents.';
    	}
    	else {
    		$base = mysql_connect ('localhost', 'root', 'root');
    		mysql_select_db ('Cercle ENSCCF', $base);
     
     
    		$sql = 'SELECT * FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
    		$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    		$data = mysql_fetch_array($req);
     
    		if ($data['login'] != NULL && $data['pass_md5'] == NULL) {
    		$sql = 'UPDATE membre SET pass_md5="'.mysql_escape_string(md5($_POST['pass_md5'])).'" WHERE login ="'.mysql_escape_string($_POST['login']).'"';
    		mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
     
    		session_start();
    		$_SESSION['login'] = $_POST['login'];
    		header('Location: espace membre/membre.php');
    		exit();
    		}
    		elseif($data['login'] == NULL) {
    		$erreur = 'Vous n\'êtes pas autorisé à accéder à cet espace membre.';
    		}
    		elseif($data['pass_md5'] != NULL) {
    		$erreur = 'Cette personne possède déjà un compte.';
    		}
    	}
    	}
    	else {
    	$erreur = 'Au moins un des champs est vide.';
    	}
    }
    ?>
    <html>
    <head>
    <title>Inscription</title>
    </head>
     
    <body>
    <form action="inscription.php" method="post">
    <strong>E-mail :</strong> <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
    <strong>Mot de passe :</strong> <input type="password" name="pass_md5" value="<?php if (isset($_POST['pass_md5'])) echo htmlentities(trim($_POST['pass_md5'])); ?>"><br />
    <strong>Confirmation du mot de passe :</strong> <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
    <center><input type="submit" name="inscription" value="Inscription"></center>
    </form>
    <?php
    if (isset($erreur)) echo '<br />',$erreur;
    ?>
    </body>
    </html>
    Et la page membre :
    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
    <?php
    session_start();
    if (!isset($_SESSION['login'])) {
    	header ('Location: ../accueil.php');
    	exit();
    }
    ?>
     
    <html>
        <head>
            <meta charset="utf-8" />
            <link rel="stylesheet" href="../style.css" />
    		<title>Accueil</title>
    	</head>
    <section>
    <aside>
    					<h1>Mes informations</h1>
    					<p>Bienvenue <?php echo htmlentities(trim($_SESSION['login'])); ?> !<br /></p>
    					<p><a href="../deconnexion.php">Déconnexion</a></p>
    				</aside>
    			</section>
    	</body>
    </html>
    J'ai aussi modifié mes ISSET par des !EMPTY dans la page d'inscription

  7. #7
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Points : 479
    Points
    479
    Par défaut
    Oui, un peu comme sur "développez.com" quand on clique sur le lien d'un "member", son profil s'affiche !
    Je ne sais pas comment ils ont fait ça... Peut-être avec une Iframe, mais je ne suis pas certain...
    De toute manière, il y a forcément un petit Javascript pour gérer le click !
    Je vais voir...

  8. #8
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    C'est vraiment très gentil de ta part, merci beaucoup

  9. #9
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Points : 479
    Points
    479
    Par défaut
    Je viens de regarder votre code corrigé !
    C'est pas très bon (même si cela fonctionne)...Apparemment vous n'avez pas assimilé l'article que je vous ai indiqué !...
    Votre 1ère ligne devrait être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!empty($_POST) )  {     // et puis c'est tout !...
    Et dans la ligne suivante, par erreur vous avez doublé vos tests (3 suffisent et non pas 6...)
    Par ailleurs vous ne faites aucun contrôle sur vos zones de saisie vous allez rentrer du garbage dans votre bdd...

    En reprenant vos identifiants (pour ne pas vous égarer), j'ai 'bricolé' une "page.php" qui effectue des contrôles de saisie.
    Le formulaire boucle sur lui-même, jusqu'à ce que la saisie soit correcte.
    Quand c'est bon la page affiche "--BAR--BAR--BAR--Jackpot" (à la place de cette instruction, il faudrait placer vos routines d'accès à la base).
    Vous pouvez tester cette page sous WAMP (Elle est opérationnelle)
    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
    <?php          
         if ( empty($_POST) ) {
              $login=''; $pass_md5=''; $pass_confirm=''; $cursor='login'; $log='';
              goto Affichage;
              }
         $login = $_POST['login']; $pass_md5 = $_POST['pass_md5']; $pass_confirm = $_POST['pass_confirm'];
    #   ------------------------------
         $cursor = 'login';                      
         if ( empty($_POST['login']) ) {          
              $log = "Veuillez saisir une adresse ! "; goto Affichage;       
              }
         if ( ! preg_match("~^[a-zA-Z][\w.-]+@[a-z0-9.-]{2,}\.[a-z]{2,6}$~", $login) ) {      
              $log = "Syntaxe incorrecte ! "; goto Affichage;
              }
    #   ------------------------------
         $cursor = 'pass_md5';                                                
         if ( empty($_POST['pass_md5']) ) {
              $log = "Veuillez saisir un mot de passe ! "; goto Affichage;
              }       
         if ( ! preg_match("~^[\w]{8}$~", $pass_md5) ) {
              $log = "Mot de passe incorrect  !"; goto Affichage ;
              }
    #   ------------------------------
         $cursor = 'pass_confirm';                                                
         if ( $pass_md5 != $pass_confirm ) {
              $log = "Veuillez confirmer le mot de passe  !"; goto Affichage ;
              } 
         $log = "--BAR--BAR--BAR-- Jackpot" ;
    #------------------------------
    Affichage:
    #------------------------------       
    ?>
    <html><head>
    </head><body  onload="document.getElementById('<?php echo $cursor ?>').focus()"> 
         <FORM method="POST" style="font: 16px verdana;" action="inscription.php">
              <br> 
              email-address : <input name="login" id="login" type="text" value="<?php echo $login ?>" maxlength=40 style="width:300px;">
              <br><br>
              Mot de passe : <input name="pass_md5" id="pass_md5" type="password" value="<?php echo $pass_md5 ?>" maxlength=8> ( 8 caractères : Lettres ou chiffres )
              <br><br>
              Confirmation du Mot de passe : <input name="pass_confirm" id="pass_confirm" type="password" value="<?php echo $pass_confirm ?>" maxlength=8>
              <br><br>
              <input type="submit" id="submit" style="height: 40px;">
              <span style="font: italic 16px times; color:red;"><?php echo $log ?></span>
         </FORM>
    </body></html>

  10. #10
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Rebonjour...
    Je viens de me lever ce matin, et lorsque j'ai retester mes scripts (sans y avoir toucher) cela ne fonctionnait plus...
    Je ne comprends pas...
    Voici (encore une fois) mes scripts, je n'y touche plus jusqu'à nouvel ordre de votre part
    Page accueil.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
    <h1>Espace membres</h1>
    <?php
    // on teste si le visiteur a soumis le formulaire de connexion
    if (!empty($_POST)) {
    	if (!empty($_POST['login']) && (!empty($_POST['pass_md5']))) {
     
    	$base = mysql_connect ('localhost', 'root', 'root');
    	mysql_select_db ('Cercle ENSCCF', $base);
     
    	// on teste si une entrée de la base contient ce couple login / pass
    	$sql = 'SELECT * FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.mysql_escape_string(md5($_POST['pass_md5'])).'"';
    	$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    	$data = mysql_fetch_array($req);
     
    	mysql_free_result($req);
    	mysql_close();
     
    	// si on obtient une réponse, alors l'utilisateur est un membre
    	if ($data['login'] != NULL) {
    		session_start();
    		$_SESSION['login'] = $_POST['login'];
    		header('Location: espace membre/membre.php');
    		exit();
    	}
    	// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
    	elseif ($data['login'] == NULL) {
    		$erreur = 'Compte non reconnu.';
    	}
    	// sinon, alors la, il y a un gros problème :)
    	else {
    		$erreur = 'Problème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
    	}
    	}
    	else {
    	$erreur = 'Au moins un des champs est vide.';
    	}
    }
    ?>
    <html>
    <body>
    <form action="accueil.php" method="post">
    <p class="login"><strong>Login :</strong></p> <input type="text" name="login" value="<?php if (!empty($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
    <p class="mdp"><strong>Mot de passe :</strong></p> <input type="password" name="pass_md5" value="<?php if (!empty($_POST['pass_md5'])) echo htmlentities(trim($_POST['pass_md5'])); ?>"><br />
    <input type="submit" name="connexion" value="Connexion">
    </form>
    <a href="inscription.php">S'inscrire</a>
    <?php
    if (!empty($erreur)) echo '<br /><br />',$erreur;
    ?>
    </body>
    </html>
    Page inscription.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
    55
    56
    57
    58
    <h1>Inscription à l'espace membres</h1>
    <?php
     
    if (!empty($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
     
    	if ((!empty($_POST['login']) && (!empty($_POST['pass_md5']) && (!empty($_POST['pass_confirm']))) {
     
    	if ($_POST['pass_md5'] != $_POST['pass_confirm']) {
    		$erreur = 'Les 2 mots de passe sont différents.';
    	}
    	else {
    		$base = mysql_connect ('localhost', 'root', 'root');
    		mysql_select_db ('Cercle ENSCCF', $base);
     
     
    		$sql = 'SELECT * FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
    		$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    		$data = mysql_fetch_array($req);
     
    		if ($data['login'] != NULL && $data['pass_md5'] == NULL) {
    		$sql = 'UPDATE membre SET pass_md5="'.mysql_escape_string(md5($_POST['pass_md5'])).'" WHERE login ="'.mysql_escape_string($_POST['login']).'"';
    		mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
     
    		session_start();
    		$_SESSION['login'] = $_POST['login'];
    		header('Location: espace membre/membre.php');
    		exit();
    		}
    		elseif($data['login'] == NULL) {
    		$erreur = 'Vous n\'êtes pas autorisé à accéder à cet espace membre.';
    		}
    		elseif($data['pass_md5'] != NULL) {
    		$erreur = 'Cette personne possède déjà un compte.';
    		}
    	}
    	}
    	else {
    	$erreur = 'Au moins un des champs est vide.';
    	}
    }
    ?>
    <html>
    <head>
    <title>Inscription</title>
    </head>
     
    <body>
    <form action="inscription.php" method="post">
    <strong>E-mail :</strong> <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
    <strong>Mot de passe :</strong> <input type="password" name="pass_md5" value="<?php if (isset($_POST['pass_md5'])) echo htmlentities(trim($_POST['pass_md5'])); ?>"><br />
    <strong>Confirmation du mot de passe :</strong> <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
    <center><input type="submit" name="inscription" value="Inscription"></center>
    </form>
    <?php
    if (isset($erreur)) echo '<br />',$erreur;
    ?>
    </body>
    </html>
    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
    <?php
    session_start();
    if (!isset($_SESSION['login'])) {
    	header ('Location: ../accueil.php');
    	exit();
    }
    ?>
     
    <html>
        <head>
            <meta charset="utf-8" />
            <link rel="stylesheet" href="../style.css" />
    		<title>Accueil</title>
    	</head>
    <body>
    [...]
    <aside>
    					<h1>Mes informations</h1>
    					<p>Bienvenue <?php echo htmlentities(trim($_SESSION['login'])); ?> !<br /></p>
    					<p><a href="../deconnexion.php">Déconnexion</a></p>
    				</aside>
    	</body>
    </html>
    Voilà, je suis désolée de réouvrir ainsi la discussion mais la je commence à véritablement m'arracher les cheveux...
    Merci

  11. #11
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Points : 479
    Points
    479
    Par défaut
    Bonjour.

    J'avoue ne pas trop comprendre ce que vous faites !...

    Au départ de la discussion :
    - vous aviez une page avec 'Login' et 'Mot_de_Passe', accompagnée d'une page membre.php (en projet)
    - je vous ai dit de corriger une instruction dans la page "Login + mdp" (C'EST TOUT ! )

    Ensuite vous postiez que vous aviez corrigé PARTOUT ???... (en précisant que cela fonctionnait)
    - Je vous rappelle que je n'avais parlé que d'une seule ligne !...

    Puis vous me soumettiez une nouvelle page avec 'Adresse-email' et '2 mots de passe', tjs accompagnée de votre page membre.php (en projet).
    - Vous souhaitez (en résumé), ajouter une fonctionnalité de confort pour vos membres inscrits.
    - je vous ai dit que j'allais voir (sans trop regarder votre code, je le reconnais...)

    M'étant aperçu un peu plus tard, que vous corrigiez "à la hache" (de manière irréfléchie), je vous ai proposé une page, qui vous montrait une autre façon de faire.
    - Helas mon code, n'a pas l'air de vous intéresser (et je ne suis pas sûr que vous l'ayiez testé).
    - En plus, vous me rebalancez le paquet de pages, en précisant que plus rien ne marche !...

    Ce que vous propose :
    - je vais tester vos 2 pages de mon côté (je vais simplement enlever les instructions SQL, et les ouvrir sous IE)
    - De votre côté :
    - 1 : Relisez bien l'article dont je vous ai communiqué le lien,
    - 2 : Si vous avez le temps, faites un test de la page que je vous ai donnée.

  12. #12
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Points : 479
    Points
    479
    Par défaut
    Voilà c'est fait !
    il y a une erreur de parenthèse dans la page avec les 2 passwords !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ( !empty($_POST['login'])  &&  !empty($_POST['pass_md5'])  && !empty($_POST['pass_confirm'])  ) {
    profitez-en pour corriger juste avant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ( !empty($_POST])  {     // Et puis c'est tout !...

Discussions similaires

  1. Valeurs de clés négatives très bizarres ...
    Par Christophe Charron dans le forum Requêtes
    Réponses: 15
    Dernier message: 30/03/2006, 10h42
  2. [JDBC] Erreur très bizarre dans ExecuteQuery
    Par boudou dans le forum JDBC
    Réponses: 6
    Dernier message: 17/03/2006, 18h33
  3. différence reload et location + pb très bizarre pour experts
    Par grinder59 dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 09/01/2006, 12h05
  4. Problème très bizarre avec COUNT
    Par Nomade95000 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 13/10/2005, 14h12
  5. Réponses: 4
    Dernier message: 28/09/2002, 00h00

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