Bonjour, mon script inscription membres ne fonctionne pas et je ne trouve pas la soluce!

Notice: Undefined index: password in C:\wamp64\www\inscription.php on line 7


	<?php
	include_once 'config.php';
	if(isset($_POST['forminscription'])) {
	   $pseudo = htmlspecialchars($_POST['pseudo']);
	   $mail = htmlspecialchars($_POST['mail']);
	   $mail2 = htmlspecialchars($_POST['mail2']);
	   $pass_hache = password_hash($_POST['password'], PASSWORD_DEFAULT);
	   $sexe = htmlspecialchars($_POST['sexe']);
	   if(!empty($_POST['pseudo']) AND !empty($_POST['mail']) AND !empty($_POST['mail2']) AND !empty($_POST['password']) AND !empty($_POST['sexe'] )) {
	      $pseudolength = strlen($pseudo);
	      if($pseudolength <= 255) {
	         if($mail == $mail2) {
	            if(filter_var($mail, FILTER_VALIDATE_EMAIL)) {
	               $reqmail = $bdd->prepare("SELECT * FROM membres WHERE mail = ?");
	               $reqmail->execute(array($mail));
	               $mailexist = $reqmail->rowCount();
	               if($mailexist == 0) {
	               $req = $bdd->prepare('INSERT INTO membres(pseudo, password, mail, sexe, date_inscription) VALUES(:pseudo, [langue]assword, :mail, :sexe, CURDATE())');
          $req->execute(array(
         'pseudo' => $pseudo,
         'password' => $pass_hache,
         'sexe' => $sexe,
         'mail' => $mail));
	        	            $erreur = "Votre compte a bien été créé ! <br><br><a href=\"choix_avatar.php\">CHOISIR SON AVATAR</a>";
	                  } else {
	                     $erreur = "Vos mots de passes ne correspondent pas !";
	                  }
	               } else {
	                  $erreur = "Adresse mail déjà utilisée !";
	               }
	            } else {
	               $erreur = "Votre adresse mail n'est pas valide !";



	            }
	         } else {
	            $erreur = "Vos adresses mail ne correspondent pas !";
	         }
	      } else {
	         $erreur = "Votre pseudo ne doit pas dépasser 255 caractères !";
	      }
	   } else {
	      $erreur = "Tous les champs doivent être complétés !";
	   }

	?>[code=php]



][/code]
Bonjour, à priori le name associé au password dans le formulaire d'envoi n'est pas password, vérifies le formulaire ?
Cordialement
Non, le formulaire est OK...

 <h2>Inscription</h2>
	         <br /><br />
	         <form method="POST" action="">
	            <table>
	               <tr>
	                  <td align="right">
	                     <label for="pseudo">Pseudo :</label>
	                  </td>
	                  <td>
	                     <input type="text" placeholder="Votre pseudo" id="pseudo" name="pseudo" value="<?php if(isset($pseudo)) { echo $pseudo; } ?>" />
	                  </td>
	               </tr>
	               <tr>
	                  <td align="right">
	                     <label for="mail">Mail :</label>
	                  </td>
	                  <td>
	                     <input type="email" placeholder="Votre mail" id="mail" name="mail" value="<?php if(isset($mail)) { echo $mail; } ?>" />
	                  </td>
	               </tr>
	               <tr>
	                  <td align="right">
	                     <label for="mail2">Confirmation du mail :</label>
	                  </td>
	                  <td>
	                     <input type="email" placeholder="Confirmez votre mail" id="mail2" name="mail2" value="<?php if(isset($mail2)) { echo $mail2; } ?>" />
	                  </td>
	               </tr>
	               <tr>
	                  <td align="right">
	                     <label for="password">Mot de passe :</label>
	                  </td>
	                  <td>
	                     <input type="password" placeholder="Votre mot de passe" id="password" name="password" />
	                  </td>
	               </tr>

	                  <tr>
    				   <td align="right">
	                  <label for="sexe">Sexe du perso :</label>
						  </td><td>
					  <label><input type="radio" name="sexe" value="H" id="homme"/><label for="H">H</label>
                      <input type="radio" name="sexe" value="F" id="femme"/><label for="F">F</label>
	                  </td>
					   </tr>
					   </table>
				  <td align="center"></td>
	            <input type="submit" name="forminscription" value="Je m'inscris" />
	         </form>
