Obliger du numérique dans input type="text"

Résolu/Fermé
rolly41 Messages postés 242 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 18 septembre 2023 - 4 août 2011 à 20:40
magicshark Messages postés 399 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 6 mai 2014 - 5 août 2011 à 16:05
Bonjour,

j'ai une formation en html et php. Pour mettre en pratique ce que j'apprends, je fais une page html et une page php. dans mes pages, je demande a l'utilisateur de mettre une valeur (obligatoirement en chiffre) entre 0 et 200 (saisie non-obligatoire). Pour ce type de donnée, voici la balise utilisé:

<input type="text" maxlength="3" name="choix-concours"/>


Ce code de type texte autorise maximum 3 caractères. Mais je souhaite que seul les chiffres soit autorisé avec comme valeur maximum: 200

Comment puis-je faire ?

Merci d'avance.

A voir également:

5 réponses

Luxerails Messages postés 159 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 24 décembre 2012 41
4 août 2011 à 22:08
Si tu veux vérifier ce que l'utilisateur a rentré, n'utilise pas d'attribut html ni de javascript car il peux facilement être modifié/désactivé. Tu devras faire une vérification côté serveur en php, par exemple :

<?php
if (!is_numeric($_POST['choix-concours']) {
    echo 'Veuillez entrer un nombre';
} else {
    $var = intval($_POST['choix-concours']);
    if ($var >= 0 && $var <= 200)
        echo 'c\'est bon';
    else
        echo 'Veuillez entre un nombre entre 0 et 200';
}
2
rolly41 Messages postés 242 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 18 septembre 2023 1
Modifié par rolly41 le 4/08/2011 à 22:37
J'ai WampServer installé sur mon pc, pour tester mes fichiers php je dois mettre : localhost/concours/index. html pour avoir cette page:

<html> 
<head> 
</head> 
<body> 
<form action="info-concours.php" method="post"> 
<table align="center" border="0"> 
<tr><td valign="top" align="right">Date d'ouverture du concours :</td><td>21/08/2011</td></tr> 
<tr><td valign="top" align="right">Date de fin de participation :</td><td>28/08/2011</td></tr> 
<tr><td valign="top" align="right">Date du tirage :</td><td>29/08/2011</td></tr> 
<tr><td valign="top" align="right">Gain :</td><td>5.000 euros</td></tr> 
<tr><td valign="top" align="right">Contact concours :</td><td><a href="http://www.teste.be/contact.html">Page de contact</a></td></tr> 
<tr><td valign="top" align="right">Entrez un nombre entre 0 et 200 :</td><td><input type="text" maxlength="3" name="choix-concours"/></td></tr> 
</table> 
<div align="center"><input type="submit" name="Validé"/></div> 
</form> 
</body> 
</html>



et voici le code de la page php :
<html> 
<head> 
</head> 
<body> 
<font align="center"> 
<h4> 
<table align="center" border="0"> 
<tr><td valign="top" align="right">Date d'ouverture du concours :</td><td>21/08/2011</td></tr> 
<tr><td valign="top" align="right">Date de fin de participation :</td><td>28/08/2011</td></tr> 
<tr><td valign="top" align="right">Date du tirage :</td><td>29/08/2011</td></tr> 
<tr><td valign="top" align="right">Gain :</td><td>5.000 euros</td></tr> 
<tr><td valign="top" align="right">Contact concours :</td><td><a href="http://www.teste.be/contact.html">Page de contact</a></td></tr> 
<tr><td valign="top" align="right">Votre nombre est de :</td><td><?php echo $_POST['choix-concours']; ?></td></tr> 
</table> 
</h4> 
</font> 
</body> 
</html>


Je compte ajouter une validation en plus avant l'envoi du nombre choisi.

Où dois-je mettre le code que tu m'a envoyé? car j'ai tester dans "Votre nonbre est de :" Mais j'ai une erreur sur le code :s
0
Luxerails Messages postés 159 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 24 décembre 2012 41
5 août 2011 à 03:25
Quel est l'erreur ? Dans le code j'ai volontairement oublié la balise fermante ?> mais il faut la mettre.
0
rolly41 Messages postés 242 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 18 septembre 2023 1
5 août 2011 à 13:25
Voila, j'ai trouvé un code parfait. Si la valeur dépasse 200, une valeur aléatoire va être affichée :

<html>   
<head>   
</head>   
<body>   
<font align="center">   
<h4>   
<table align="center" border="0">   
<tr><td valign="top" align="right">Date d'ouverture du concours :</td><td>21/08/2011</td></tr>   
<tr><td valign="top" align="right">Date de fin de participation :</td><td>28/08/2011</td></tr>   
<tr><td valign="top" align="right">Date du tirage :</td><td>29/08/2011</td></tr>   
<tr><td valign="top" align="right">Gain :</td><td>5.000 euros</td></tr>   
<tr><td valign="top" align="right">Contact concours :</td><td><a href="http://www.teste.be/contact.html">Page de contact</a></td></tr>   
<tr><td valign="top" align="right">Votre nombre est de :</td><td><?php
if ($_POST["choix"] <= "200") 
{
	echo $_POST["choix"] ;
} 
else 
{
    echo '<script language="JavaScript"><!--
   function alea(a,b) {
      return Math.floor(Math.random()*(b-a+1))+a
   }

   for(i=1;i<2;i++)
      document.write(alea(1,200)+" ")
//--></script>';
}
?></td></tr>   
</table>   
</h4>   
</font>   
</body>   
</html> 
0
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 208
5 août 2011 à 11:59
avec l evenement onchange de ton input?
Apres tu testes su ton input est une numeric
Dans le cas contraire une alert();
0
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 208
5 août 2011 à 12:10
voila un code qui reprendra peut etre a ta question :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>

<head>
<title>Sans Titre</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript">
function test(value) {
if (parseInt(value)==value) alert ('ok'); else alert('pas bon');
}
</script>
</head>
<body bgcolor="#FFFFFF">
 <input type="text" name="to" size="20" onchange="test(this.value);" />

<input type="submit"  value="cliquer pour declencher onchange" />
<hr />
</body>
</html>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
magicshark Messages postés 399 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 6 mai 2014 13
5 août 2011 à 16:05
&& value <201) // a rajouter dans le if par exemple ou refaire un if pour personnaliser les alert
0