Une conditions ne fait pas effet
yann1123
Messages postés
109
Statut
Membre
-
yann1123 Messages postés 109 Statut Membre -
yann1123 Messages postés 109 Statut Membre -
Bonjour, je suis entrain de faire des vérifications en php sur mon formulaire d'inscriptions, Donc la fonctions marche très bien seulement ya juste une seule conditions qui ne marche pas. Donc en français c'est "si la longuer de la chaine de caractère ^$mail est inferieur a 3 faire $error .="Veuillez re-saisir votre e-mail". Seulement dans tout les cas cela me renvoie $error. Je vous poste un bout de mon code:
Merci d'avance
Yann
function verification()
{
$mail= $_POST['mail'];
if(strlen($password)<6 || $password!=$password2)
{
$error.="Votre mot de passe n'est pas valide<br />";
}
if(strlen($mail)<=3)
{
$error.="Veulliez re-saisir votre mail.<br />";
}
if(!empty($error))
{
print($error);
return false;
exit(0);
}
return true;
}
Merci d'avance
Yann
A voir également:
- Une conditions ne fait pas effet
- Effet miroir word - Guide
- Effet miroir photo - Accueil - Photo
- Je ne suis pas un robot confidentialité - conditions - Forum Facebook
- Excel reporter des données sur une autre feuille avec conditions ✓ - Forum Excel
- Mise en forme conditionnelle excel plusieurs conditions - Guide
12 réponses
c'est normal tu essayes de récupérer une variable POST dans une fonction
or tu ne peux pas, pour bien faire il faudrait que tu passes ta variable à l'appelle de ta fonction en parametre :
lors de l'appel de ta fonction tu fais verification($_POST['mail']);
et dans le code que tu as mis plus haut, tu remplaces ta déclaration de fonction par function verification($mail)
tu n'aurais plus alors qu'à utiliser directement $mail
or tu ne peux pas, pour bien faire il faudrait que tu passes ta variable à l'appelle de ta fonction en parametre :
lors de l'appel de ta fonction tu fais verification($_POST['mail']);
et dans le code que tu as mis plus haut, tu remplaces ta déclaration de fonction par function verification($mail)
tu n'aurais plus alors qu'à utiliser directement $mail
merci donc sa devrait donner sa :
verification($_POST['nom'],$_POST['prenom'],$_POST['sexe'],$_POST['pseudo'],$_POST['pass'],$_POST['confirmPass'],$mail= $_POST['mail'])En fait on peut faire sa ?
non
dans ton appel de fonction tu mets:(tu passes l'array $_POST en argument à la fonction)
et ta fonction devient:
dans ton appel de fonction tu mets:(tu passes l'array $_POST en argument à la fonction)
verification($_POST)
et ta fonction devient:
function verification(argument_array)
{
$error=""; //initialisation a vide
//recup de toutes les variables a tester
$mail= argument_array['mail'];
$password=argument_array['pass'];
$password2=argument_array['confirmPass'];
if(strlen($password)<6 || $password!=$password2)
{
$error.="Votre mot de passe n'est pas valide<br />";
}
if(strlen($mail)<=3)
{
$error.="Veulliez re-saisir votre mail.<br />";
}
if(!empty($error))
{
print($error);
return false;
exit(0);
}
return true;
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
sa marche pas non plus mais cette fois j'ai une fenêtre blanche et un code source dans mozzila firefox absent aussi.
Voici mon ancienne version de ma fonction tout fonctionne sauf la conditions mail:
Je vous postent aussi mon formulaire:
function verification()
{
//Les variables locales
$user_is_defined="";
$nom= $_POST['nom'];
$prenom= $_POST['prenom'];
$sexe= $_POST['sexe'];
$user= $_POST['pseudo'];
$password= $_POST['pass'];
$password2= $_POST['confirmPass'];
$mail= $_POST['mail'];
$error= "";
$insert_in_db = "";
//Creatioon des structures conditionnelles
if(strlen($nom)<=3)
{
$error.="Veulliez re-saisir votre nom.<br />";
}
if(strlen($prenom)<=3)
{
$error.="Veuillez remplir votre prenom.<br />";
}
if ($sexe==null)
{
$error.="Veuillez selectionner votre sexe<br />";
}
if(strlen($user)<=4 || $user_is_defined==true)
{
$error.="Veuillez rentrer un pseudo plus long que 4 lettres<br />";
}
if($user==$user_is_defined)
{
$error.="votre nom d'utilisateur est deja pris<br />";
}
if(strlen($password)<6 || $password!=$password2)
{
$error.="Votre mot de passe n'est pas valide<br />";
}
if(strlen($mail)<=3)
{
$error.="Veulliez re-saisir votre mail.<br />";
}
if(!empty($error))
{
print($error);
return false;
exit(0);
}
return true;
}
Je vous postent aussi mon formulaire:
<form action="transfer_subscribers.php" enctype="multipart/form-data" method="post" name="form" onSubmit="verif();return true;"> <label><p>E-mail: </label><input type="text" value="" name="email" id="email" />*</p> <label> <p>Mot de passe: </label><input type="password" value="" name="pass" id="pass" /> * <i><small>minimum 6 carctères</small></i></p> <label><p>Confirmé votre mot de passe: </label> <input type="password" value="" id="confirmpass" name="confirmPass" /> *</p>
name="email"
donc $_POST["email"] et pas $_POST['mail'];
(dsl pour le coup des variables POST dans les fonction, j'étais persuadé qu'on pouvait pas les utiliser directement ^^)
donc $_POST["email"] et pas $_POST['mail'];
(dsl pour le coup des variables POST dans les fonction, j'étais persuadé qu'on pouvait pas les utiliser directement ^^)
Ha oui pardon le $ est passé à la trappe
comme dit plus haut pour utiliser des variables dans une fonction, il faut
soit que ces variables soient déclarées globales
soit passées en argument à la fonction
sinon c'est comme si on te demandait de resoudre un problème sans te donner le texte
alors:
comme dit plus haut pour utiliser des variables dans une fonction, il faut
soit que ces variables soient déclarées globales
soit passées en argument à la fonction
sinon c'est comme si on te demandait de resoudre un problème sans te donner le texte
alors:
function verification($_POST)
{
//Les variables locales
$user_is_defined="";
$nom= $_POST['nom'];
$prenom= $_POST['prenom'];
$sexe= $_POST['sexe'];
$user= $_POST['pseudo'];
$password= $_POST['pass'];
$password2= $_POST['confirmPass'];
$mail= $_POST['mail'];
$error= "";
$insert_in_db = "";
//Creatioon des structures conditionnelles
if(strlen($nom)<=3)
{
$error.="Veulliez re-saisir votre nom.<br />";
}
if(strlen($prenom)<=3)
{
$error.="Veuillez remplir votre prenom.<br />";
}
if ($sexe==null)
{
$error.="Veuillez selectionner votre sexe<br />";
}
if(strlen($user)<=4 || $user_is_defined==true) //et cette variable $user_is_defined elle viens d'ou
{
$error.="Veuillez rentrer un pseudo plus long que 4 lettres<br />";
}
if($user==$user_is_defined)
{
$error.="votre nom d'utilisateur est deja pris<br />";
}
if(strlen($password)<6 || $password!=$password2)
{
$error.="Votre mot de passe n'est pas valide<br />";
}
if(strlen($mail)<=3)
{
$error.="Veulliez re-saisir votre mail.<br />";
}
if(!empty($error))
{
print($error);
return false;
exit(0);
}
return true;
}
?>
et dans transfer_subscribers.php
tu dois avoir:
verification($_POST); //appel de la fonction
oui en fait c'est parce que j'ai fait des modifs sur le formulaire et l'ancienne fonctions a été sauvegardé dans un autre fichier mais sinon le nom était mail
mais maintenant sa marche c bizar :-) ...Merci les gars :D et désoler d'avoir pris un peu de votre temps juste a cause d'un e qui manquait :D
A+
Yann
mais maintenant sa marche c bizar :-) ...Merci les gars :D et désoler d'avoir pris un peu de votre temps juste a cause d'un e qui manquait :D
A+
Yann
"comme dit plus haut pour utiliser des variables dans une fonction, il faut
soit que ces variables soient déclarées globales "
Ha mais oui je suis bête
le tableau $_POST est une variable globale automatique, voilà pourquoi le reste fonctionne ^^
soit que ces variables soient déclarées globales "
Ha mais oui je suis bête
le tableau $_POST est une variable globale automatique, voilà pourquoi le reste fonctionne ^^