Bonsoir,

J'ai un problème avec ce code :

  <script type="text/javascript">
    document.getElementById('CardCode').addEventListener('input', function (e) 
    {
         e.target.value = e.target.value.replace(/[^\dA-Z]/g, '').replace(/(.{4})/g, '$1 ').trim();
    }   
    );
    </script>


A première vue, CardCode n'est pas transmis à ma page Bob.php.

Le code fonctionne bien, j'ai bien mes points, mais au moment de l'envoi via le formulaire, ça coince.

Sur mon pc, ça fonctionne mais chez le client une fois sur 2 non. Je m'arrache les cheveux.

Merci de vos lumières. Smiley bawling
Modifié par Tintin75 (26 Feb 2018 - 10:18)
Hello Smiley smile

Alors là tu nous donnes le code qui met des espaces, et le html Smiley smile

a quel moment on voit le form ?? le php ?? enfin ce qui concerne ta question du coup Smiley smile
Hello,

Code de Jencal qui met les espaces

<script type="text/javascript">
    document.getElementById('CardCode').addEventListener('input', function (e) 
    {
         e.target.value = e.target.value.replace(/[^\dA-Z]/g, '').replace(/(.{4})/g, '$1 ').trim();
    }   
    );
    </script>


Je me pose la question. Le code des espaces je le déclare avant ou après ? Je l'avais mis juste après. Je pige pas, j'ai eu des commandes sans problèmes et d'autre ça coince. Le code n'a pas été touché. Etrange ..

Le form, est envoyé une fois que la carte a été vérifié pas l'algo. Si carte valide ça envoi autrement ça bloque. Le code fonctionne depuis + 1 mois aucun problème, satisfait à 100%. J'ai des soucis depuis que j'ai mais le code en js pour les espaces. Retour clients qui voulait des espaces pour vérifier plus facilement leur saisie. Ca fonctionne super bien chez moi, j'ai fait un tas de test, 0 problème. J'ai eu deux alertes ce week-end, ça va j'ai eu les commandes, fausse manip des 2 clients ? Bref, ça m'inquiète beaucoup, et il faut que je trouve la coquille.
Modifié par Tintin75 (26 Feb 2018 - 10:47)
le luhn fonctionne sur un code de carte bleu sans espace.
Pour ma part j'ai toujours fait avec 2 input
un caché qui contient le nuémro de cb sans espace pour les tests. et l'autre avec les espaces.
Sinon il faut que tu traites le num de cb juste avant le luhn pour ne pas avoir les espaces.
J'ai testé, luhn se fou des espaces, ça le gène pas.

J'ai mis une seconde version php, au cas ou le js serais bloqué. Donc double vérif du n° : 1ère en Js et seconde dans la foulée en php. Ca fonctionne nickel chrome.
Modifié par Tintin75 (26 Feb 2018 - 10:09)
J'ai trouve la coquille.

J'ai viré la double vérification en php, et ça fonctionne nickel chrome, avec le js de Jencal, j'ai mis l'appel avant l'algo, comme tu m'as dit. J'ai testé et le problème a disparu. Cas rotor de chez rotor, indétectable en test, certaine carte passait d'autre pas, en php avec les espaces. Un truc de fou. C'était la loterie donc difficile à prévoir.

La modif, fonctionne, je reçois des commandes Smiley cligne
Modifié par Tintin75 (26 Feb 2018 - 10:22)