8768 sujets
Développement web côté serveur, CMS
J'ai essayé avec wordwrap, mais je n'y arrive pas. Ca serait l'idéal, vue que ça fonctionne très bien sur mon autre site.
Je bloque ici :
Sur l'autre site, j'utilise la commande :
Car j'ai la variable $Phone, mais dans mon cas c'est différent. C'est un mode que j'aime pas trop mais, j'ai pas trouvé mieux pour ce site.
Modifié par Tintin75 (18 Aug 2016 - 17:18)
Je bloque ici :
$fields = array('name' => 'Nom', 'surname' => 'Prénom', 'phone' => 'Téléphone', 'email' => 'Email', 'message' => 'Message');
Sur l'autre site, j'utilise la commande :
$Phone = wordwrap($Phone, 2, '.', true);
Car j'ai la variable $Phone, mais dans mon cas c'est différent. C'est un mode que j'aime pas trop mais, j'ai pas trouvé mieux pour ce site.
Modifié par Tintin75 (18 Aug 2016 - 17:18)
LOL
pou rle téléphone
sinon voir la validation via html5 ici par exemple :
http://www.alsacreations.com/tuto/lire/1391-formulaire-html5-placeholder-required-pattern.html
pou rle téléphone
<input type="tel" name="phone" placeholder="Ex: 01.02.03.04.05" required pattern="(^(([0-9]{2})\.){4}[0-9]{2}$)"
sinon voir la validation via html5 ici par exemple :
http://www.alsacreations.com/tuto/lire/1391-formulaire-html5-placeholder-required-pattern.html
pchlj a écrit :
et pour ton code :
foreach ($_POST as $key => $value) { if (isset($fields[$key])) { if($key == "phone") {$value= wordwrap($value, 2, '.', true);} $emailHtml .= "<u>$fields[$key]</u> : $value" . "<br><br>"; } }
Je ne suis pas un spécialiste PHP mais il me semble que le code ci-dessus devrait être complété avec une fonction trim() au cas où :
- le masque de saisie (pattern) fourni pour le champ de formulaire ne serait pas pris en compte par le navigateur web
- l'utilisateur aurait eu la malencontreuse idée d'ajouter des espaces avant et/ou après la valeur saisie (ils sont tellement taquins, les bougres...).
Histoire de me "faire la main" et voir si je fantasmais, j'ai donc testé ce petit bout de code :
$value = ' 0987653329 ';
echo 'Value [' . wordwrap($value,2,'.',true) . '] - ';
echo 'Value [' . wordwrap(trim($value),2,'.',true) . ']';
Voici le résultat obtenu en test sur Sybox ;
Value [ 0.98.76.53.32.9 . ] - Value [09.87.65.33.29]
En Java, j'ai pris l'habitude de systématiquement appliquer un trim() à toute chaîne de caractères, vu le nombre de fois où j'ai entendu quelqu'un se plaindre qu'une comparaison de valeur attendue à "" rendait un résultat faux.
Le problème avec les caractères " ", c'est qu'on ne les voit pas et pourtant ils comptent (M. Lapalisse dans toute sa splendeur).
Pour être complet, un test devrait s'assurer que la valeur reçue ne comporte que des chiffres (application du pattern côté serveur en sus de celui initialement fourni au formulaire)...
Modifié par sepecat (18 Aug 2016 - 22:22)