8768 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai une fonction Js, qui me met en forme un n° de téléphone, coté client le n° s'affiche bien au bon format, sauf que lorsque je souhaite récupérer la variable $Phone dans le formulaire côté php, bah le n° n'est pas au bon format.

Avez-vous une idée de la cause ?

Merci d'avance pour vos retours.

document.addEventListener('DOMContentLoaded', function() {
  let phoneFields = document.querySelectorAll('[type="tel"]');
  let phoneFieldsLength = phoneFields.length;
  if (phoneFieldsLength > 0) {
    for (let i = 0; i < phoneFieldsLength; ++i) {
      phoneFields[i].addEventListener('keyup', function() {
        let phoneNumber = phoneFields[i].value;
        if (phoneNumber.substr(0, 2) === '00') {
          phoneNumber = phoneNumber.substr(0, 2).replace('00', '+');
        }       


On récupère le N° par $Phone en php dans le formulaire. Smiley decu
Modifié par Tintin75 (26 Jan 2018 - 14:08)
Modérateur
Sans code html associé...... Sinon, je t'invite à sortir ta carte bleue afin que je débite de la somme et j'essaie avec mes outils (voir le lien ci-dessus) de te trouver la meilleurs solutions adéquates.

À vue de nez, il manque l'attribut name et sa valeur associée à ton champs telephone (les 10 minutes gratuites de voyance).
Modifié par niuxe (25 Jan 2018 - 19:17)
Mille sabord de tonnerre de Brest, tu as raison, excuse moi pour cet oubli, j'étais tellement pris dans mon affaire que j'ai oublié l'essentiel.

Voici le code html de saisie

<div>
                    <label for="Telephone"><span class="underline">Téléphone</span>&nbsp;<p1>*</p1>&nbsp;: &nbsp;&nbsp;</label>
                    <input id="Telephone" name="Phone" placeholder="" type="tel" size="21" maxlength="20" pattern="[+0]{1}[0-9\.]{3,20}" autocomplete="tel" required>
                    <p2> De préférence votre téléphone <span class="bold underline">portable</span> pour la livraison.</p2><br>
                    <i>Pour les numéros hors France, n'oubliez pas l'indicatif (+xx ou 0xxx).</i>                                 
                      </div>


Le php de réception.

 $MailBody .= '<br><br>'.
                   'Votre nom : '.$NomClt.'<br>'.
                   'Votre prénom : '.$PrenomClt.'<br>'.
                   'Mon email : '.$EmailClt.'<br>'.
                   'Téléphone : '.$Phone.'<br>'.
                   '<br><br>';

Modifié par Tintin75 (25 Jan 2018 - 20:19)
Le php doit y'en avoir plus.. y'a pas que ça ... d'où vient $Phone, comment est-elle instancié ?
Code faux.

<?php	 
  session_start();

    function mail_validate(string $email = '') {
    $email = trim(preg_replace('/(<|&)(.*?)(>|;)/', ' ', addslashes($email)));
    if (preg_match('#^[\w.-]+@[\w.-]+\.[a-z]{2,6}$#i', $email)
    &&  filter_var($email, FILTER_VALIDATE_EMAIL)) {
      return $email;
    } else {
      return;
    }
 

Modifié par Tintin75 (26 Jan 2018 - 14:07)
Tu ne te serais pas emmêlé les pinceaux entre différentes version du fichier par hasard ?
Meilleure solution
Greg Lumière c'est énervé un coup et à remis les pendules à l'heure. Bref, j'ai pas pigé pourquoi ça fonctionne maintenant et pas avant. Je faisais sûrement une boulette avant, ou un fichier qui était pas à jour. Dossier résolu. Merci les gars. Smiley cligne