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

Résolu/Fermé
mad92men Messages postés 130 Date d'inscription dimanche 28 octobre 2012 Statut Membre Dernière intervention 10 novembre 2020 - 28 oct. 2012 à 23:29
mad92men Messages postés 130 Date d'inscription dimanche 28 octobre 2012 Statut Membre Dernière intervention 10 novembre 2020 - 29 oct. 2012 à 19:35
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 130 Date d'inscription dimanche 28 octobre 2012 Statut Membre Dernière intervention 10 novembre 2020 4
29 oct. 2012 à 09:18
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 1940 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 11 mai 2014 274
29 oct. 2012 à 00:16
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 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
29 oct. 2012 à 09:41
<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 130 Date d'inscription dimanche 28 octobre 2012 Statut Membre Dernière intervention 10 novembre 2020 4
29 oct. 2012 à 19:35
@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