Nous sommes actuellement le 10 Juil 2026, 14:38

Le fuseau horaire est UTC-5 heures [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 8 message(s) ] 
Auteur Message
MessagePublié: 15 Oct 2003, 16:27 
Hors-ligne
Régulier
Régulier

Inscription : 05 Fév 2002, 22:00
Message(s) : 489
Bonjour,

Je me fais un formulaire. Je veux valider mon formulaire et faire afficher un message différent tout dépendant lequel des champs n'est pas renseigné (ex.: Si le champs nom n'est pas renseigné, ca dit ERREUR, VOUS DEVEZ COMPLÉTER LE CHAMPS NOM).

Tout ce code est fonctionnel.

Le voici:

Code :
         $validation_form_agent = true;
      for ($i=1;$i<10;$i++)
      {
           if ($_POST[$i] == "")
           {
               if($i==1)
               {     
                 echo ERREUR_AJOUT_AGENT_1;
                 echo "<br>";
                   $validation_form_agent = false;
                }
                if($i==2)
                {
                 echo ERREUR_AJOUT_AGENT_2;
                 echo "<br>";
                   $validation_form_agent = false;
                }
                if($i==3)
                {
                 echo ERREUR_AJOUT_AGENT_3;
                 echo "<br>";
                   $validation_form_agent = false;
                }
                if($i==4)
                {
                 echo ERREUR_AJOUT_AGENT_4;
                 echo "<br>";
                   $validation_form_agent = false;
                }
                if($i==5)
                {
                 echo ERREUR_AJOUT_AGENT_5;
                 echo "<br>";
                   $validation_form_agent = false;
                }
                if($i==6)
                {
                 echo ERREUR_AJOUT_AGENT_6;
                 echo "<br>";
                   $validation_form_agent = false;
                }
                if($i==7)
                {
                 echo ERREUR_AJOUT_AGENT_7;
                 echo "<br>";
                   $validation_form_agent = false;
                }
                if($i==8)
                {
                 echo ERREUR_AJOUT_AGENT_8;
                 echo "<br>";
                   $validation_form_agent = false;
                }
                if($i==9)
                {
                 echo ERREUR_AJOUT_AGENT_9;
                 echo "<br>";
                   $validation_form_agent = false;
                }
          }
      }


Mais maintenant, quand je veux prendre la valeur de $1, $2 qui sont des champs de mon formulaire ($1 est le champ nom...) je ne peux les utiliser. Si je fais un INSERT dans ma db mysql comme ceci:

Code :
$add_agent_query="INSERT INTO agent_temp (agent_nom,agent_cie,agent_adresse,agent_ville_id,agent_cp,agent_province_id,agent_region_id,agent_phone,agent_cell,agent_fax,agent_email,agent_www,agent_login,agent_passwd,agent_lang)
      VALUES ('$1','$2','$3','$4','$5','$agent_province_id','$agent_region_id','$6','$agent_cell','$agent_fax','$7','$agent_www','$8','$9','$agent_lang')";


j'obtiens dans ma db, non pas la valeur de $1 ( qui serait Mathieu par exemple), mais $1.

Pourquoi et comment arranger ceci? Vous avez une idée?

_________________
-------------------
Mathieu Lessard

"Toute grande guerre se gagne d'abord par de petits coups d'épée"


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 15 Oct 2003, 16:40 
Hors-ligne
Régulier
Régulier

Inscription : 05 Fév 2002, 22:00
Message(s) : 489
Bon...désolé, j'ai trouvé pourquoi....

$_POST[$i] avec une valeur à $i....

hmm :oops: :oops: :oops:

Merci

Mathieu

_________________
-------------------
Mathieu Lessard

"Toute grande guerre se gagne d'abord par de petits coups d'épée"


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 15 Oct 2003, 19:57 
Hors-ligne
Petit nouveau
Petit nouveau

Inscription : 19 Fév 2002, 18:51
Message(s) : 34
Localisation : Québec
Je crois que tu devrais utiliser un tableau pour stocker tes messages d'erreur. Ton code serait beaucoup plus simple :

Code :
      $validation_form_agent = true;
      for ($i=1;$i<10;$i++)
      {
           if ($_POST[$i] == "")
           {
                 echo erreur_ajout_agent[$i];
                 echo "<br>";
                 $validation_form_agent = false;
          }
      }



Il est vrai que tu ne pourras plus utiliser define pour tes constantes, mais c'est une exception qu'on peut se permettre dans un cas qui rend le code tellement plus clair :D


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 16 Oct 2003, 19:46 
Hors-ligne
Régulier
Régulier

Inscription : 05 Fév 2002, 22:00
Message(s) : 489
Citer:
Il est vrai que tu ne pourras plus utiliser define pour tes constantes, mais c'est une exception qu'on peut se permettre dans un cas qui rend le code tellement plus clair


Ok.... je me demandais pourquoi ca marchait pas... je fais quoi alors pour définir mes contantes? Je dois en faire des variables? Donc au lieu de ERREUR_AJOUT_AGENT_1, j'aurais $ERREUR_AJOUT_AGENT_1 ?

Merci

Mathieu

_________________
-------------------
Mathieu Lessard

"Toute grande guerre se gagne d'abord par de petits coups d'épée"


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 16 Oct 2003, 20:01 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 08 Jan 2002, 11:31
Message(s) : 811
Localisation : Still on Mars
TOmbe surtout pas dans la tentation de faire des variable de varaible. Ces un vrai chauchemard ces affaires la.

Vas plus avec des array.
$ERROR_AJOUT_AGENT[$i]; par example.

Ces plus clair, plus maniable et quand ca buste ces facile a debuguer.

_________________
Pro_PHP

La Conference PHP Québec 2008
La communauté PHP Québec


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 16 Oct 2003, 20:03 
Hors-ligne
Régulier
Régulier

Inscription : 05 Fév 2002, 22:00
Message(s) : 489
là je te suis pas mon ProPHP...

Est-ce que ca veut dire que mes codes d'erreur serait ainsi?

$ERREUR_AJOUT_AGENT_1 = "- Votre nom";

et même chos epour tout mes codes d'erreur?

Ou bien je fais:

$ERREUR_AJOUT_AGENT[1] = "- Votre nom";

Merci

Mathieu

_________________
-------------------
Mathieu Lessard

"Toute grande guerre se gagne d'abord par de petits coups d'épée"


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 16 Oct 2003, 20:10 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 08 Jan 2002, 11:31
Message(s) : 811
Localisation : Still on Mars
Vas vers la deuxieme option., je crois que ces plus propre a long terme si tout deviens dynamique avec une base de donnees.

(Script de validation dans une bd, message d'erreur, ...)

_________________
Pro_PHP

La Conference PHP Québec 2008
La communauté PHP Québec


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 16 Oct 2003, 20:11 
Hors-ligne
Régulier
Régulier

Inscription : 05 Fév 2002, 22:00
Message(s) : 489
merci...effectivement, cé beaucoup plus clair ;)

Merci

Mathieu

_________________
-------------------
Mathieu Lessard

"Toute grande guerre se gagne d'abord par de petits coups d'épée"


Haut
 Profil  
Répondre en citant  
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 8 message(s) ] 

Le fuseau horaire est UTC-5 heures [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 4 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum

Recherche de:
Aller vers :  
cron
Propulsé par phpBB® Forum Software © phpBB Group
Traduction et support en françaisHébergement de site