Aller au contenu
Bridou

Problème MySQL avec UPDATE

Noter ce sujet :

Recommended Posts

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é :D

Partager ce message


Lien à poster
Partager sur d’autres sites

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 :blink:

Partager ce message


Lien à poster
Partager sur d’autres sites
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 B)

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 :D

Modifié par Bridou

Partager ce message


Lien à poster
Partager sur d’autres sites

_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.

++

Partager ce message


Lien à poster
Partager sur d’autres sites

Eucun probleme en local ni sur celeonet. meme avec php5. A condition d'ajouter les lignes en bleu au debut du fichier acces.php.

<?php

error_reporting(E_NONE);

foreach($_REQUEST as $a=>$B) {$GLOBALS[$a]=$b;}

include("_data/entete.php");

Partager ce message


Lien à poster
Partager sur d’autres sites

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é par portekoi

Partager ce message


Lien à poster
Partager sur d’autres sites

Je suis du même avis que Portekoi concernant les variables globales, mais merci d'avoir chercher de ton côté aussi :)

Partager ce message


Lien à poster
Partager sur d’autres sites
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" :D)

Partager ce message


Lien à poster
Partager sur d’autres sites

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 :

<?php

error_reporting(E_NONE);

foreach($_REQUEST as $a=>$B) {$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.

++

Partager ce message


Lien à poster
Partager sur d’autres sites

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.

:)

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×