1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
<?php
$action = (isset($_POST['action']) && !empty($_POST['action'])) ? $_POST['action']: 'defaut';
// ----- TRAITEMENT (formulaires) -----
switch ($action) {
case 'insertion' : // Traitements pour insertion
case 'miseajour' : // Traitements pour mise à jour
// Vérifications des données
$erreur = false;
... etc ...
if ($erreur === true) {
// Une erreur a eu lieu
$action = ($action === 'insertion') ? 'form_insert': 'form_update';
}
else {
// Pas d'erreur : On met à jour
if ($action === 'insertion') {
// Requête INSERT INTO
}
else if ($action === 'miseajour') {
// Requête UPDATE
}
// Qu'il est eu une insertion ou mise à jour on propose de mettre à jour
$action = 'form_update';
}
break;
case 'suppression' : // Traitements pour suppression
break;
}
// On initialise les données par défaut
// Sinon on récupère les données de POST si elles existent
// Ou alors on récupère les données de la Bdd pour une mise à jours
$formu_action = 'insertion';
$formu_valider = 'Nouveau';
// Toutes les autre données
$donnees['nom'] = '';
$donnees['prenom'] = '';
if (isset($_POST) && !empty($_POST) && ($action === 'form_insert' || $action === 'form_update')) {
// Formulaire insertion/de mise à jour (Une erreur est survenue)
if ($action === 'form_update') {
$formu_action = 'miseajour';
$formu_valider = 'Actualiser';
}
// Toutes les autre données
$donnees['nom'] = $_POST['nom'];
$donnees['prenom'] = $_POST['prenom'];
}
else if (... la condition qui permet de récupérer les données dans la Bdd ...) {
// On récuprère les données de la Bdd (mise à jour)
// Requête (... mysql_query ...)
$donnees = mysql_fetch_array();
}
// ----- INTERFACE (formulaires) -----
?>
<form name="<?php echo $formu_action; ?>" action="formulaire.php" method="post">
<input type="text" name="nom" value="<?php echo $donnees['nom'] ?>" />
... etc ...
<input type="hidden" name="action" value="<?php echo $formu_action; ?>" />
<input type="submit" name="valider" value="<?php echo $formu_valider; ?>" />
</form> |
Partager