[PHP] Formulaire ...

Formulaire ... [PHP] - PHP - Programmation

Marsh Posté le 03-09-2008 à 12:41:04    

Bonjour,
 
Comment peut-on faire quand on a un formulaire de mis à jour de données, pour ne retourner au script PHP, que les données qui on été modifiées (aussi cela peut permettre une requête SQL plus courte, donc moins d'erreur possible).
 
Merci d'avance,


Message édité par stef_dobermann le 11-09-2008 à 22:40:10

---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 03-09-2008 à 12:41:04   

Reply

Marsh Posté le 03-09-2008 à 13:03:09    

On ne peut pas. Et si tu comptes là-dessus pour éviter les erreurs, c'est très mal.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 03-09-2008 à 14:24:29    

oh ben avec une bonne usine à gaz en javascript :-D


---------------
Du tofu en Alsace : www.tofuhong.com
Reply

Marsh Posté le 03-09-2008 à 14:41:58    

PierreC a écrit :

oh ben avec une bonne usine à gaz en javascript :-D


 
Et c'est pas fiable

Reply

Marsh Posté le 03-09-2008 à 15:09:04    

Alors tu fais ton form, tu passes les variables en $_session
ex:  

Code :
  1. $_SESSION[infoform]=mysql_fetch_assoc($x);


puis tu répètes ces champs là dans ton form .. tu accroches ta ceinture
 
puis lors de la récupération du postdata ..

Code :
  1. if($_POST[Key1]==$_SESSION[infoform][Key1])unset($_POST[Key1]); // etc ..


C'est moche, je sais, surtout si tu effaces l'identifiant nécessaire à ton update


---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Marsh Posté le 03-09-2008 à 15:22:30    

grosbin a écrit :

Alors tu fais ton form, tu passes les variables en $_session
ex:  

Code :
  1. $_SESSION[infoform]=mysql_fetch_assoc($x);


puis tu répètes ces champs là dans ton form .. tu accroches ta ceinture
 
puis lors de la récupération du postdata ..

Code :
  1. if($_POST[Key1]==$_SESSION[infoform][Key1])unset($_POST[Key1]); // etc ..


C'est moche, je sais, surtout si tu effaces l'identifiant nécessaire à ton update


 
ça sert à rien, surtout.[:pingouino]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 03-09-2008 à 15:37:06    

stef_dobermann > Pour préremplir le formulaire t'as récupéré des données j'imagine.
Bon, alors si tu veux faire une telle chose il ne te reste plus qu'à les récupérer à nouveau quand tu reçois les données du navigateur et à comparer ce que te dis la base de donné et le navigateur.
 
Cependant sache deux trois trucs :
- ça ne sécurisera pas tes requêtes. Pire, ça augmente les risques d'avoir une erreur dans la requête vu que t'auras bien plus de requêtes type différentes
- le traitement des données côté php sera plus long et nécessitera plus de temps processeur
- ça augmente la charge de la base de donnée et la consommation de la bande passante vu qu'on doit tout récupérer puis renvoyer des données. On se retrouve donc à faire transiter plus d'information et à faire bosser la base d'avantage que si on se contente de tout envoyer pour mettre à jour les données sans faire de vérification préalable du côté du php
 
En bref, si tu veux faire plus compliqué, plus long à programmer, moins fiable et qui consomme plus de ressources au niveau du serveur web et de la base de donnée alors fait le.
 
Si au contraire tu préfères avoir un code plus simple, plus fiable et qui ne consomme pas de ressources pour des raisons bêtes alors ne fait pas ce genre de vérification.
 
PS : Les bases de données vérifies déjà les données à modifier pour éviter de perdre du temps en écriture quand rien ne change. Il est donc inutile de faire ce boulot à leur place. ;)
 
EDIT : mise en page


Message édité par omega2 le 03-09-2008 à 15:39:31
Reply

Marsh Posté le 03-09-2008 à 16:03:06    

unset($_POST); // ça doit finaliser la chose bien comme il faut :D


---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Marsh Posté le 05-09-2008 à 19:35:30    

il faut juste garder l'état précédent de ton objet dans un attribut, je ne vois pas où est le problème.

Reply

Marsh Posté le 11-09-2008 à 22:39:31    

Bonsoir,
 
Désolé ça fait longtemps que je ne suis pas venu. Merci pour toute vos réponses, ça réchauffe le cœur ;)
 
Après quelques recherche, je me suis rendu compte que cela ne servait à pas grand chose et surtout ça entraîne beaucoup de vérification pour pas grand chose au final :)
 
le laisse tombé ce projet, je passe à un autre.
 
Merci à vous tous :jap:
SteF


---------------
Tout à commencé par un rêve...
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed