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 :

La condition passe toujours par else


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Him
    Him est déconnecté
    Membre éclairé Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Par défaut La condition passe toujours par else
    Bonjour,

    Je viens de créer les deux pages suivantes
    register.php
    Code html : 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
    <div id="content">
    	<div class="contenu">Inscription sur le pannel de contrôle Video Image.<br />
    	( Nécéssite une validation du compte par l'administrateur )<br /><br />
    		<table width="100%"><form action="register-process.php" method="post"><tr><td width="50%">Nom :</td>
    					<td width="50%"><input type="text" name="user_name" /></td>
    				</tr>
    				<tr><td>Prénom :</td>
    					<td><input type="text" name="user_lastname" /></td>
    				</tr>
    				<tr><td>E-mail :</td>
    					<td><input type="text" name="user_email" /></td>
    				</tr>
    				<tr><td>Password :</td>
    					<td><input type="password" name="user_password" /></td>
    				</tr>
    				<tr>
    					<td colspan="2" align="right"><input type="submit" name="register" value="s'inscrire" />
    				</tr>
    			</form>				
    		</table>		
    	</div>
    </div>

    register-process.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
     
    <?php
    // chargement de la session
    session_start();
     
    // si la variable $_SESSION['logged'] n'éxiste pas(si le membre n'est pas authentifié)  on la crée ( on lui attribue une valeur par défaut)
    if (!isset($_SESSION['logged'])) $_SESSION['logged'] = false;
     
    // vérification si l'utilisateur est déconnecté.
    if ($_SESSION['logged'] === true)
    {
    // alors on le renvoie s'identifier... !
    header("Location: http://www.videoimage.be/vimag/commandes/index.php");
    // si en revanche il est identifié, alors on continue comme si de rien était ^^
    }
    ?>
    	<?php if (isset($_POST['register']))
    			{
    				if (!empty($_POST['user_name']) && !empty($_POST['user_lastname']) && !empty($_POST['user_password']) && !empty($_POST['user_email']))
    				{
    				// vérification des longueures de champ
    				if (strlen(trim($_POST['password'])) > 5)
    				{
    				// enregistrement dans la base de donnée du membre.
     
    				$user_name = htmlspecialchars($_POST['user_name']);
    				$user_lastname = htmlspecialchars($_POST['user_lastname']);
    				$user_email = htmlspecialchars($_POST['user_email']);
    				$user_password = htmlspecialchars($_POST['user_password']);
     
    					// hassage du mot de passe en md5 pour enregistrement
    					$user_password_hash = md5($user_password);
     
    					mysql_query("INSERT INTO vi_membres ('1', '" .$user_nom. "','". $user_lastname. "','". $user_password_hash ."','0', '". $user_email ."')") or die(mysql_error());
    					echo 'Vos information ont bien été introduites dans la base, & seront visible des qu\'un administrateur aura valider votre compte.';
    				}
    				else {
    					echo 'erreur, votre mot de passe est trop court';
    					}
    				}
    				echo 'Des champs sont restés vide';
    				}
    			else { 
    			echo '<b>Que fais tu ici ? Hein ? T\'as rien à faire la mon gamin, ton ip viens d\'être loggée, & ton parcours aussi... !</b><br /><br />Ces informations seront communiquées aux forces de l\'ordre si nécéssaire.';
    			}
    ?>
    J'ai lu & relu mon code, je vous avoue que je vois pas ce qui bloque... une bétises surement... mais quand j'exécute donc le script, ma page de résultat me renvoie toujours tous les messages d'erreur....

    erreur, votre mot de passe est trop courtDes champs sont restés vide
    De ce fait, j'ai retiré toutes les parcelles de codes que j'avais mis pour sécurisé le script, mais cela ne change rien

  2. #2
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Salut,

    je crois que tu t'es mangé sur le nom de ton champ mot de passe, c'est user_password et pas password...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (strlen(trim($_POST['user_password'])) > 5)
    Et pour le deuxième message il ne fait pas partie d'un else donc il est toujours affiché. Une indentation du code plus rigoureuse permet d'éviter ce genre de problème...

  3. #3
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    Moi j'aime bien le dernier echo

  4. #4
    Him
    Him est déconnecté
    Membre éclairé Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Par défaut
    Citation Envoyé par |PaRa-BoL
    Moi j'aime bien le dernier echo
    :p bah oui, mieux vaut prévenir que guerrir :p
    Surtout que ce pannel servira à la gestion d'une grosse boutique en ligne... !

    Merci JWhite, je regarde cela

  5. #5
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    Surtout que ce pannel servira à la gestion d'une grosse boutique en ligne... !
    Intéréssant, intéréssant... N'hésite pas à coller plus de sources en cas de problème

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. code qui ne passe par else
    Par kate59 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/05/2012, 11h34
  2. [MySQL] left outer join et concaténation dans un tableau passe par if mais pas par else ?
    Par SpaceFrog dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 08/04/2008, 16h09
  3. Demande de mot de passe repété par Interbase
    Par sondo dans le forum Bases de données
    Réponses: 6
    Dernier message: 14/07/2006, 11h28
  4. [PHPMailer] Conditions de réutilisation par les pros
    Par Thierry8 dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 23/11/2005, 19h42
  5. Modification mot de passe Linux par Dephi?
    Par nmathon dans le forum Langage
    Réponses: 1
    Dernier message: 12/08/2005, 21h04

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