Empecher ecrire alphabet dans input ??

Fermé
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 - 21 oct. 2009 à 23:09
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 - 22 oct. 2009 à 18:08
Bonjour à tous,
la question est dans le titre, pensez vous qu'il soit possible, dans un <input type="text" style="width:65px;" name="chiffre" maxlength="8" />
d'empecher un utilisateur de noter une lettre, qu'il puisse juste mettre des chiffres???
ou bien alors doit-on d'abord laisser le membre noter ce qu'il desire et ensuite faire une verif que ce ne soit que des chiffres ^^
merci de toute reponse............

A voir également:

4 réponses

zurg_ Messages postés 133 Date d'inscription jeudi 15 octobre 2009 Statut Membre Dernière intervention 15 avril 2010 27
22 oct. 2009 à 11:02
Salut,

à mon avis, pour une vérification en temps réel, il faut utiliser javascript.(en cherchant bien dans google, tu trouveras la fonction toute faite !)

Sinon pour contrôler après saisie, ben php ou asp ou cgi... bref, comme tu veux.
0
phenX Messages postés 704 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 28 août 2012 23
22 oct. 2009 à 11:22
il suffit de faire une fonction qui vérifie au fure et a mesure que tu tape qu'il ne sagit pas d'une lettre, genre une table avec les chiffres de 0 à 9 et une vifictaiton que chaque caractèr correpond à un index du tableau.
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
22 oct. 2009 à 17:42
simple:

onkeypress='appelle-tafonctionjavascript()'

et la fonction récupère le contenu du champ avec un document.getElementById.

tu compare cette valeur au résultat de parseInt(lavaleur), si c'est exactement la même chose, c'est bien un chiffre, sinon, non.
0
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 120
22 oct. 2009 à 18:08
simple simple, oui à dire ^^
j'ai testé juste mainant un script de l'editeur javascript mais ca deconne, car j'ai deja un script assez bizarre sur ma page , si je rajoute ce script, quoi que je mette il me dit quand meme que c'est ok quoi qu'il soit note dans le input :(
un bout de la page ??????????
Le voiciiiii :::

<?php
$titre_page = "Le chiffre mystere";
include('includes/header.php');
necessite_identification();
$requete =
mysql_fetch_assoc(mysql_query("SELECT montant, gagne, gagnant, chiffreatrouver FROM jackpot_chiffre WHERE gagnant = ''"));
$requete2 = mysql_fetch_assoc(mysql_query("SELECT montant, gagne, gagnant, date FROM jackpot_chiffre WHERE gagne = 'oui' "));
$requete31 = mysql_fetch_assoc(mysql_query("SELECT credits, indice1c FROM rpg_users WHERE pseudo = '$pseudo'"));
$requete300 = mysql_fetch_assoc(mysql_query("SELECT aidechiffre From indiceschiffre"));
$montantjackpot = $requete['montant'];
$derniergagnant = $requete2['gagnant'];
$chiffremis = $requete['chiffreatrouver'];
$gainderniergagnant = $requete2['montant'];
$tstamp = $requete2['date'];
$datederniergagnant = date ( 'd/m/Y', $tstamp );
$heurederniergagnant = date(' H:i:s', $tstamp );
$indice = $requete300['aidechiffre'];
$credis = $requete31['credits'];
$help = $requete31['indice1c'];
$vraichiffreok = $requete['chiffreatrouver'];

if($credis == NULL)
{
$credis == 0;
}
if ($credis > 0 )
{
$formulaire = '
<form action="chiffre_mystere.php" method="post">
<p>Sauras-tu découvrir le nombre mystère ????</p>

(((((((((LE INPUT EST ICI ^^)))))))))))

<input type="text" style="width:65px;" name="chiffrage" maxlength="8" />

<input type="submit" value="Envoyer" />
</form>';
}
else
{
$formulaire = 'Tu n\'as pas assez de crédits pour jouer !!';
}


if(isset($_POST["chiffrage"]))
{
$chiffrage = htmlentities(addslashes(SuppAccents($_POST['chiffrage'])));
if (empty($chiffrage))
{
echo '
<font color="#FF0000" size="+2">
Aucun nombre n\'a été inscrit !!</font><br /><br />';
?>
Le Jack actuel est de <b><?php echo $montantjackpot;?></b> €uros !<br /><br /><br />
Le dernier gagnant est <b><?php echo $derniergagnant;?></b> qui a gagné <b><?php echo $gainderniergagnant;?></b> €uros le <b><?php echo $datederniergagnant;?></b> à <b><?php echo $heurederniergagnant;?></b> !<br />
<br /><br />
Il te reste <b><?php echo $credis;?></b> parties !<br /><br />
<?php echo $formulaire?><br /><br />

<div align="center">
<?php
if ($help == 0)
{
echo "<br />Tu n'as aucun indice pour le moment !!<br />";
}

elseif ($help == 1)
{
echo "<br />Hum hum, je vois que tu as validé <font color=\"#FF0000\">1</font> mystery'pass !!<br/>
Alors, comme 1er indice,<br />
je te dis juste que ce nombre ne dépassera pas les <font color=\"#FF0000\">5</font> chiffres ^^ !!";
}

elseif ($help == 2)
{
echo "Maintenant que tu as validé plus de codes,<br />
je vais t'aider un peu plus dans ta recherche.<br />
Le 1er indice est que ce nombre ne dépasse pas les <font color=\"#FF0000\">5</font> chiffres.<br />
<center>------> Ensuite, voici tous les nombres déjà joués par les membres <------</center><br /><br /> ";
$indiceno1 = mysql_query("SELECT aidechiffre FROM indiceschiffre ORDER BY aidechiffre DESC");
$nb='0';
while ($donnees = mysql_fetch_array($indiceno1) )
{
$nb++;
echo '<table width="100" border="1">
<tr>
<td width="100" align="center"><font color="#FF0000">'.$donnees['aidechiffre'].'</font></td>
</tr>';}
echo '</table>';
}
elseif ($help == 3)
{
etc etc etc .................
}
?>
</div>

Donc, en fait, sur ce script, il faudrait en fait 2 choses ^^
1er:: verification que c'est bien un chiffre et non pas une lettre notee dans le input;
2 eme : ( le champs aidechiffre est en UNIQUE) donc pas de doublons mais si un membre poste un chiffre deja joue,
$dejamis = mysql_fetch_row(mysql_query("select aidechiffre from indiceschiffre"));
if($dejamis['0'] == $chiffrage)
{
echo '<font color="#FF0000" size="+2">Ce nombre a déjà été validé !</font><br />';
}
?>
le truc ne fonctionne pas,enfin c pas qu'il fonctionne pas mais si on teste le chiffre 1 et qu'il est deja en base, la ca marche mais si le chiffre est 99999 alors la meme si il est deja inscrit en base, ca passe quand meme, c a dire que le compte est quand meme debite d'un credit meme si le chiffre mis est deja en base, alors qu'il faudrait que ca dise, chiffre deja valide par un membre, et pas de retrait de credit sur le pseudo ^^............
0