Problème de vérification caractère champs téléphone (formulaire)

Résolu
mad92men Messages postés 138 Statut Membre -  
mad92men Messages postés 138 Statut Membre -
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

4 réponses

mad92men Messages postés 138 Statut Membre 4
 
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
1
Atropa Messages postés 2051 Statut Membre 274
 
bonsoir,

il suffit d'ajouter l'attribut maxlength="10" à ta balise input

et de vérifier en php

if(strlen($_POST['champTelephone']) > 10) erreur...
0
Alain_42 Messages postés 5413 Statut Membre 894
 
<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>
0
mad92men Messages postés 138 Statut Membre 4
 
@Alain_42 Super ça marche merci beaucoup pour ton aide alain c'est sympa. je vais l'appliquer egalement sur mon formulaire de contact.
0