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 :

page blanche apres submit lorsque password est vide


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut page blanche apres submit lorsque password est vide
    Bonjour a tous,

    j'essaie de solutionner un petit probleme de script pour la gestion de mon mot de passe
    en fait ce que je veux faire est:

    -si le mot de passe est empli, on execute le controle du nombre caractères
    - sinon, on ne fait rien


    alors j'ai fais ceci mais j'obtiens une page blanche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    if (isset($_POST['password']) && !empty($_POST['password']) && strlen($_POST['password'])< 6) {
     
                $erreur = true;
                $msgErreur2[] = 'ERREUR ! Votre mot de passe doit comporter au moins 6 caracteres';
    	}
    ?>
    merci pour vos réponses
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait!
    Mark Twain.

  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
    Le script que tu nous montres n'affiche rien.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut
    affiche page blanche

    et ceci aussi mais je comprends pas encore pourquoi


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
     
    if (isset($_POST['password'])&& !empty($_POST['password'])) {
                $password = $_POST['password'];
     
    	 if (strlen($_POST['password'])< 6) {
    	    $erreur = true;
                $msgErreur2[] = 'ERREUR ! Votre mot de passe doit comporter au moins 6 caracteres';
    		}
    				}else{
    					$_POST['password'] = '';
    			}
    ?>
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait!
    Mark Twain.

  4. #4
    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
    mais tu voudrais que ca affiche quoi ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut
    ben, si le champ password est vide, je ne veux rien afficher, je voudrais tout simplement que le script continue a la prochaine instruction
    mais la j'ai une page blanche

    -si le mot de passe est empli, on execute le controle du nombre caractères
    - sinon, on ne fait rien et on continue a la prochaine instruction
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait!
    Mark Twain.

  6. #6
    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
    Si tu mets des echos avant, apres et dedans, tu les vois ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut
    quand je fais le test avec un mot de passe rempli, y a aucun probleme avec le script

    quand je fais le test sans mot de passe, j'ai une page blanche.
    alors peux pas y avoir de echo, mot de passe est vide

    il s'agit d'un formulaire de mise a jour auquel on peut si on veut changer le mot de passe mais pas obligatoire
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait!
    Mark Twain.

  8. #8
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    if (isset($_POST['password']) && !empty($_POST['password']) && strlen($_POST['password'])< 6) {
     
                $erreur = true;
                $msgErreur2[] = 'ERREUR ! Votre mot de passe doit comporter au moins 6 caracteres';
    	}
    ?>
    cas ou ton mdp et bon y a pas de traitement?
    s'il est faut tu remplis $msgErreur2 mais tu fait rien avec derriere alors c'est normal que t'es une page blanche.
    si encore à la rigueur tu mettait une redirection avec ton message d'erreur.

    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
     
    <?php
     
    if (isset($_POST['password'])&& !empty($_POST['password'])) {
                $password = $_POST['password'];
     
    	 if (strlen($_POST['password'])< 6) 
             {
    	    $erreur = true;
                $msgErreur2[] = 'ERREUR ! Votre mot de passe doit comporter au moins 6 caracteres';
    	 }
    				}else{
    					$_POST['password'] = '';
    			}
    ?>
    idem si la variable existe pas tu la met à blanc si elle existe tu test ça taille si ça va pas tu renseigne ta vairable erreur et tu fait rien d'autre donc page blanche.

    faudrait expliquer ce que tu souhaite réelement faire non?
    petite question, pourquoi tu vérifie pas à la validation ton mdp avec javascript si la taille est bonne plutôt que de le faire une fois validé?
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  9. #9
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut
    i
    dem si la variable existe pas tu la met à blanc si elle existe tu test ça taille si ça va pas tu renseigne ta vairable erreur et tu fait rien d'autre donc page blanche.
    je regrette mais ce n'est pas le probleme parce que mon script fonctionne tres bien dans la page modif_passager mais pas dans la page modif_voiturier

    ce qui est tres bizarre,

    j'ai passé toute la soirée a vérifier le script des 2 pages et ils sont complètement identiques.

    j'ai seulement des $_post supplémentaires sur la page modif_voiturier

    d'ailleurs j'ai repris le script que j'utilise sur la page modif_passager et je l'ai mis sur la page modif_voiturier

    c,est celui que j'utilise présentement

    sur la page modif_passager le script fonctionne tres bien lorsque $password est vide aussi bien que quand il est rempli

    sur la page modif_voiturier
    ca fonctionne seulement si modif_passager est rempli mais pas quand il est vide

    j'utilise le meme script update pour les 2 pages
    Voici le script qui marche sur la page modif_passager et pas sur la page modif_voiturier

    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
    <?php
     
    if (isset($_POST['password']) && !empty($_POST['password'])) {
                $password = $_POST['password'];
     
     
    		if (strlen($_POST['password'])< 6) {
    				$erreur = true;
    				$msgErreur2[] = 'ERREUR ! Votre mot de passe doit comporter au moins 6 caracteres';
    			}
     
    		if (isset($_POST['confirm_password']) && !empty($_POST['confirm_password'])) {
                $confirm_password = $_POST['confirm_password'];	
            }
     
    		if ($_POST['password'] != $_POST['confirm_password']){
    			$erreur = true;
                $msgErreur2[] = ' ERREUR - Les 2 mots de passe ne concordent pas! ';
    		}	
     
    	}
    		else {
    			$confirm_password = '';
     
    		}
    ?>
    et finalement j'utilise le me script update

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (isset($password)) {
     
    			$sql = "UPDATE membres set password = md5('" . $password . "') WHERE id = " . $_SESSION['membreID'];
    			mysql_query($sql) or die(mysql_error());
      }
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait!
    Mark Twain.

  10. #10
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    alors j'ai fais ceci mais j'obtiens une page blanche
    merci de lire attentivement les réponses données ci-dessus.

    C'est normal que tu aies une page blanche puisqu'à aucun moment tu ne dis à PHP d'écrire quoi que ce soit. Tu ne fais que stocker des textes dans des variables.

    Si tu veux afficher quelque-chose, utilises echo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo 'ERREUR ! Votre mot de passe doit comporter au moins 6 caracteres';
    ou à un moment il faudrait que tu fasses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo '<p class="err">'.implode('</p><p class="err">', $msgErreur2).'</p>';

  11. #11
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut
    merci pour votre intetet et votre aide


    Si tu veux afficher quelque-chose, utilises echo :
    bien sur, je le fais déja car ca fait partie d'un script de gestion des erreurs
    et tous les autres contoles fonctionnent.

    Excusez-moi mais je n'avais pas bien saisi la remarque.
    pour afficher les erreurs j'utilise ceci:

    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
    	<?php
    //  affiche les erreurs éventuelles
    if (isset($msgErreur) && is_array($msgErreur) && !empty($msgErreur)) {
    	foreach($msgErreur as $erreur_img) {
     
    	  echo '<p>'.$erreur_img.'</p>';
     
        }
    }
    if (isset($msgErreur2) && is_array($msgErreur2) && !empty($msgErreur2))  {
    	foreach($msgErreur2 as $erreur) {
            echo '<p>'.$erreur.'</p>';
    	}
    }
    ?>

    pour executer le update en ce qui concerne le password, j'utilise ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (isset($password)) {
     
    			$sql = "UPDATE membres set password = md5('" . $password . "') WHERE id = " . $_SESSION['membreID'];
    			mysql_query($sql) or die(mysql_error());
      }
    et pour le controle des erreurs , j'utilise ceci:

    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
    <?php
     
    if (isset($_POST['password']) && !empty($_POST['password'])) {
                $password = $_POST['password'];
     
     
    		if (strlen($_POST['password'])< 6) {
    				$erreur = true;
    				$msgErreur2[] = 'ERREUR ! Votre mot de passe doit comporter au moins 6 caracteres';
    			}
     
    		if (isset($_POST['confirm_password']) && !empty($_POST['confirm_password'])) {
                $confirm_password = $_POST['confirm_password'];	
            }
     
    		if ($_POST['password'] != $_POST['confirm_password']){
    			$erreur = true;
                $msgErreur2[] = ' ERREUR - Les 2 mots de passe ne concordent pas! ';
    		}	
     
    	}
    		else {
    			$confirm_password = '';
     
    		}
    ?>


    alors pour résumer:

    j'utilise ces même scripts sur 2 pages différentes
    modif_passager et modif_voiturier

    sur la page modif_passager tout fonctionne bien mais pas sur la page modif_voiturier
    ca fonctionne pas SEULEMENT LORSQUE password est vide!!
    Les echo message d'erreurs fonctionnent
    Ca fonctionne pas sur la page Modif_voiturier lorsque on veut faire une modification sans modifier son mot de passe. (une page blanche apparait apres submit) mais pourtant ca fonctionne tres bien sur la page modif_passager

    Ils ne savaient pas que c'était impossible, alors ils l'ont fait!
    Mark Twain.

  12. #12
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut
    Ouf!!! j'ai enfin résolu ce probleme,

    l'erreur n'était pas dans le code que je mettais plus haut

    en fait, c'est une stupide déclaration de variable

    $password = mysql_real_escape_string($_POST['password'] or die mysql error());

    Ce qui faisait que lorsque $password était vide bien, Y avait une erreur!!
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait!
    Mark Twain.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 29/05/2007, 12h07
  2. Page blanche après un environnement multicolonne
    Par michaeljeru dans le forum Mise en forme
    Réponses: 4
    Dernier message: 03/05/2007, 12h44
  3. Réponses: 8
    Dernier message: 01/03/2007, 22h32
  4. [VBA-E] masquer une combo lorsqu'elle est vide
    Par lio62 dans le forum Macros et VBA Excel
    Réponses: 46
    Dernier message: 04/02/2007, 21h16
  5. Génération d'une page blanche après la première page
    Par le_tisseur dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 08/09/2006, 16h19

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