*
Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
25 Mai 2012 à 09:28:51

Connexion avec identifiant, mot de passe et durée de la session



 

separer les chiffres dans un formulaire


« sujet précédent | | sujet suivant »
Pages: [1] Imprimer
Auteur Fil de discussion: separer les chiffres dans un formulaire  (Lu 1362 fois)
alain54100
Nouveau membre
*

Points gagnés: 0
Messages: 22


Voir le profil WWW
separer les chiffres dans un formulaire
« le: 02 Août 2007 à 10: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
« Dernière édition: 02 Août 2007 à 11:19:23 par alain54100 » Journalisée
Damien
Rédacteur Admin
Intarissable
*****

Points gagnés: 5
Messages: 2853



Voir le profil WWW
Re : separer les chiffres dans un formulaire
« Répondre #1 le: 02 Août 2007 à 11: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 Wink

Code:
<?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).
Journalisée

Cordialement,
Damien

Tutoriels informatique
Damien
Rédacteur Admin
Intarissable
*****

Points gagnés: 5
Messages: 2853



Voir le profil WWW
Re : separer les chiffres dans un formulaire
« Répondre #2 le: 02 Août 2007 à 11:28:56 »

Ah j'oubliais pour la fonction,  il faut l'appeler comme cela après :

Code:
$nouveau_tel = Format_telephone ($ancien_tel);
Journalisée

Cordialement,
Damien

Tutoriels informatique
alain54100
Nouveau membre
*

Points gagnés: 0
Messages: 22


Voir le profil WWW
Re : separer les chiffres dans un formulaire
« Répondre #3 le: 02 Août 2007 à 12: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 :
Code:
<?php if ( !empty($_POST['telephone_f']) ) { echo 'value="'.$_POST['telephone_f'].'"'; } ?>

par ce que tu ma donner !!!!
« Dernière édition: 02 Août 2007 à 12:58:00 par alain54100 » Journalisée
Damien
Rédacteur Admin
Intarissable
*****

Points gagnés: 5
Messages: 2853



Voir le profil WWW
Re : separer les chiffres dans un formulaire
« Répondre #4 le: 02 Août 2007 à 16: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 :
Code:
<?php if ( !empty($_POST' telephone _f' ]) ) { echo 'value="'.$_POST['telephone_f'].'"'; } ?>

Il faudra juste ajouter :
Code:
<?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 :
Code:
<?php 
$num_telephone 
Format_telephone($_POST['telephone_f']);
if ( !empty(
$_POST' telephone _f' ]) ) { echo 'value="'.$num_telephone.'"'; } ?>
Journalisée

Cordialement,
Damien

Tutoriels informatique
alain54100
Nouveau membre
*

Points gagnés: 0
Messages: 22


Voir le profil WWW
Re : separer les chiffres dans un formulaire
« Répondre #5 le: 02 Août 2007 à 17:04:56 »

RE 
damien j ai un probleme  sur ma page d inscription j ia ca
Code:
<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

Code:
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
Journalisée
Pages: [1] Imprimer 
« sujet précédent | | sujet suivant »
Aller à:  

Powered by SMF 1.1.12 | SMF © 2006, Simple Machines LLC

Page générée en 0.143 secondes avec 18 requêtes.