19 Novembre 2017 à 20:38:54

Auteur Sujet: separer les chiffres dans un formulaire  (Lu 2343 fois)

alain54100

  • Nouveau membre
  • *
  • Messages: 22
  • Points gagnés: 0
    • Voir le profil
    • pizza4saisons
separer les chiffres dans un formulaire
« le: 02 Août 2007 à 11:36:09 »
bonjour a tous

voila  j ai un formulaire d inscription en php    et dans la case "telephone" j aimerai separer les chiffre   

actuellement on tape sont numeros de tel  comme cela   0202142525

j aimerai qui soit taper comme cela  mais sans que la personne qui s inscrit ne tape les point  03.25.36.36.35

quelle et la solution  merci
« Modifié: 02 Août 2007 à 12:19:23 par alain54100 »

Damien

  • Rédacteur Admin
  • Intarissable
  • *****
  • Messages: 2988
  • Points gagnés: 7
    • Voir le profil
    • aide informatique
Re : separer les chiffres dans un formulaire
« Réponse #1 le: 02 Août 2007 à 12:27:43 »
Bonjour,

La solution est de se faire une petite fonction qui va formater le numéro de téléphone.
Vous avez de la chance, je vous le fais vite fait ;)

<?php
function Format_telephone($numero_tel)
{
// ne garde que les chiffres
$numero_tel ereg_replace("[^[:digit:]]""",$numero_tel);
$numero_tel trim($numero_tel);
// ajout des points entre les numéros
if (strlen($numero_tel) == 10) {
$numero_tel preg_replace('#(\d{2})#''$1.'$numero_tel);
}
return $numero_tel;
}
?>


Comment j'ai raisonné ?
Et bien considérons que l'utilisateur puisse rentrer un numéro de téléphone du style 0123456789, mais il ne faut pas oublier qu'il peut aussi très bien mettre des points, espaces ou autre.
La fonction commence donc par enlever tout ce qui n'est pas des chiffres dans la chaine, de façon à être sûr d'avoir un numéro de tél de la forme 0123456789.
C'est seulement que l'on ajoute des points tous les deux caractères si la longueur de la chaine est égale à 10.

Bien entendu tout cela suppose un numéro de téléphone au format français, le jour où vous avez des visiteurs internationaux qui sont susceptibles de mettre un numéro avec un préfixe, cela ne fonctionnera plus totalement (juste une petite modif à faire logiquement).
Cordialement,
Damien

Tutoriels informatique

Damien

  • Rédacteur Admin
  • Intarissable
  • *****
  • Messages: 2988
  • Points gagnés: 7
    • Voir le profil
    • aide informatique
Re : separer les chiffres dans un formulaire
« Réponse #2 le: 02 Août 2007 à 12:28:56 »
Ah j'oubliais pour la fonction,  il faut l'appeler comme cela après :

$nouveau_tel = Format_telephone ($ancien_tel);
Cordialement,
Damien

Tutoriels informatique

alain54100

  • Nouveau membre
  • *
  • Messages: 22
  • Points gagnés: 0
    • Voir le profil
    • pizza4saisons
Re : separer les chiffres dans un formulaire
« Réponse #3 le: 02 Août 2007 à 13:18:32 »
merci damien  toujour aussi pro et toujour aussi rapide a repondre a nos questions  je vais mettre tout ca en place t je te tient au courant  et si j ai bien compris  je remplace ca :
<?php if ( !empty($_POST['telephone_f']) ) { echo 'value="'.$_POST['telephone_f'].'"'; } ?>
par ce que tu ma donner !!!!
« Modifié: 02 Août 2007 à 13:58:00 par alain54100 »

Damien

  • Rédacteur Admin
  • Intarissable
  • *****
  • Messages: 2988
  • Points gagnés: 7
    • Voir le profil
    • aide informatique
Re : separer les chiffres dans un formulaire
« Réponse #4 le: 02 Août 2007 à 17:21:20 »
Et bien je ne sais pas trop ce que tu fais du numéro de téléphone après, mais quoique tu fasses, au moment où tu veux récupérer ou afficher celui-ci il suffit d'ajouter la fonction à celui-ci pour le formater correctement.

Si le but est par exemple d'afficher celui-ci avec un "echo" en faisant ta ligne :
<?php if ( !empty($_POST' telephone _f' ]) ) { echo 'value="'.$_POST['telephone_f'].'"'; } ?>
Il faudra juste ajouter :
<?php if ( !empty($_POST' telephone _f' ]) ) { echo 'value="'.Format_telephone($_POST['telephone_f']).'"'; } ?>
Sauf que l'appel d'une fonction dans echo ne doit pas être autorisé de mémoire, alors quelque chose comme cela plutôt :
<?php 
$num_telephone 
Format_telephone($_POST['telephone_f']);
if ( !empty(
$_POST' telephone _f' ]) ) { echo 'value="'.$num_telephone.'"'; } ?>
Cordialement,
Damien

Tutoriels informatique

alain54100

  • Nouveau membre
  • *
  • Messages: 22
  • Points gagnés: 0
    • Voir le profil
    • pizza4saisons
Re : separer les chiffres dans un formulaire
« Réponse #5 le: 02 Août 2007 à 18:04:56 »
RE 
damien j ai un probleme  sur ma page d inscription j ia ca
<input type="text" name="telephone_f" <?php if ( !empty($_POST['telephone_f']) ) { echo 'value="'.$_POST['telephone_f'].'"'; } ?>/>
et sur ma page admin je recupere ca

echo '<p>Telephone : <strong>'.$donnees['telephone_f'].'</strong></p>';
et la je coince  je comprend pas ce que je doit faire 

merci de t on aide a plus