Aller au contenu

Problème MySQL avec UPDATE


Sujets conseillés

Posté

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

  • Réponses 60
  • Créé
  • Dernière réponse

Contributeurs actifs dans ce sujet

Contributeurs actifs dans ce sujet

Posté

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:

Posté (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 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
Posté

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

++

Posté

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");

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

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

Posté
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)
Posté

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.

++

Posté

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.

:)

Posté

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

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant

×
×
  • Créer...