faire des contrôles de saisie d'un champ textarea
j'ai un champ textarea où l'utilisateur doit introduire une formule de calcul permettent le calcule de la moyenne d'un module de cours, par exemple un module programmation contenant les cours: programmation C, programmaton web :?
Je veut faire un contrôle de saisie sur ce champ, je veut mettre des conditions à respecter avant de passer à la page de calcul.
Je veut ce format: par exemple:
=(coeff*programmtionC+coeff*programmationweb)/n
je n'arrive pas à concrétiser ce que je veut. je veut par exemple contrôler l'existence d'un "=" au début, et l'interdiction de certains caractères qui vont compliquer le calcul (@ , ; ...)),et aussi je veut garantir que les nom des cours saisies dans le champ existent dans ma base de données, c-à-dire que si les noms des cours saisies n'existent pas dans la formule alors afficher une erreur.
j'ai essayer avec les expressions régulières mais j'arrive pas à le faire :oops: j'arrive pas à créer une fonction qui contrôle tout surtout les noms des cours.
J'ai pensé à une fonction javascript, j'ai fait ça et ça fonctionne jusqu'à maintenant mais dès que j'ajoute des contrôles de saisies je me bloque :( (je programme en php )
C'est la partie qui fonctionne de ma fonction:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <SCRIPT language="JavaScript">
<!--
function chargement()
{
if(document.form.formule.value=='')
{
alert('Le champ ne peut pas rester vide !! Veuillez introduire votre formule de calcul');
document.f2.Nom.focus();
}
else
{
document.form.method = "get";
document.form.action = "res1.php";
document.form.submit();
}
}
//-->
</script> |
la requête qui permet d'extraire les nom des cours est:
Code:
1 2 3 4
| $requete='SELECT fullname // nom du cours
FROM mdl_211course,mdl_211course_categories
WHERE mdl_211course_categories.name="'.mysql_real_escape_string($_GET["nom"]).'"
AND mdl_211course_categories.id = mdl_211course.category'; |
Si quelqu'un a une solution en php sans Javscript ça me dérange pas.
J’espère que vous pouvez m'aidez :cry:
faire des contrôle de saisie de champ TEXTAREA
mais wi j'ai pensé aux expression régulières mais j'ai pas su comment concrétiser ce que je veux !!!:(:(
faire des contrôle de saisie de champ TEXTAREA
est-ce que vous proposez d'utiliser des liste contenants les valeur (nom de cours et opérateurs autorisés)??
faire des contrôle de saisie de champ TEXTAREA
En s'inspirant de vos proposition j'ai changé d'idée! qui peut m'aider?? à la place du champs textarea je vais afficher les nom des cours et en face de chaque cours un champ TEXT où l'utilisateur doit saisir le coefficient du cours coreespondant.
Puisque je fais afficher les nom existant dans ma base de données, je vais utiliser une boucle while qui affiche à chaque itération le cours et son champ correspondant, donc le name des champs TEXT va soit être le même:
Code:
1 2 3 4 5 6 7 8 9 10 11
|
<form name="form" action="res1.php" method="post">
...
$requete='SELECT shortname
FROM mdl_211course
...;
$resultat=mysql_query($requete) or die ('<h4><b>Erreur SQL!</h4></b><br>'.$requete.'<br>'.mysql_error());
while($ligne=mysql_fetch_assoc($resultat)){
echo '<b><h3><font color=#6495ED>'.$ligne["shortname"].'</h3>
<input type="text" name="coefficient" size="15" /><br/>';
} |
Comment je peut s'assurer que le champs n'est pas vide et que son contenu est un entier??? :(:(
Si c'est plus simple, pour faire le contrôle, si les champs TEXT auront des name différent, je peut donner au champs le même name que le nom du cours comme ça:
Code:
1 2 3 4
|
while($ligne=mysql_fetch_assoc($resultat)){
echo '<b><h3><font color=#6495ED>'.$ligne["shortname"].'</h3>
<input type="text" name="'.$ligne["shortname"].'" size="15" /><br/>'; |
vos proposition SVP ??:(