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

  FORUM HardWare.fr
  Programmation
  PHP

  Formulaire créé en javascript limité à 90 "lignes"

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Formulaire créé en javascript limité à 90 "lignes"

n°2296600
bingojm
Posté le 18-02-2017 à 08:36:41  profilanswer
 

Bonjour à tous,
 
J'ai un problème avec le code suivant:
 

Code :
  1. if(!empty($_POST['id_produit_'])){
  2. foreach($_POST['id_produit_'] as $key => $val)
  3. {
  4.  $requete="INSERT INTO matable (num_vente,
  5.            id_produit,
  6.            quantite
  7.            )
  8.     VALUES ('$num_vente',
  9.       '$id_produit',
  10.       '$quantite'
  11.       )";    
  12. }//Fin du foreach
  13. }//Fin du Post
  14. header("location:"."http://www.google.be" );


 
Il n'y a pas de problème s'il n'y a pas beaucoup de lignes à enregistrer dans le foreach, mais s'il y en a beaucoup, tout ne s'enregistre pas dans ma base.
Je pense donc que la redirection s'effectue avant que la boucle ne soit finie.
 
Pensez-vous que le problème puisse bien venir de là? Mon header est mal placé?
Auriez-vous une solution pour moi svp?
 
Merci d'avance!


Message édité par bingojm le 22-02-2017 à 17:08:13
mood
Publicité
Posté le 18-02-2017 à 08:36:41  profilanswer
 

n°2296603
lesprate
Posté le 18-02-2017 à 12:40:59  profilanswer
 

Salut à toi.
j'ai repris ton code, l'ai remit à ma sauce + concaténation. ci-dessous

Code :
  1. if(!empty($_POST['id_produit_'])){
  2.     foreach($_POST['id_produit_'] as $key => $val){
  3.          $requete= 'INSERT INTO matable (num_vente, id_produit, quantite) VALUES ("'.$num_vente.'","'.$id_produit.'","'.$quantite.'" )'; 
  4.     }//Fin du foreach
  5. }//Fin du Post
  6. header("location:"."http://www.google.be" );


 
Un petit test que tu peux faire :  
 

Code :
  1. if(!empty($_POST['id_produit_'])){
  2.     $nb_val = count($_POST['id_produit_']);
  3.     $nb = 0;
  4.     foreach($_POST['id_produit_'] as $key => $val){
  5.          $requete= 'INSERT INTO matable (num_vente, id_produit, quantite) VALUES ("'.$num_vente.'","'.$id_produit.'","'.$quantite.'" )';
  6.          $nb += 1;
  7.        
  8.     }//Fin du foreach
  9. }//Fin du Post
  10. if($nb_val == $nb){
  11.     var_dump(''INSERT OK);
  12.     header("location:"."http://www.google.be" );
  13. }


 
Je ne suis pas un pro, mais les var_dump, il y a que ça de vrai :)


---------------
_______________    _____________
n°2296709
bingojm
Posté le 22-02-2017 à 16:08:16  profilanswer
 

Merci à toi lesprate.
 
AU SECOURS! Quelle horreur...
En fait, ce n'est pas une histoire de redirection. Tout va bien de ce côté-là. Je dirais même que c'est plus grave...
 
Le souci est qu'en testant avec var_dump, je me rends compte que le nombre d'enregistrement se limite toujours à 90!!!!  
 
Pourquoi???
 
Merci pour votre aide...

n°2296715
bingojm
Posté le 22-02-2017 à 17:07:19  profilanswer
 

Je m'y perds...
J'ai mal analysé le var_dump...
En effet, il m'indique (grâce à lesprate :) ) que il n'y a pas de souci au niveau sql ni de la boucle... car si j'ai 200 enregistrements, mon $nb_val est limité lui aussi à 90 enregistrements. La suite est logique, les 90 enregistrements sont bien enregistrés.
Le souci est donc ailleurs et avant la boucle !
 
Il faut savoir que mon formulaire est créé au fur à mesure qu'un article est sélectionné dans une liste (tout ça en javascript). Donc la liste s'allonge au fur et à mesure jusqu'à l'envoi. Et apparemment, au moment de l'envoi, il n'y a que 90 enregistrements qui passent.
 
Pourquoi??? Et surtout, comment y remédier?  
 
Merci

n°2296721
rufo
Pas me confondre avec Lycos!
Posté le 22-02-2017 à 17:25:34  profilanswer
 

Ton appli ne serait-elle pas hébergée sur un serveur mutualisé ?
 
