Problème de vérification caractère champs téléphone (formulaire)
Résolu
mad92men
Messages postés
128
Date d'inscription
Statut
Membre
Dernière intervention
-
mad92men Messages postés 128 Date d'inscription Statut Membre Dernière intervention -
mad92men Messages postés 128 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je rencontre un probleme sur mon formulaire (champ téléphone) que lequel j'aimerais avoir une verification des champ. en fait j'ai crée un petit formulaire sur mon site pour que le clients puisse me laisser leurs numeros de telephone. mon script fonctionne à merveille j'arrive meme à recevoir le numero de telephone par mail. jai aussi une fonctionnalité qui permet de vérifier que les champs ne sont pas vide. mon seul souci cest que je n'arrive pas à mettre en place un scripte qui permet de limiter les caractères à saisir uniquement a 10 chiffres.
voila mon code de la page html
<form action="recup.php" onsubmit="return valider()"
method="post" name="formSaisie">
<p><img src="../images/appelez moi.png" alt="appelez_moi" width="99" height="100" class="left" longdesc="http://www.changerecranpascher.fr" /></p>
<p> </p>
<p>
<input name="telephone" type="text" class="entry" id="telephone" />
<input type="submit" value="Appelez moi" />
</p>
<p> </p>
</form>
<script type="text/javascript">
//<![CDATA[
function valider(){
// si la valeur du champ prenom est non vide
if(document.formSaisie.telephone.value != "") {
// les données sont ok, on peut envoyer le formulaire
return true;
}
else {
// sinon on affiche un message
alert("Saisissez votre numéro de téléphone");
// et on indique de ne pas envoyer le formulaire
return false;
}
}
//]]>
</script>
et celui de la page php
<?php
$telephone="";
if (isset($_POST['telephone'])){
$telephone = $_POST['telephone'];
}
echo "<h1>Nous avons bien réçu votre numéro de téléphone, nous vous rappellerons dans les plus brefs délais</h1>\n";
echo "<p>\n";
echo "Téléphone : ".$telephone."<br/>\n";
echo "</p>\n";
$contenu="$telephone";
$contenu=str_replace(chr(60),"",$contenu);
$contenu=str_replace(chr(10),"<br/>",$contenu);
$headers="From: <$telephone>\n";
$headers.="Content-Type: text/html; charset=UTF-8\n";
$to="moi@monmail.fr";
$objet="Service appelez moi";
mail($to, $objet, $contenu, $headers);
?>
voilà j'esper avoir ete claire. merci d'avance pour votre aide
Je rencontre un probleme sur mon formulaire (champ téléphone) que lequel j'aimerais avoir une verification des champ. en fait j'ai crée un petit formulaire sur mon site pour que le clients puisse me laisser leurs numeros de telephone. mon script fonctionne à merveille j'arrive meme à recevoir le numero de telephone par mail. jai aussi une fonctionnalité qui permet de vérifier que les champs ne sont pas vide. mon seul souci cest que je n'arrive pas à mettre en place un scripte qui permet de limiter les caractères à saisir uniquement a 10 chiffres.
voila mon code de la page html
<form action="recup.php" onsubmit="return valider()"
method="post" name="formSaisie">
<p><img src="../images/appelez moi.png" alt="appelez_moi" width="99" height="100" class="left" longdesc="http://www.changerecranpascher.fr" /></p>
<p> </p>
<p>
<input name="telephone" type="text" class="entry" id="telephone" />
<input type="submit" value="Appelez moi" />
</p>
<p> </p>
</form>
<script type="text/javascript">
//<![CDATA[
function valider(){
// si la valeur du champ prenom est non vide
if(document.formSaisie.telephone.value != "") {
// les données sont ok, on peut envoyer le formulaire
return true;
}
else {
// sinon on affiche un message
alert("Saisissez votre numéro de téléphone");
// et on indique de ne pas envoyer le formulaire
return false;
}
}
//]]>
</script>
et celui de la page php
<?php
$telephone="";
if (isset($_POST['telephone'])){
$telephone = $_POST['telephone'];
}
echo "<h1>Nous avons bien réçu votre numéro de téléphone, nous vous rappellerons dans les plus brefs délais</h1>\n";
echo "<p>\n";
echo "Téléphone : ".$telephone."<br/>\n";
echo "</p>\n";
$contenu="$telephone";
$contenu=str_replace(chr(60),"",$contenu);
$contenu=str_replace(chr(10),"<br/>",$contenu);
$headers="From: <$telephone>\n";
$headers.="Content-Type: text/html; charset=UTF-8\n";
$to="moi@monmail.fr";
$objet="Service appelez moi";
mail($to, $objet, $contenu, $headers);
?>
voilà j'esper avoir ete claire. merci d'avance pour votre aide
4 réponses
-
Merci ça marche atropa mais j'ai oublie d'indiquer qu'il me fallait aussi un script qui empêche le visiteur d'insérer du text dans le champ téléphonique.
Merci d'avance c sympa de votre part -
bonsoir,
il suffit d'ajouter l'attribut maxlength="10" à ta balise input
et de vérifier en php
if(strlen($_POST['champTelephone']) > 10) erreur... -
<script type="text/javascript"> //<![CDATA[ function valider(){ //pour pouvoir faire plusieurs test, il faut detecter d'abord les erreurs, et si pas d'erreur on envoie var telephone=document.formSaisie.telephone.value; // si la valeur du champ telephone est vide if(telephone==""){ alert("Saisissez votre numéro de téléphone"); // et on indique de ne pas envoyer le formulaire en quitant la fonction return false; } // si non vide mais pas au bon format //regex var reg_telephone = '^(01|02|03|04|05|06|07|08|09)[0-9]{8}$'; // if(telephone !="" && !telephone.match(reg_telephone) ){ alert("Votre numéro de téléphone n'est pas valide"); // et on indique de ne pas envoyer le formulaire en quitant la fonction return false; } // //tu peux rajouter d'autre test avec le même principe // // si on est arrivé jussque la c'est qu'il n'y a pas d'erreur donc on autorise l'envoi du formulaire return true; } //]]> </script> <form method="post" name="formSaisie" action="recup.php" onsubmit="return valider();" > <p><img src="../images/appelez moi.png" alt="appelez_moi" width="99" height="100" class="left" longdesc="http://www.changerecranpascher.fr" /></p> <p> </p> <p> <input name="telephone" type="text" class="entry" id="telephone" /> <input type="submit" value="Appelez moi" /> </p> <p> </p> </form> -
@Alain_42 Super ça marche merci beaucoup pour ton aide alain c'est sympa. je vais l'appliquer egalement sur mon formulaire de contact.