Plusieurs boutons de type "submit" dans la même page

cs_faty86 Messages postés 20 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 5 juin 2008 - 17 avril 2008 à 14:13
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 - 17 avril 2008 à 15:20
Salut !!

J'ai une page consulterClient.php dans laquelle j'insère la reference d'un client.En cliquant sur un bouton submit une autre page consutercl2.php apparait ave les données de ce client.
Voici le code :

<html>
<head></head>



Consultation Clients


<form name="consultercl" method="post"action="consultercl2.php">
      ----

   Ref Client,
   ,
  
  
  ----

   Nom,
   ,
       ----

   Adresse,
   ,
  

   




</form>

</html> 

> Le problème c'est que j'ai besoin d'autres boutons (Supprimer Client,Modifier) qui ferons la redirection vers d'autres pages,supprimer.php,modifier.php (j'ai besoin de plusieurs " method="post"action="consultercl2.php"pour faire le POST["Refcl"]." dans chaque redirection). Est ce que je peux mettre plusieurs liens dans action=""?? Je peux pas faire plusieurs boutons submit car il ne va pas faire la difference entre les redirections. j'ai essayé de mettre juste un lien sous forme de bouton mais il ne reconnait plus le " ".$_POST["Refcl"]."' "!! 
comment faire ??
merci pour votre aide !

1 réponse

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
17 avril 2008 à 15:20
Salut,

C'est pas vraiment possible d'envoyer un seul formulaire vers plusieurs pages suivant le bouton qu'on a cliqué. La destination du formulaire est liée au formulaire lui-même, pas aux boutons submit qu'il comprend.

Ce que tu peux faire avec juste HTML, c'est avoir plusieurs boutons submit, avec des noms différents, et tester leur valeur dans le script qui traite les données du formulaire.

Pour rediriger vers un autre script si on clique sur le deuxième bouton, c'est possible de le faire en Javascript. Mais javascript, ce n'est pas fiable, parce que c'est soumis à la bonne volonté du client (de l'utilisateur et de son navigateur) qui peut décider de ne pas utiliser javascript (ou qui utilise un navigateur incompatible avec javascript).

Javascript, on ne peut réellement compter dessus qu'en entreprise, quand les clients sont tous identiques et se conforment à certaines spécifications émises par les développeurs... Autrement, Javascript, c'est bon pour ajouter un confort à la navigation, mais ça ne DOIT PAS être utilisé à d'autres fins. Notamment, tu ne dois pas te reposer dessus dans ton cas présent.

Concrètement, la meilleure solution serait d'avoir plusieurs boutons submit, ayant chacun un nom différent. Le script test, il ne doit trouver, dans $_POST qu'une seule variable correspondant à un bouton submit, les autres ne devant pas être envoyées.
A partir de là, c'est à toi de jongler avec des inclusions de fichiers ou, éventuellement, de traiter les données du formulaire et de tout passer en GET via une redirection avec header().

Et s'il y a d'autres solutions, je ne les connais pas...

<hr size="2" width="100%" />Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
0