Tu as essayé de faire un var_dump() de ta variable $error ?
Bonsoir,
Voici une petite fonction que j'essai de mettre en place.
En testant avec mon formulaire je reçois bien les erreurs que je sort dans ma boucle
voici ce que je teste
j'affiche mes erreurs comme ceci <?= !empty($error) ? $error : '' ;?> hors dans mon var_dump je retourne bien les deux erreurs mais pas dans le return.
En gros je cherche a retourner toutes les erreurs de mes formulaire avec une fonction c'est plus pratique que de faire un foreach sur chaque page.
J'avoue ne pas trop connaitre les fonction :)
12 réponses
Bonjour,
Pourquoi
Et pas juste
Et tu peux nous montrer ta fonction errors ?
Car là, ta variable $error contient le retour du premier errors puis est écrasé avec le deuxième.
Après, ru peux essayer un truc du genre
Et la tu as un array avec toutes tes erreurs en lignes.
Bonsoir / jour
Alors pour répondre a exothermique oui j'ai fais un var_dump de ma variable error elle me sort une seul ligne !!
le var dump de $error string '<div class='notify notify-rouge'><div class='notify-box-content'><li>Vos mots de pass sont diférent</li></div></div>'
et le var dump dans ma fonction ou j'ai bien mes deux lignes
et pour répondre a eltharin pourquoi !empty($pass != $password_confirm) par ce que je vérifie aussi si c'est vide m'enfin ça sert a rien c'est juste un tique.
Et pour ma fonction error elle est dans mon premier méssage
le but est que ça m'affiche toute les erreurs qu'il y a dans le même formulaire, je presume que j'ai pas besoin de désigner une var error[ ] puisse que ma fonction le fait avec $messages .
Bonjour,
Le empty est lancé sur ta condition, en gros ca revoens à faire empty(false) si les valeurs sont differentes.
Donc pour moi non ca ne sert à rien, si tu veux dans le même temps tester les deux c'est
Concernant ta variable message, elle est locale à la fonction, elle ne va pas stocker les deux erreurs.
Ta fonction va prendre cette variable faire un foreach et generer du HTML (en li) pour ce tableau et le retourner.
Ce code HTML généré va alors dans la variable $error de ta fonction principale.
A la deuxième erreur, il recommence la fonction, avec un nouveau $message et génère à nouveau du code et le stocke dans la variable $error en ecrasant toute donnée précédente.
D'ailleurs si tu fais un var_dump après chaque $error =... Tu auras bien deux lignes.
Regarde le code que je t'ai donné au dessus et ajoute à la fin (a la place du return)
Tu devrais avoir deux lignes.
Initialise ton $error avant ($error = '';)
Puis à chaque erreur, tu fais un $error .= //appel à ta fonction
(en ajoutant le "point" avant le égal).
Bizarrement quand je fais un var_dump j'ai deux lignes, je retourne donc ce que je veut, mais quand je fais seleument le echo je n'en ai qu'une.
Merci kenor j'y suis presque, mes erreur ce chevauche.

Alors qu'elle devrait être dans la même div
c'est la même fonction sauf que dans mon traitement de formulaire j'ai fais ça
et comme c'est une div fixe
je ne vois pas trop comment réglé ça.
Retire
$return = "<div class='notify notify-rouge'><div class='notify-box-content'>";
et
$return .="</div></div>";
de ta fonction
Et ajoute-le à la mano après.
PS : div > li , ça n'existe pas
Cool ça fonctionne je n'y avais pas pensée merci
ça marche bien mais le soucis c'est que dans certain cas si on ne retourne pas d'erreur comme ici :
si la première erreur ne retourne rien alors j'ai undefined variable sur le email confirm tant que je ne retire pas le point.
Merci cette fois c'est bon j'avais oublier de l'initialiser en effet !!
C'est pour ça que j'avais dis
"Initialise ton $error avant ($error = '';)"
Soit, dans ton cas :