formulaire avec réaffichage problématique [PHP-RESOLU] - PHP - Programmation
Marsh Posté le 08-09-2003 à 16:46:38
T'as essayé de faire les contrôles en JavaScript, aussi ? OK, tout le monde active pas JS m'enfin c'est déjà une connec au serveur d'économisée.
Sinon en PHP, plutôt que de faire des =="" t'as la fonction empty() (cf http://www.php.net/manual/fr/function.empty.php ) et de manière générale tout ce qui concerne les opérations sur variables ( http://www.php.net/manual/fr/ref.variables.php ). Mais je vois pas vraiment d'où peut venir ton problème. Déjà, est-ce que tu peux pas fractionner ton formulaire sur plusieurs pages ? Passke 50 champs c'est un peu lourd...
Marsh Posté le 08-09-2003 à 17:01:10
Alors
Pour les contrôles js : j'y ai songé, mais je n'ai qu'environ 6 champs obligatoires et assez évidents, donc je me suis permis de les sauter (il me faut de toutes façons rajouter le contrôle côté serveur).
Je faisais un truc du genre en ASP, 1 seul form avec une 80aine de champs (affichés en 4 pages pour la propreté), c'était rapide et sans problème... J'ai donc juste l'impression que je dois me planter en essayant d'utiliser la même méthode.
Sinon, je me disais qu'il ramait parce que :
les variables sont définies "si $add==1"
Donc au moment de l'ouverture du formulaire d'INSERT, avec les value="<? echo $val?>", on a toutes une série de $val qui ne sont pas définies (puisque $add=0).
->pour le empty(), ça ferait un poil plus propre, je vais m'y mettre.
Mais bon, le problème se situe AVANT tout contrôle, au moment de l'affichage du form vide, c'est ça qui me gêne un peu...
En affichant la source, j'ai un code normal, mais qui s'arrête après quelques lignes...
Merci déjà.
Marsh Posté le 08-09-2003 à 17:10:09
DeliriumTremens a écrit : |
Ah ouais, on voit que tu viens de l'ASP rien qu'en matant la première ligne de ton code Vérifie que ça soit pas ça qui plante, déjà
Après... c'est assez bizarre comme comportement, j'vois pas bien d'où ça pourrait v'nir
Marsh Posté le 08-09-2003 à 17:16:59
Oh la remarque mesquine
Le problème, c'est que j'ai fait ça pour un autre formulaire, avec php, dans le cadre du même projet. Il n'y avait que 13 champs, et mon système fonctionne sans problème du début à la fin (contrôles, affichage, réaffichage, mod, del, ins dans MySql).
Pas de quoi crier au génie, j'en suis conscient, mais disons que je ne suis pas "complètement" paumé dans la chose, et c'est vraiment avec l'augmentation du nbre de variables que tout foirasse et que j'ébulitionne en vain.
Marsh Posté le 22-09-2003 à 08:09:03
Dans ma grande bonté, tu peux me montrer ton code en message privé, je regarderai ce qui va pas
Enfin vu la date de ton topic, tu a peut etre deja trouvé la solution au probleme?
Marsh Posté le 22-09-2003 à 08:28:24
Citation : T'as essayé de faire les contrôles en JavaScript, aussi ? OK, tout le monde active pas JS m'enfin c'est déjà une connec au serveur d'économisée. |
Ca c'est mal. Il faut toujours valider avec PHP. TOUJOURS.
Marsh Posté le 23-09-2003 à 19:29:53
aspegic500mg a écrit : Dans ma grande bonté, tu peux me montrer ton code en message privé, je regarderai ce qui va pas |
Eh oui, en effet, j'ai trouvé la solution, merci de l'offre quand même.
C'était un problème de variables non initialisées... Comme je n'avais activé que les erreurs et non les "notices", aucune faute n'apparaissait.
Me suis donc fait une petite fonction pour donner une valeur par défaut à mes variables, et la chose fut jouée.
Marsh Posté le 08-09-2003 à 16:41:10
Hello,
Problème qui se pose principalement en local, mais la question est d'ordre plus général.
J'ai un form avec une 50aine de champs. Je voudrais simplement effectuer un contrôle sur certaines entrées (puis insertion dans MySql, mais les soucis arrivent avant) avec réaffichage dans le form en cas d'erreur de saisie.
Système très manuel, qui me semble basique au possible.
Un champ caché pour vérifier s'il y a déjà eu envoi, si oui contrôle. (If $_POST["add"==1]
Pour les 50 variables, je fais toujours
Dans les champs,
<input type="text" name="nom" value="<?echo $nom?>" />
Le problème, c'est qu'en local, le chargement de la page ne se fait plus au bout d'un certain nombre de champs (une 10aine=ok, j'en rajoute un il rame comme pas possible pendant un temps fou, sans message d'erreur, mais rien ne s'affiche).
J'ai essayé sur un chtit compte lycos, le formulaire s'affiche (mais au bout d'au moins 7-8 sec, je ne sais pas si c'est dû à la lenteur de l'hébergeur ou à ma manière de faire).
-> éventuels réglages à modifier dans mon php.ini (!=script_timeout, j'ai essayé)??
-> ma manière de faire est foireuse ??
Sachant que si je ne mets pas de value=<?echo $val?> dans le formulaire, ya pas de problème (mais plus de réaffichage !)...
Message édité par deliriumtremens le 23-09-2003 à 19:30:23