et nouvelle erreur
Parse error: syntax error, unexpected 'if' (T_IF) in C:\wamp64\www\inscription.php on line 11
Curieusement, maintenant tu as une erreur plus loin ? à noter, $_POST['sexe'] ne sera pas envoyé si pas coché donc tu auras une erreur ligne 8 dans ce cas. pour ta nouvelle erreur est-ce que ton code a changé ?
Non, mais le pire c'est qu'il a fonctionné il y a qq jours Smiley murf . Pour $_POST['sexe'] , ce n'est pas un problème... revoilà le tout:

	<?php
	include_once 'config.php';
	if(isset($_POST['forminscription']))
	 {
	   $pseudo = htmlspecialchars($_POST['pseudo']);
	   $mail = htmlspecialchars($_POST['mail']);
	   $mail2 = htmlspecialchars($_POST['mail2']);
	   $pass_hache = password_hash($_POST['password'], PASSWORD_DEFAULT);
	   $sexe = htmlspecialchars($_POST['sexe']);
	   $date =
	   if(!empty($_POST['pseudo']) AND !empty($_POST['mail']) AND !empty($_POST['mail2']) AND !empty($_POST['password']) AND !empty($_POST['sexe'] ))
	    {
	      $pseudolength = strlen($pseudo);
	      if($pseudolength <= 255)
	       {
	         if($mail == $mail2)
	          {
	            if(filter_var($mail, FILTER_VALIDATE_EMAIL))
	             {
	               $reqmail = $bdd->prepare("SELECT * FROM membres WHERE mail = ?");
	               $reqmail->execute(array($mail));
	               $mailexist = $reqmail->rowCount();
	               if($mailexist == 0)
	                {
	               	$req = $bdd->prepare('INSERT INTO membres(pseudo, password, mail, sexe, date_inscription) VALUES(:pseudo, password, :mail, :sexe, CURDATE())');
	                        $req->execute(array(
         'pseudo' => $pseudo,
         'password' => $pass_hache,
         'sexe' => $sexe,
         'mail' => $mail));
	        	            $erreur = "Votre compte a bien été créé ! <br><br><a href=\"choix_avatar.php\">CHOISIR SON AVATAR</a>";
	                  }
	                  else
	                   {
	                     $erreur = "Vos mots de passes ne correspondent pas !";
	                  }
	               }
	                else
	                {
	                  $erreur = "Adresse mail déjà utilisée !";
	               }
	            }
	             else
	             {
	               $erreur = "Votre adresse mail n'est pas valide !";



	            }
	         }
	          else
	          {
	            $erreur = "Vos adresses mail ne correspondent pas !";
	         }
	      }
	       else
	       {
	         $erreur = "Votre pseudo ne doit pas dépasser 255 caractères !";
	      }
	   }
	    else {
	      $erreur = "Tous les champs doivent être complétés !";
	   }

	?>
	<html>
	   <head>


   </head>
	   <body>
	      <div align="center">
	         <h2>Inscription</h2>
	         <br /><br />
	         <form action="inscription.php" method="post">
	        	            <table>
	               <tr>
	                  <td align="right">
	                     <label for="pseudo">Pseudo :</label>
	                  </td>
	                  <td>
	                     <input type="text" placeholder="Votre pseudo" id="pseudo" name="pseudo" value="<?php if(isset($pseudo)) { echo $pseudo; } ?>" />
	                  </td>
	               </tr>
	               <tr>
	                  <td align="right">
	                     <label for="mail">Mail :</label>
	                  </td>
	                  <td>
	                     <input type="email" placeholder="Votre mail" id="mail" name="mail" value="<?php if(isset($mail)) { echo $mail; } ?>" />
	                  </td>
	               </tr>
	               <tr>
	                  <td align="right">
	                     <label for="mail2">Confirmation du mail :</label>
	                  </td>
	                  <td>
	                     <input type="email" placeholder="Confirmez votre mail" id="mail2" name="mail2" value="<?php if(isset($mail2)) { echo $mail2; } ?>" />
	                  </td>
	               </tr>
	               <tr>
	                  <td align="right">
	                     <label for="password">Mot de passe :</label>
	                  </td>
	                  <td>
	                     <input type="password" placeholder="Votre mot de passe" id="password" name="password" />
	                  </td>
	               </tr>

	                  <tr>
    				   <td align="right">
	                  <label for="sexe">Sexe du perso :</label>
						  </td><td>
					  <label><input type="radio" name="sexe" value="H" id="homme"/><label for="H">H</label>
                      <input type="radio" name="sexe" value="F" id="femme"/><label for="F">F</label>
	                  </td>
					   </tr>
					   </table>
				  <td align="center"></td>
	            <input type="submit" name="forminscription" value="Je m'inscris" />
	         </form>


	         <?php
	         if(isset($erreur)) {
	            echo '<font color="red">'.$erreur."</font>";
	         }
	         ?>
                </div>

Parse error: syntax error, unexpected 'if' (T_IF) in C:\wamp64\www\inscription.pn line 11
pas de htmlspecialchars pour les données à mettre dans un db
Mais seulement pour l'affichage

rowCount est à éviter car il ne donne pas toujours la bonne valeur
Re, $date = if(! ... ??? C'est pour le moins curieux. Par ailleurs, j'insiste as-tu testé en envoyant ton formulaire SANS renseigner le sexe ??
le test sans renseigner le sexe ne donne rien...
quelques erreurs corrigées?
J'ai viré le $date (if)
rajouté : devant password dans VALUES
rajouté : devant les variables dans le execute array

nouveau message erreur suivant
PDOException: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in C:\wamp64\www\inscription.php on line 30
J'ai retravaillé mon code, il y a juste 1 soucis d'accolade si quelqu'un peut pointer là ou cela coince, je n'y arrive pas!

<?php
	include_once 'config.php';
	if(isset($_POST['forminscription']))
	 {
	   $pseudo = ($_POST['pseudo']);
	   $mail = ($_POST['mail']);
	   $mail2 = ($_POST['mail2']);
	   $pass_hache = password_hash($_POST['password'], PASSWORD_DEFAULT);
	   $sexe = ($_POST['sexe']);

	   if(!empty($_POST['pseudo']) AND !empty($_POST['mail']) AND !empty($_POST['mail2']) AND !empty($_POST['password']) AND !empty($_POST['sexe'] ))
	    {
		/*Verifie si le pseudo est deja inscrit */
 $reponse = $bdd->prepare('SELECT pseudo FROM membres WHERE pseudo = [langue]seudo');
$reponse->execute(array(':pseudo' => $_POST['pseudo']));
$count = $reponse->rowCount();
if($count == 1)
{
// Pseudo déjà utilisé
echo 'Ce pseudo est déjà utilisé';
}
    }


else
{
// Sinon on procède a l'inscription

	      $req = $bdd->prepare('INSERT INTO membres(pseudo, mail, password, sexe, date_inscription) VALUES(:pseudo, :mail, [langue]assword, :sexe, :CURDATE())');
	      $req->execute(array(
         ':pseudo' => $pseudo,
         ':password' => $pass_hache,
         ':sexe' => $sexe,
         ':mail' => $mail));
	        	            $erreur = "Votre compte a bien été créé ! <br><br>";
	                  }
	             }
	         else
	                   {
	                     $erreur = "Vos mots de passes ne correspondent pas !";
	                  }

	               // else
	                {
	                  $erreur = "Adresse mail déjà utilisée !";
	            }
	             else
	             {
	               $erreur = "Votre adresse mail n'est pas valide !";
	           }
	          else
	          {
	            $erreur = "Vos adresses mail ne correspondent pas !";
	        }
	       else
	       {
	         $erreur = "Votre pseudo ne doit pas dépasser 255 caractères !";
	     }
	    else {
	      $erreur = "Tous les champs doivent être complétés !";
	 }

?>
Bien, c'est pas encore super mais ça avance un peu. En fait, l'inscrpition en DB fonctionne jusque là:

// Sinon on procede a l'inscription
	      $req = $bdd->prepare('INSERT INTO membres(pseudo, mail, password, sexe, date_inscription) VALUES(:pseudo, :mail, [langue]assword, :sexe, NOW())');
	      $req->execute(array(
         ':pseudo' => $pseudo,
         ':password' => $pass_hache,
         ':sexe' => $sexe,
         ':mail' => $mail));
	        	         //   $erreur = "Votre compte a bien été créé ! <br><br>";
	        	             header("location: page_test.html");
                       }
     }
     }
?>

Mais toutes les conditions liées aux else ne sont plus prises en compte Smiley ohwell
Et dès que je remets ce bloc j'ai un parse error ou autre erreur du meme genre.
else {
$erreur = "Adresse mail déjà utilisée !";
}
else {
$erreur = "Votre adresse mail n'est pas valide !";
}
else {
$erreur = "Vos adresses mail ne correspondent pas !";
}

else {
$erreur = "Tous les champs doivent être complétés !";
}