IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

faire des contrôles de saisie d'un champ textarea


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Femme Profil pro
    Etudiant informatique
    Inscrit en
    Mars 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Etudiant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 86
    Points : 41
    Points
    41
    Par défaut 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 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2002
    Messages : 733
    Points : 359
    Points
    359
    Par défaut
    je te donne un bout de fil,
    voir du côté expressions régulières en php.

  3. #3
    Membre du Club
    Femme Profil pro
    Etudiant informatique
    Inscrit en
    Mars 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Etudiant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 86
    Points : 41
    Points
    41
    Par défaut 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 !!!

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Tu vas galérer si tu veux garder cette structure avec un textarea.

    A ta place je ferais plusieurs champs de saisies avec par exemple des select qui permettraient de ne proposer que les valeurs possibles pour les modules de cours ou encore pour les opérateurs possibles, etc.

  5. #5
    Membre du Club
    Femme Profil pro
    Etudiant informatique
    Inscrit en
    Mars 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Etudiant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 86
    Points : 41
    Points
    41
    Par défaut 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)??

  6. #6
    Membre du Club
    Femme Profil pro
    Etudiant informatique
    Inscrit en
    Mars 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Etudiant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 86
    Points : 41
    Points
    41
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ??

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Citation Envoyé par yawra Voir le message
    Comment je peut s'assurer que le champs n'est pas vide et que son contenu est un entier???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     // teste l'existence de $_POST['var'], si oui  trim supprime les espaces de début et de fin (éventuellement rentrés par erreur), si non on donne à $var la valeur null
    $var = isset($_POST['var'])? trim($_POST['var']) : null ;
     
    // Teste si la valeur est numérique, si oui la caste en un nombre entier avec intval, si non on donne à $var la valeur null
    $var = is_numeric($var)? intval($var) : null;
     
    //isset retourne false si var est null donc
    if (isset($var)) 
    {
    // ici on est certain que $var est un entier
    }
    else
    {
    // $_POST['var'] n'est pas défini ou n'a pas répondu aux conditions du test
    }

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/12/2013, 14h51
  2. Evènements des contrôles de saisies farfelus
    Par BasicZX81 dans le forum VB.NET
    Réponses: 13
    Dernier message: 22/06/2012, 20h18
  3. [AC-2007] Comment faire pour valider la saisie d'un champs automatiquement ?
    Par tibofo dans le forum VBA Access
    Réponses: 5
    Dernier message: 30/10/2011, 14h45
  4. Réponses: 0
    Dernier message: 18/11/2009, 15h58
  5. Faire des contrôles lors d'une saisie
    Par Roland2007 dans le forum C
    Réponses: 6
    Dernier message: 07/05/2008, 17h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo