Methode pour modifier un enreg de MySQL ?

Methode pour modifier un enreg de MySQL ? - PHP - Programmation

Marsh Posté le 01-10-2003 à 18:38:17    

Bonjour,
Je suis un peu débutant et je me demande quelle est la méthode générale pour modifier un enregistrement de MySQL avec la contrainte de ne pas avoir de javascript pour le contrôle des saisies (le client peut l' avoir désactivé) => tous les contrôles en PHP.
 
1- Affichage des données de MySQL (affich.php)
2- Saisie et 'envoi' du client
3- autre php qui contrôle les données (verif.php)
4- si pas erreurs => OK => Insert ou Update (update.php)
5- SI ERREURS : rappel de affich.php mais avec affichage des données du formulaire (et non plus de MySQL)
 
Adoptez-vous un principe de ce genre ?
ou comment faites-vous pour ce type de modif ?
 
merci
JLC


Message édité par chninkel le 01-10-2003 à 18:39:22
Reply

Marsh Posté le 01-10-2003 à 18:38:17   

Reply

Marsh Posté le 01-10-2003 à 18:40:44    

chninkel a écrit :

Bonjour,
Je suis un peu débutant et je me demande quelle est la méthode générale pour modifier un enregistrement de MySQL avec la contrainte de ne pas avoir de javascript pour le contrôle des saisies (le client peut l' avoir désactivé) => tous les contrôles en PHP.
 
1- Affichage des données de MySQL (affich.php)
2- Saisie et 'envoi' du client
3- autre php qui contrôle les données (verif.php)
4- si pas erreurs => OK => Insert ou Update (update.php)
5- SI ERREURS : rappel de affich.php mais avec affichage des données du formulaire (et non plus de MySQL)
 
Adoptez-vous un principe de ce genre ?
ou comment faites-vous pour ce type de modif ?
 
merci
JLC


 
oui

Reply

Marsh Posté le 01-10-2003 à 18:52:46    

Tu peux aussi tout gérer en une page, avec quelques champs hidden
 
-insertion
-modification
-destruction
-contrôles
-réaffichage éventuel si erreur sur insertion ou modification
 
 
J'utilise juste du js pour confirmation des DELETE.

Reply

Marsh Posté le 01-10-2003 à 20:50:26    

Tout en une seule page me plairait plus mais je ne vois pas très bien comment faire ...
Pourrais-tu m'en dire un peu plus sur ton 'tout gérer en une page' ?
merci
JLC


Message édité par chninkel le 01-10-2003 à 21:41:05
Reply

Marsh Posté le 02-10-2003 à 09:11:44    

Citation :

Tout en une seule page me plairait plus mais je ne vois pas très bien comment faire ...
Pourrais-tu m'en dire un peu plus sur ton 'tout gérer en une page' ?
merci
JLC


 
C'est mieux d'utiliser plusieurs pages imo. C'est plus lisible et ça evite les conneries du genre "l'utilisateur fait un refresh de la page et hop la query est executée a nouveau".

Reply

Marsh Posté le 02-10-2003 à 09:19:12    

Bon ben ça pourrait être un peu long pour le tout, mais en gros :
 
Une fonction pour donner une valeur par défaut aux variables de formulaire et effectuer un premier traitement sur les valeurs entrées

Code :
  1. Function PParameter ($name, $default)
  2.     {
  3.     If (isset($_POST[$name]))
  4.     $result=trim(htmlspecialchars($_POST[$name]));
  5.     Else
  6.     $result=$default;
  7.        
  8.     return($result);
  9.     }


 
Pour chaque variable de tes forms, tu fais un
$var=Pparameter("var", "" ).
 
Le but de cette chose étant entre autres de faire l'affichage et le réaffichage en cas d'erreur dans le même form.
 
Dans ton form, tu fais ensuite comme ça :
<input type="text" name="var" value="<?echo $var?>" />
 
Ensuite faut 2 champs "hidden" pour les formulaires d'ajout et de modification.
 
Un champ $aj et un champ $add pour les insertions,
Un champ $modif et un champ $add pour les modifications (2 fois $add, c'est voulu, ça simplifie les contrôles).
 
Obligé d'en avoir 2 pour faire les contrôles, le réaffichage et l'affichage d'un seul formulaire (puisque tu dois le doubler ou l'"includer" 2 fois). On joue avec des $_POST et des $_GET sur ces variables pour les affichages désirés.
 
Ca devient de moins en moins clair, j'en suis conscient, donc si tu veux que je t'envoie une page avec la chose je le fais volontiers.  
 
En t'avouant que je suis très loin d'être persuadé que c'est la méthode la meilleure ou la plus rapide... Fonctionnel oui, mais sans aucun doute à améliorer.

Reply

Marsh Posté le 02-10-2003 à 09:33:59    

Des exemples tirés du bouquin "Web databases applications with PHP and MySQL" => http://www.webdatabasebook.com/examples.html
 
probleme du reload =>
http://www.webdatabasebook.com/sou [...] le.6-1.php
 
script insertion =>
http://www.webdatabasebook.com/sou [...] le.6-2.php
 
script redirection =>
http://www.webdatabasebook.com/sou [...] le.6-3.php
 
Il y a aussi la version "finale" de ces scripts dans le chapitre 10.

Reply

Sujets relatifs:

Leave a Replay

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