TheRec Posté 28 Juillet 2005 Posté 28 Juillet 2005 Ben euh..désolé j'ai pas eu le temps de plancher dessus...merci quand même de m'avoir enovyé les fichiers... J'ai juste pû décompresser et voir que le login marchait pas à cause de register_globals apparemment...après j'ai du partir Bonne chance avec ton site et je suis content que ton problème ait pû être réglé
Boo2M0rs0 Posté 28 Juillet 2005 Posté 28 Juillet 2005 Get c'est vraiment pas la solution, problème d'encodage de l'url etc :x et j'ai rajouter des 's' à la fin de chaque chaine : QUOTE $auteur = $_POST["auteur"]."s"; $titre = $_POST["titre"]."s"; $genre = $_POST["genre"]."s"; Et devinez quoi? Et oui, lors de l'update, il n'a enregistré que les s ... Donc il y a un code en amont qui enlève les valeurs contenues dans $_POST, que se passe t-il avec $_REQUEST (qui combine $_GET et $_POST ) ? Sinon peut être qu'il y a plusieurs connexion à la base de donnée et que des actions (update insert etc) ne sont pas répercutés tout de suite si d'autres connexion existe au même moment. A priori "j'ai" trouvé ! Suite à ta remaque des champs HIDDEN, j'ai testé cette solution tout en gardant la méthode POST et cela fonctionne l'édition ne plante plus. Je vais encore faire des tests mais je pense qu'on tient le bon bout ! Apparament c'est bon même si je comprend pas pourquoi
Bridou Posté 28 Juillet 2005 Auteur Posté 28 Juillet 2005 (modifié) Sinon peut être qu'il y a plusieurs connexion à la base de donnée et que des actions (update insert etc) ne sont pas répercutés tout de suite si d'autres connexion existe au même moment. Ca je ne pense pas car comment expliquer qu'avec la dernière méthode trouvée, ca fonctionne à tout les coups alors qu'avant il fallait essayer 2, 3 fois la requête ? Ce problème a été très curieux et n'est pas vraiment résolu de la meilleure des manières mais le plus important pour moi est d'avoir une administration qui fonctionne et fait ce qu'on lui demande. _AT_TheRec : L'important c'est de participer Enfin merci à tous, je vais modifier tout mes fichiers avec la dernière solution puis je vous tiendrai au courant si je fais une découverte Modifié 28 Juillet 2005 par Bridou
Portekoi Posté 28 Juillet 2005 Posté 28 Juillet 2005 _AT_Boo2M0rs0 : - Le GET était un exemple. Je ne lui ai pas dis de l'utiliser mais de tester afin de lui montrer que cela fonctionne en GET - $_REQUEST fonctionnait hier soir grâce au $_GET. Cela n'a pas avancé le schmilblic ( voir ci-dessus ) - J'ai testé hier les connexions en les refermant systématiquement mais rien à faire. Et le problème n'est pas là puisque la requête est correctement exécutée mais avec des champs vides. - Moi non plus je pige pas pourquoi mais je ferais mes tests ce soir Je vous tiendrais au courant à moins que quelqu'un ne trouve avant. ++
Dash Posté 28 Juillet 2005 Posté 28 Juillet 2005 Eucun probleme en local ni sur celeonet. meme avec php5. A condition d'ajouter les lignes en bleu au debut du fichier acces.php. <?phperror_reporting(E_NONE); foreach($_REQUEST as $a=>$ {$GLOBALS[$a]=$b;} include("_data/entete.php");
Portekoi Posté 28 Juillet 2005 Posté 28 Juillet 2005 (modifié) C'est dangereux, à mon gout, de mettre toutes les variables en globales. Après, chacun fait comme il veut ... PS : Sympa ton site :www.atelierphp5.com Modifié 28 Juillet 2005 par portekoi
Bridou Posté 28 Juillet 2005 Auteur Posté 28 Juillet 2005 Je suis du même avis que Portekoi concernant les variables globales, mais merci d'avoir chercher de ton côté aussi
Dash Posté 28 Juillet 2005 Posté 28 Juillet 2005 C'est dangereux, à mon gout, de mettre toutes les variables en globales. <{POST_SNAPBACK}> Relativisons. Faire des tests est toujours dangeureux. Or, nous sommes toujours en recherche d'une solution ici. Et ajouter 2 ligne pour tester un code est a mon avis plus sur que d'avoir a faire des dizaines de modifications pour tester chaque eventualite. Faire des tests simples et rapides, puis affiner par la suite n'a rien est un processus courant. Ici cela a permis d'arriver a des conclusions en seulement quelques secondes Pour le danger, je serai tente de dire : "Ah parce qu'il y a des considerations de securite ? j'ai du manquer quelque chose... L'entierete du code source est a (re)voir..." (c'est du codage maison donc surement "dégeulasse" )
Portekoi Posté 28 Juillet 2005 Posté 28 Juillet 2005 Je te trouve un peu dur Concernant les tests, il avait mis en local son GLOBAL à ON donc tes deux lignes n'avancaient pas la chose. (touours pour moi) Il faut donc voir plus loin et avancé en modifiant une chose à la fois ce qui m'a permis de trouver pour le GET et le POST. C'est sur, maintenant que la remarque (concernant le GET et le POST) a été faites, il est plus facile de dire : <?phperror_reporting(E_NONE); foreach($_REQUEST as $a=>$ {$GLOBALS[$a]=$b;} include("_data/entete.php"); Ce qui reviens au même que ca config en local Le serpent qui se mord la queue. ++
Dash Posté 28 Juillet 2005 Posté 28 Juillet 2005 Depuis 15 jours, il pleut quotidiennement. Il va y avoir de l'orage cette nuit. Il fait chaud et pas beau. Ce qui explique en partie mon humeur... Pourquoi le serpent se mord-il la queue ? que faut-il retenir de mes tests ? Pas qu'il faille tout mettre en global. Ca avait deja ete dit. Mais que ca fonctionne sur celeonet.fr (php4/php5) en plus de fonctionner en local. Sans avoir a modifier quoi que ce soit - ou presque dans le code source. L'erreur n'est donc vraissemblablement pas a cherche de ce cote.
Portekoi Posté 28 Juillet 2005 Posté 28 Juillet 2005 Pardon si tu as mal pris mon post, ce n'était pas son but Le serpent se mord la queue car : - Cela fonctionne en local avec le Global à ON - Tu dis : Cela fonctionne aussi en ligne avec le Global à ON Bé normal si l'on a la même config en local qu'en ligne J'ai peut être pas compris un truc... en même temps, j'ai mangé McDo ce midi et il est mal passé C'est pas grave, le but étant d'avoir aider notre ami à trouver un début de piste. Ce soir, je continue pour voir @ Toute Portekoi
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant