Problème champs vide

Résolu
Problème champs vide

Bonjour chez forumeur/foreumeuse lol,

Voila j'ai un souci avec les champs vide, il sont vide mes au lieux de faire ma condition il la detourne voila les code.
html:
<h1>Modifier son profil</h1>

<form method="post" action="modifpassok.php">
<fieldset><legend>Changé son mot de passe</legend>
<label for="password">Nouveau mot de Passe :</label>
<input type="password" name="password" id="password" value='' /><br />
<label for="confirm">Confirmer le mot de passe :</label>
<input type="password" name="confirm" id="confirm" value='' />
<p>
<input type="submit" value="Modifier son mot de passe" />
</p>
</fieldset>
</form>


php:

//Maintenant, on se connecte à la base de données
include("includes/identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);

$pass = md5($_POST['password']);
$confirm = md5($_POST['confirm']);

if ($pass != $confirm)
{
$erreur_confirm = "Votre mot de passe et votre confirmation diffèrent";
echo $mdp_confirm;
}
elseif (empty($confirm) && empty($pass))
{
$mdp_erreur = "Votre mot de passe et votre confirmation sont vides";
echo $mdp_erreur;
}
else
{

echo'<h1>Modification terminée</h1>';
echo'<p>Votre mot de passe a été modifié avec succès !</p>';
echo'<p>Cliquez <a href="./index.php">ici</a>
pour revenir à la page d accueil</p>';

mysql_query("UPDATE forum_membres SET membre_mdp = '".$pass."' WHERE membre_id = '".intval($_SESSION['id'])."'") or die (mysql_error());
}




Voila les codes en esperant que vous pourrais m'aidé a ce problème qui mes jamais arrivé.
--
Pourquoi Aimé une fille ? Qu'elle bonheure peut elle m'aporté? La joie de son amour, ces sentiment, sa tristesse, sa haine

codeur : php/MySql, html, debutant dans le C/C++

2 réponses

  1. merci beaucoup
    j'ai fait comme sa sa fonctionne nikel ^^
    if(empty($_POST['password']) || empty($_POST['password'])) 
    {	
        echo 'Au moins un champ est resté vide.';
    }		
    
    	elseif ($_POST['password'] != $_POST['confirm']) {
    		$mdp_confirm = "Votre mot de passe et votre confirmation diffèrent";
    		echo $mdp_confirm;
    	} 
    	else 
    	{
    		echo'<h1>Modification terminée</h1>';
    		echo'<p>Votre mot de passe a été modifié avec succès !</p>';
    		echo'<p>Cliquez <a href="./index.php">ici</a>
    		pour revenir à la page d accueil</p>';
    
    		$pass = md5($_POST['password']); 
    		mysql_query("UPDATE forum_membres SET membre_mdp = '".$pass."' WHERE membre_id = '".intval($_SESSION['id'])."'") or die (mysql_error());
    	}
    
    	
    ?>	
    
    1. Ta vérification si les champs sont vide sur la valeur md5 ne sert à rien : même une chaine vide aura une valeur md5, donc la chaine n'est pas vide.

      Essaye avec ça :
      <?php
      //Maintenant, on se connecte à la base de données
      include("includes/identifiants.php");
      mysql_connect($adresse, $nom, $motdepasse);
      mysql_select_db($database);
      
      if(empty($_POST['password']) || empty($_POST['password'])) {
      	$pass = md5($_POST['password']);
      	$confirm = md5($_POST['confirm']);
      
      	if ($pass != $confirm) {
      		$erreur_confirm = "Votre mot de passe et votre confirmation diffèrent";
      		echo $mdp_confirm;
      	} else {
      		echo'<h1>Modification terminée</h1>';
      		echo'<p>Votre mot de passe a été modifié avec succès !</p>';
      		echo'<p>Cliquez <a href="./index.php">ici</a>
      		pour revenir à la page d accueil</p>';
      
      		mysql_query("UPDATE forum_membres SET membre_mdp = '".$pass."' WHERE membre_id = '".intval($_SESSION['id'])."'") or die (mysql_error());
      	}
      } else {
      	echo 'Au moins un champ est resté vide.';
      }
      ?>