Formulaire avec 2 boutons de validation ? [PHP] - PHP - Programmation
Marsh Posté le 29-08-2005 à 21:44:01
Bah sinon tu met un champ type hidden que tu nome action, ensuite tu créé un second bouton qui change la valeur du champ action et qui envoit le formulaire. Ca implique un peu de js.
Ensuite tu enregistre les données si $_POST["action"] == "save" et avec un header() tu peu envoyer le visiteur vers une autre page.
Marsh Posté le 29-08-2005 à 22:23:21
@dwogsi, ta solution est à chier, mais bien à chier.
si tu traitais le formulaire avec la même page et en fonction du submit envoyé
ton HTML :
<input type="submit" value="supprimer" name="action">
<input type="submit value="ajouter" name="action">
et en PHP :
$action = ((isset($_POST['action']) ? $_POST['action'] : '';
et ensuite avec un swith
switch($action){
case 'supprimer':
action1;
action2;
break;
case 'modifier':
.....
break;
}
edit: merci pà sielfried je suis allé un pru trop vite
Marsh Posté le 29-08-2005 à 22:43:01
(value, pas action, l'attribut)
Marsh Posté le 29-08-2005 à 23:49:55
gatsusat a écrit : @dwogsi, ta solution est à chier, mais bien à chier. |
Euh oui la je reconnais mon erreur, mille pardons vraiment, y avais quand même mieux et nous en avons la preuve....
Alez-y, envoyez moi des pierres je suis pret.
Marsh Posté le 30-08-2005 à 10:19:17
nan pas besoin, du moment que tu appliques la bonne méthode c'est tout ce qui compte
Marsh Posté le 30-08-2005 à 12:16:12
Pour ma part je trouve cette méthode encore mauvaise
Je m'explique : Le problème de cette méthode vient du fait que le test est effectuer sur la valeur du submit. En gros, si on a envie de changer le texte du bouton (par exemple "ajouter" => "Ajouter l'enregistrement" ), le test n'est plus bon.
C'est pourquoi je préfère changer le nom du submit.
Exemple :
Code :
|
Et ensuite définir l'action à effectuer suivant le submit employé :
Code :
|
Marsh Posté le 30-08-2005 à 13:31:46
ben ouais, mais nan, tu te galère plus qu'il ne le faut.
LE mieux encore c'est de définir des variable en entête de ta page correspondants aux submit :
$submit_add = "Ajouter";
$submit_reload = "Recharger";
et dans le code tu fais juste des echo et ou tu te sers de ces variables pour le traitement, c'est plus souple que de faire ton traitement à la con
Marsh Posté le 30-08-2005 à 18:21:26
En quoi est-ce plus souple ? En rien...
Et même si tu parles de "traitement à la con", je vais prendre la peine de t'expliquer.
Lorsqu'un site est "bien fait", le code php est séparé du code html, pour qu'un designer, sans connaissance en php, puisse modifier l'apparence du site.
Avec ta méthode, le designer doit aller dans le code source pour changer la valeur du submit. Avec la mienne, il peut le faire dans son code html, sans perturber le code php.
Donc la prochaine fois merci d'argumenter pour ton code "plus souple" par rapport à mon "traitement à la con".
Marsh Posté le 29-08-2005 à 19:21:05
Bonjour, et merci de votre aide.
Je cherche à créer un formulaire de saisie dont l'apparence et le nombre de champs
sont dynamiques, et pour déclencher le réaffichage j'utilise le bouton submit, qui
pointe vers l'url de la même page.
Mais une fois la saisie terminée je dois aussi enregistrer les informations saisies
et pour cela il faut que j'envoie les données du formulaire à une page d'enregistrement.
J'ai donc besoin de 2 boutons submit !
Comment faire ?
PS: un peu de code illustratif de ce que je fais:
et le fichier UTILS.PHP: