Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1900 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] if elseif definition variable [resolu]

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] if elseif definition variable [resolu]

n°2201148
duncan mac​ leod
Ja wohl Herr Kolonel......
Posté le 29-08-2013 à 15:46:35  profilanswer
 

bonjour,
 
je cherche a transformer une variable post depuis un formulaire avec ce code mais le echo de test a la fin me sort tout le temps "achats" quelque soit le choix dans le formulaire (le formulaire est OK)
 

Code :
  1. if (!strpos($_POST['service'],'service1'))
  2. {
  3. $nomservice = "achats";
  4. }
  5. elseif (!strpos($_POST['service'],'service2'))
  6. {
  7. $nomservice = "ventes";
  8. }
  9. elseif (!strpos($_POST['service'],'service3'))
  10. {
  11. $nomservice = "direction";
  12. }
  13. elseif (!strpos($_POST['service'],'service4'))
  14. {
  15. $nomservice = "atelier";
  16. }
  17. elseif (!strpos($_POST['service'],'service5'))
  18. {
  19. $nomservice = "fabrication";
  20. }
  21. echo $nomservice


 
merci de votre aide


Message édité par duncan mac leod le 30-08-2013 à 13:35:11

---------------
tu te rends compte si on avé pas perdu 1h15 on seré la depuis 1h15 (c) jojo national Paris Dakar 2002...
mood
Publicité
Posté le 29-08-2013 à 15:46:35  profilanswer
 

n°2201170
SICKofitAL​L
Razoreater
Posté le 29-08-2013 à 17:57:29  profilanswer
 

strpos renvoit la position de la première occurrence, qui peut donc être 0 !
Ca renvoit -1 si ca trouve que dalle.
Essaye peut-être avec

Code :
  1. if (strpos ($_POST['service'], taChaine) >= 0)


ou

Code :
  1. if (strpos ($_POST['service'], taChaine) !== false)


 
D'ailleurs, je ne testerais pas directement le contenu de $_POST, mais je mettrais ca dans une variable que je "nettoyerais" d'abord, et je ferais mes tests sur celle-ci ;)


---------------
"And at the end it is only YOU, ME AND THE VIOLENCE !"
n°2201241
duncan mac​ leod
Ja wohl Herr Kolonel......
Posté le 30-08-2013 à 09:33:02  profilanswer
 

la valeur de post provient d'un formulaire (liste de choix) donc j'utilise direct
 
et pareil pour la chaine qui ne peut pas etre a 0

n°2201245
sltpaulo
Posté le 30-08-2013 à 10:05:37  profilanswer
 

Aussi tu devrais utiliser un switch c'est plus propre, ensuite, je te conseilles d'afficher ta variable post pour voir sont contenu, ainsi que le résultat de tes tests

n°2201249
duncan mac​ leod
Ja wohl Herr Kolonel......
Posté le 30-08-2013 à 10:17:30  profilanswer
 

pour mes tests j'ai mis un echo $_POST['service' pour chaque if et c'est bien différent a chaque fois sauf le echo $nomservice
 
c'est quoi le switch ? un exemple de code peut etre ?

n°2201253
sltpaulo
Posté le 30-08-2013 à 10:39:38  profilanswer
 

exemple switch :

Code :
  1. switch ($val) {
  2.                 case "service1":
  3.                     $nomservice = "achats";
  4.                     break;
  5.                 case 'tp_desc_' . $arrayPost['id_widget']:
  6.                     $sql = "UPDATE topics set ";
  7.                     $where = " where tp_id='" . $arrayPost['id_table'] . "'";
  8.                     break;
  9.                 case 'dt_desc_' . $arrayPost['id_widget']:
  10.                     $sql = "UPDATE debtors set ";
  11.                     $where = " where dt_id='" . $arrayPost['id_table'] . "'";
  12.                     break;
  13.                 default:
  14.                     break;
  15.             }


 
Sinon, c'est quoi les valeurs affichées dans ton post?


Message édité par sltpaulo le 30-08-2013 à 10:40:55
n°2201254
SICKofitAL​L
Razoreater
Posté le 30-08-2013 à 10:54:20  profilanswer
 

duncan mac leod a écrit :

la valeur de post provient d'un formulaire (liste de choix) donc j'utilise direct
 
et pareil pour la chaine qui ne peut pas etre a 0


Oui j'ai bien vu que tu l'utilises direct, mais bon perso je fais jamais confiance à ce qui provient du coté user mais soit ;)
 
Et donc, ya quoi exactement comme valeur dans ton $_POST ?


---------------
"And at the end it is only YOU, ME AND THE VIOLENCE !"
n°2201259
duncan mac​ leod
Ja wohl Herr Kolonel......
Posté le 30-08-2013 à 11:24:52  profilanswer
 

dans le $_POST il y a une adresse mail différente selon le choix d'un service (script d'envoi de mail de demande sur un intranet)
 
j'ajoute la fonction "logs" des envois a ce script

n°2201261
sltpaulo
Posté le 30-08-2013 à 11:32:26  profilanswer
 

Peux tu nous montrer les valeurs?
 
Si tu veux de l'aide, c'est le meilleur moyen...

n°2201262
duncan mac​ leod
Ja wohl Herr Kolonel......
Posté le 30-08-2013 à 11:38:29  profilanswer
 

les valeurs possibles de post:
 
achats@mondomaine.fr
ventes@mondomaine.fr
direction@mondomaine.fr
atelier@mondomaine.fr
fabrication@mondomaine.fr
 
et je veux modifier cette valeur
 
pour avoir dans le meme ordre
 
"service des achats"
"service des ventes"
"direction générale"
"atelier de maintenance"
"unité de frabrication"
 

mood
Publicité
Posté le 30-08-2013 à 11:38:29  profilanswer
 

n°2201263
sltpaulo
Posté le 30-08-2013 à 11:51:24  profilanswer
 

Essaye un truc du genre :
 

Code :
  1. switch ($_POST['service']) {
  2.                     case preg_match('/^achats/',$_POST['service']):
  3.                         $nomservice = "achats";
  4.                         break;
  5.                     case preg_match('/^ventes/',$_POST['service']):
  6.                         $nomservice = "ventes";
  7.                         break;
  8.                     case preg_match('/^direction/',$_POST['service']):
  9.                         $nomservice = "direction";
  10.                         break;
  11.                     default:
  12.                         break;
  13.                 }


Message édité par sltpaulo le 30-08-2013 à 11:51:46
n°2201278
duncan mac​ leod
Ja wohl Herr Kolonel......
Posté le 30-08-2013 à 13:34:29  profilanswer
 

merci de votre aide c'est résolu


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] if elseif definition variable [resolu]

 

Sujets relatifs
[PHP] php_flag ne marche pas[VBS] Variable concaténé suivant decompte du compteur
JAVA/ J2EE ou PHP ?Impossible d'executer script linux sous PHP
[PHP] Problème de chemin relatifRecherchons stagiaire développeur PHP - Septembre
PHP Fatal error - Allowed memory size exhaustedCombo Lighttpd / PHP - FastCGI / SQLite / Wordpress
SQL 3 tables récupérer des informations en fonction d'une variable[PHP / JS] jquery file upload : retrouver nom du fichier uploadé ?
Plus de sujets relatifs à : [PHP] if elseif definition variable [resolu]


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR