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

  FORUM HardWare.fr
  Programmation
  PHP

  problème de condition et de timing du coup...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème de condition et de timing du coup...

n°1319659
flock86
oh non les gars pas le slip!
Posté le 06-03-2006 à 17:29:13  profilanswer
 

bonjour à tous!!
 
je vais tenter de vous expliquer mon problème simplement :
 
j'ai deux formulaires dans 1 page.
le premier me permet de sélectionner certaines lignes dans ma table, qui seront implémentées par le second formulaire.
la valeur du premier formulaire est réenvoyé avec le second par un champ de type hidden.
 
dès que je valide mon premier formulaire, il m'effectue la vérification des champs du second (qui se trouve à la ligne 102).
or je souhaiterais que cette vérification ne s'effectue qu'une fois le second formulaire validé.
 
c'est pourquoi j'avais fait un champ de type hidden, en me disant que la condition if (isset ($_POST['selectiongroupement1']) ne serait effectif QUE lorque le submit du second formulaire a été effectué.
 
or c'est pas le cas....
 
voici mon code :  

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Document sans titre</title>
  6. <link href="css/publipostage.css" rel="stylesheet" type="text/css" />
  7. </head>
  8. <body>
  9. <?php
  10. mysql_connect("localhost", "root", "" );
  11. mysql_select_db("carte_demarchage" );
  12. ?>
  13. <p>Page de publipostage provisoire</p>
  14. <a href="pageapplic.php">Retour à l accueil</a>
  15. <?
  16. //définitions des variables temps au format valide sql
  17. if (isset ($_POST['lr_jour'])AND isset($_POST['lr_mois']) AND isset( $_POST['lr_an']))
  18. {
  19. $dateletrecom=$_POST['lr_an'] . '-' . $_POST['lr_mois'] . '-' . $_POST['lr_jour'];
  20. }
  21. if (isset ($_POST['co_jour'])AND isset($_POST['co_mois']) AND isset( $_POST['co_an']))
  22. {
  23. $dateenvcoliss=$_POST['co_an'] . '-' . $_POST['co_mois'] . '-' . $_POST['co_jour'];
  24. }
  25. ?>
  26. <h1>Suivi Envoi</h1>
  27. <form action="" method="post" name="selectiondugroupement">
  28. <?
  29. //selectionne de façon distincte les libelle entite remettant
  30. $requetepubli = mysql_query ('SELECT DISTINCT tp_edition1.LibEntiteRemettant FROM tp_edition1 ORDER BY tp_edition1.LibEntiteRemettant');
  31. $nb = mysql_numrows($requetepubli);
  32. ?>
  33. <p>Sélection du groupement  à traiter : </p>
  34. <?
  35. echo "<select name='selectiongroupement'>";
  36. while ($reponsepubli = mysql_fetch_array ($requetepubli))
  37. {
  38. $reponsepubli_LibEntiteRemettant = $reponsepubli['LibEntiteRemettant'];
  39. echo "<option name='selectgrpt' value='$reponsepubli_LibEntiteRemettant'> $reponsepubli_LibEntiteRemettant</option>";
  40. }
  41. echo "</select>";
  42. echo '<input type="submit" value="Envoyer" />';
  43. ?>
  44. </form>
  45. <a href="includes/telecharge.php?urlComplete=<? echo $urlComplete; ?>$nomFichier=<? echo $file; ?>">télécharger le document de publipostage</a>
  46. <p>Vous avez sélectionné : <? if (isset ($_POST['selectiongroupement'])) {echo $_POST['selectiongroupement'];} ?> </p>
  47. <form action="" method="post" name="traitement_envoi">
  48.           <input type="hidden" name="selectiongroupement1" value="<?php echo $_POST['selectiongroupement'];?>" />
  49. <p>Num&eacute;ro Lettre recommand&eacute;e : <input name="numerolr" type="text" size="20" value="<? echo $reponseaff['NumeroLR'];?>">
  50. Date Envoi Lettre recommand&eacute;e : <input type="text" name="lr_jour" size="2" maxlength="2" />
  51.               <input type="text" name="lr_mois" size="2" maxlength="2" />
  52.               <input type="text" name="lr_an" size="4" maxlength="4" />
  53. </p>
  54. <input type="submit" value="Envoyer" />
  55. </form>
  56. <?
  57. //si le numéro lr envoyé et non vide inscrit le dans la bdd
  58. if (isset ($_POST['numerolr']) AND !empty($_POST['numerolr']))
  59. {
  60. $requete14 = mysql_query ('UPDATE `tp_editionencours` SET NumeroLR="'.$_POST['numerolr'].'" WHERE LibEntiteRemettant="'.$_POST['selectiongroupement1'].'"') or die(mysql_error());
  61. //insertion date edition carte
  62. $requete55 = mysql_query ('UPDATE `tp_editionencours` SET DateEditCarte="'.$dateeditcarte.'" WHERE LibEntiteRemettant="'.$_POST['selectiongroupement1'].'"') or die(mysql_error());
  63. }
  64. //si les vraibles de date pour lettre recommandée sont rentrés alors met à jour le champs datedeclahonneur pour l'id tapé
  65. if (isset ($_POST['lr_jour']) AND isset($_POST['lr_mois']) AND isset( $_POST['lr_an']) AND !empty($_POST['lr_jour']) AND !empty($_POST['lr_mois']) AND !empty( $_POST['lr_an']))
  66. {
  67. $requete15 = mysql_query ('UPDATE `tp_editionencours` SET DateEnvoiLR="'.$dateletrecom.'" WHERE LibEntiteRemettant="'.$_POST['selectiongroupement1'].'"') or die(mysql_error());
  68. }
  69. //idem envoi AR
  70. if (isset ($_POST['envoiAR']) AND !empty($_POST['envoiAR']))
  71. {
  72. $requete16 = mysql_query ('UPDATE `tp_editionencours` SET EnvoiEnAR="'.$_POST['envoiAR'].'" WHERE LibEntiteRemettant="'.$_POST['selectiongroupement1'].'"') or die(mysql_error());
  73. }
  74. //si la variable selection groupement 1 est créé c'est à dire si elle est passée du premier au second formulaire (champ type hidden)
  75. if (isset ($_POST['selectiongroupement1']))
  76. {
  77. if (empty($_POST['numerolr']) OR empty($_POST['lr_jour']) OR empty($_POST['lr_mois']) OR empty ($_POST['lr_an']))
  78. {?> <script language="javascript">alert('Veuillez rentrer les informations concernant l\'envoi de la Lettre recommandée');</script> <?
  79. }
  80. }
  81. ?>
  82. </body>
  83. </html>


 
 
...si quelqu'un peut me filer un coup de main, ce serait vraiment sympa!!
 
merci!! :D


Message édité par flock86 le 06-03-2006 à 17:36:39
mood
Publicité
Posté le 06-03-2006 à 17:29:13  profilanswer
 

n°1319679
omega2
Posté le 06-03-2006 à 17:45:11  profilanswer
 

Dit moi, tu te rends compte que t'utilises "$_POST['selectiongroupement1']" avant d'avoir vérifier si elle est initialisé et que tu ne j'utilises plus aprés avoir vérifier son existance?

n°1319690
flock86
oh non les gars pas le slip!
Posté le 06-03-2006 à 17:52:06  profilanswer
 

omega2 a écrit :

Dit moi, tu te rends compte que t'utilises "$_POST['selectiongroupement1']" avant d'avoir vérifier si elle est initialisé et que tu ne j'utilises plus aprés avoir vérifier son existance?


 
 
euuuuh :sweat:  :D  
 
beeen oui.
 
en fait il est vrai que j'aurais pu vérifier si elle est intialisée avant de l'utiliser...
 
mais après je vérifie qu'elle est là ou pas c'est tout...j'ai mis ça (à la ligne 102) dans le cas  de la première ouverture de page, pour éviter d'avoir un message d'erreur comme quoi la variable n'était pas définie...
stou!
 
je sais que ça peut paraitre crétin... et ça l'est sans doute... :sweat:
 
et pis j'ai mangé un bout de code pour l'exposer ici...trop long sinon


Message édité par flock86 le 06-03-2006 à 17:55:53
n°1319693
anapajari
s/travail/glanding on hfr/gs;
Posté le 06-03-2006 à 17:56:01  profilanswer
 

Il s'en sert fort joliment ici:

Code :
  1. {
  2. $requete14 = mysql_query ('UPDATE `tp_editionencours` SET NumeroLR="'.$_POST['numerolr'].'" WHERE LibEntiteRemettant="'.$_POST['selectiongroupement1'].'"') or die(mysql_error());
  3. //insertion date edition carte
  4. $requete55 = mysql_query ('UPDATE `tp_editionencours` SET DateEditCarte="'.$dateeditcarte.'" WHERE LibEntiteRemettant="'.$_POST['selectiongroupement1'].'"') or die(mysql_error());
  5. }


D'ailleurs toutes tes requetes rentreraient en une seule, si tu la construisait en fonction de tes params.
 
Quoi qu'il arrive pour ton "vrai" problème... Pfff sais pas c'est tout dégueux ton truc et ça me laisse penser que tu ne vois pas trop bien la différence en html&php
 
edit: mal lu le post de gatsu


Message édité par anapajari le 06-03-2006 à 17:58:52
n°1319694
flock86
oh non les gars pas le slip!
Posté le 06-03-2006 à 17:57:04  profilanswer
 

boah! si je fais la différence..pourquoi tu dis ça?
 
degueu je veux bien...mais j'applique ma logique de beta avant toute chose...
tu veux que j'indente mon code? keske je peux faire pour le rendre moins dégueu à part optimiser les requetes sql?


Message édité par flock86 le 06-03-2006 à 17:58:47
n°1319697
anapajari
s/travail/glanding on hfr/gs;
Posté le 06-03-2006 à 18:03:22  profilanswer
 

nan mais déjà:

Code :
  1. $requete55 = mysql_query ('UPDATE `tp_editionencours` SET DateEditCarte="'.$dateeditcarte.', DateEditCarte="'.$dateeditcarte." WHERE LibEntiteRemettant="'.$_POST['selectiongroupement1'].'"');


ça t'evite de faire une requete pour rien sur le serveur ( et pareil pour les autres if)
ensuite si dans $_POST['selectiongroupement1'] tu devrais le mysql_escaper au moins!

n°1319702
flock86
oh non les gars pas le slip!
Posté le 06-03-2006 à 18:08:02  profilanswer
 

mysql_escaper ? ok! compris...oui t'as raison je connaissais pas! hé!
 
merci pour la requete simplifiée oui en effet c'est mieux!!


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

  problème de condition et de timing du coup...

 

Sujets relatifs
[PERL] Problème avec tableaux / liste imbiqués[Javascript] Problème de rafraichissement d'image
Problème d'import SQL Server 2005 (DTS)Problème avec un LDAP_BIND
Probleme de gestion du son dans flashProbleme de variables ... [résolu]
Problème de récupération de donnée dans une table[PHP] Boucle do while() a condition multiples (résolu)
probleme passage variable page à une autreProbleme avec un script {RESOLU}
Plus de sujets relatifs à : problème de condition et de timing du coup...


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