tooms2028
Messages postés9Date d'inscriptionjeudi 28 octobre 2004StatutMembreDernière intervention11 mars 2005
-
8 mars 2005 à 20:45
tucsoufle
Messages postés1250Date d'inscriptionmardi 15 juillet 2003StatutMembreDernière intervention30 septembre 2007
-
10 mars 2005 à 15:47
<!--StartFragment --> salut,
J'ai un formulaire d inscription avec plusieur if imbriqués qui envoi un mail de validation avec url integré. Mon problème c est que je suis completement perdu dans les conditions. Je comprend quand il sagit d un if et d un else mais quand il y en a plusieur je ne sais pas comment m y prendre avec les accolades.
<!--StartFragment --> quand:
-j essaye deux mots de passe differents ca envoi quand meme le mail
- je clique sur le boutton valider du formulaire en laissant les champs vides, mes variables ne sont pas defini au niveau de la requette
- j essaye avec deux mots de passe identiques mais avec caracteres non autorisés, ca envoi quand meme le mail (pour le pseudo ca marche)
J'aimerais eviter cela.
merci d avance
if (sizeof($_POST))
{
if (isset($_POST['pseudo']) and isset($_POST['password']) and isset($_POST['confirm_password']) and isset($_POST['mail']) and isset($_POST['ville']) and isset($_POST['sexe']) and isset($_POST['jours']) and isset($_POST['mois']) and isset($_POST['annees']))
{
$pseudo = $_POST['pseudo'];
$password = $_POST['password'];
$confirm_password = $_POST['confirm_password'];
$mail = $_POST['mail'];
$ville = $_POST['ville'];
$sexe = $_POST['sexe'];
$date = $_POST['jours'] ."/". $_POST['mois'] ."/". $_POST['annees'];
}
else
{
echo "non remplis";
}
if ($password != $confirm_password)
{
echo "bad pasword";
}
if (!preg_match('`^(\w{4,15})$`', $pseudo) and preg_match('`^(\w{4,15})$`', $password) and preg_match('`^(\w{4,15})$`', $confirm_password ))
echo "mauvais caracteres";
else
{
mysql_connect("localhost", "root", "");
mysql_select_db("test");
mysql_query("INSERT INTO elove VALUES('', '$clef', '$pseudo', '$password', '$mail', '$ville', '$sexe', '$date')")or die(mysql_error()); $reponse_id mysql_query("SELECT id FROM elove WHERE pseudo '$pseudo'")or die(mysql_error());
mysql_close();
if (isset($_POST['pseudo']) and isset($_POST['password']) and
isset($_POST['confirm_password']) and isset($_POST['mail']) and
isset($_POST['ville']) and isset($_POST['sexe']) and
tooms2028
Messages postés9Date d'inscriptionjeudi 28 octobre 2004StatutMembreDernière intervention11 mars 2005 10 mars 2005 à 14:03
Salut merci pour ton aide
Mais il reste un petit probleme, quand je tape deux mots de passe
identiques avec caracteres non autorisés ca envoi quand meme le mail de
validation.le problème vient du if ($password != $confirm_password). toto*_* et toto*_* sont identiques donc forcement ca envoi le mail Par contre si j essaye un pseudo avec des caracteres non autorisés l echo affiche "caracteres non autorisés" bon la c est cool.
tooms2028
Messages postés9Date d'inscriptionjeudi 28 octobre 2004StatutMembreDernière intervention11 mars 2005 10 mars 2005 à 15:44
encore merci c est bien ca
Le probleme est resolu
J ai rajouté les ! mais j'aimerai savoir un truc parceque je viens de tester avec les and ca ne fonctionnait pas alors qu avec les || la ca marche nikel. A ma connaissance || et and c est la meme chose ?
Vous n’avez pas trouvé la réponse que vous recherchez ?