Moi, j'ai eu le soucis chez OVH : au bout d'un certain nb de requêtes SQL, OVH coupait la connexion à la BD et mon script PHP continuait tranquillement mais forcément, sans accès à la BD, le reste du traitement se passait mal :/ La raison était que c'était pour se protéger du flood SQL.
Regarde si t'aurais pas un msg d'erreur de la part de ton SGBD (MySql, j'imagine ?).


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2296723
bingojm
Posté le 22-02-2017 à 17:31:15  profilanswer
 

Non j'ai mon propre serveur dédié.
Y aurait-il des réglages à modifier?
 
Mais apparemment, c'est exactement le même problème que toi!
Ouf, une explication c'est déjà ça...
Pourtant 200 lignes, ce n'est quand même pas énorme...
 
Cela dit, si la connexion était coupée, Est-ce que $nb_val ne serait quand même pas lui, à 200?
 
Je vais regarder si je trouve des messages d'erreur...

n°2296736
rufo
Pas me confondre avec Lycos!
Posté le 23-02-2017 à 09:55:51  profilanswer
 

Fais un print_r($_POST['id_produit_']) pour voir si ton formulaire est bien complet. Ca pourrait venir aussi d'une limitation de la taille de données postée par le navigateur.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2296777
bingojm
Posté le 23-02-2017 à 18:49:54  profilanswer
 

Merci pour ton aide rufo.
Le problème est bien là. Dans tous les cas, je n'ai que 90 valeurs!!!
C'est donc le navigateur qui pose problème?
J'utilisais IE. Y a-t-il moyen de contourner ce problème?
 
Merci d'avance

n°2296778
bingojm
Posté le 23-02-2017 à 18:52:35  profilanswer
 

Même problème avec Mozilla :(
 
Au secours...

n°2296780
rufo
Pas me confondre avec Lycos!
Posté le 23-02-2017 à 19:46:18  profilanswer
 

Ton formulaire semble trop gros. T'aurais pas la possibilité de poster ton formulaire ligne par ligne avec du Ajax par ex ?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
mood
Publicité
Posté le 23-02-2017 à 19:46:18  profilanswer
 

n°2296783
bingojm
Posté le 23-02-2017 à 21:23:39  profilanswer
 

Ouch. Voilà la mauvaise nouvelle de l'année.
Ben si, mais je dois tout recoder. quelle horreur.
En fait, je construisais tout le formulaire en javascript avant de l'envoyer. Et quand le formulaire devient trop gros, ben voilà le résultat.
Je n'ai pas d'autre choix??

n°2296786
rufo
Pas me confondre avec Lycos!
Posté le 23-02-2017 à 23:07:18  profilanswer
 

Un formulaire avec 200 lignes, ça fait quand même beaucoup, non :??:
Ajax ou découpage en lots de x enregistrements.
 
Voir quand même si t'as pas un pb de conception... :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2296814
bingojm
Posté le 24-02-2017 à 14:03:46  profilanswer
 

200 lignes c'est très rare, mais c'est arrivé, donc pas le choix...
Allez, c'est parti.
Je vais recommencé en ajax. Voyons le bon côté, j'en retirerai encore d'autres avantages. :)
Merci beaucoup rufo! Rassuré de voir au moins d'où vient le problème.

n°2297307
NewsletTux
<Insérez ici votre vie />
Posté le 06-03-2017 à 16:42:18  profilanswer
 

Salut,
débrider Apache n'est peut-être pas une solution pérenne, mais vois si ce genre de réglage peut t'aider : http://stackoverflow.com/questions [...] -variables
 
Vu que t'es sur un dédié. Faut bien relancer Apache ensuite.


---------------
NewsletTux - outil de mailing list en PHP MySQL
n°2297329
bingojm
Posté le 06-03-2017 à 22:41:44  profilanswer
 

C'est magnifique NewsletTux. Tu me fais gagner des dizaines d'heures de travail. Il fallait le savoir! 1000 mercis!!!


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

  Formulaire créé en javascript limité à 90 "lignes"

 

Sujets relatifs
boucle while avec affectation en pythonProblème META REFRESH tourne en boucle
créer des listes python en boucle list(n)Problème avec boucle foreach powershell
boucle de dico et listeLa fameuse boucle "For Each... Next"
Trouver la vrai adresse mail d'une redirection d'email[RSOLU] [bash] while avec if/elif/fi qui tourne en boucle
Boucle sur appel de Routine, VBA 
Plus de sujets relatifs à : Formulaire créé en javascript limité à 90 "lignes"


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