Probleme formulaire multibouton html
Hors ligneKefren Le 31/03/2008 à 13:36 Profil de Kefren Configuration de Kefren

Voila j'essaye de créer un formulaire comprenant plusieurs boutons.

Lorsque je clique sur un des deux boutons j'aimerai qu'ils me renvoient à une autres page mais je n'arrive pas à le faire fonctionner

code du formulaire :





<form action="<? récupérer la valeur de la page en fonction du bouton sur lequel on clique : $page ?>" method="post">
<input type="submit" name="bouton1" value="Modifier mes donn&eacute;es personnelles" onClick="<? $page = "url de ma page 1" ?>"/>
<input type="submit" name="bouton2" value="Demande de compte revendeur" onClick="<? $page = "url de ma page 2" ?>" />


comment puis-je m'y prendre pour renvoyer a action du form la page que je souhaite afficher ?
--
Si les poules traversent juste devant les voitures ... c'est pour aller de l'autre coté de la route !!!
Hors ligneAnthony Le 31/03/2008 à 13:51 Profil de Anthony Configuration de Anthony

Admin
Salut :)

PHP est un langage côté serveur, ce que tu souhaites faire de cette façon se fait donc en Javascript qui lui est un langage côté client

Personnellement ce que je ferais, c'est ceci :

<form action="page.php" method="post">
<p>... ton formulaire quoi</p>
<p><input type="submit" name="envoi" value="Action 1" /> <input type="submit" name="envoi" value="Action 2" /></p>
</form>


et sur ta page "page.php" ceci :

<?php
if(isset($_POST['envoi']))
{
        switch($_POST['envoi'])
        {
                 case 'Action 1':
                     header('location: page1.php');
                 break;
                 case 'Action 2':
                     header('location: page2.php');
                 break;
                 default:
                     header('location: 404.php');
                 break;
                 exit;
        }
}
?>


Voilà tiens-moi au courant ;)
--

Hors ligneKefren Le 31/03/2008 à 14:27 Profil de Kefren Configuration de Kefren

en fait merci ca m'approche je vais essayer de faire plus clair car je pense que j'ai du mal m'exprimer aussi ;)

en fait le formulaire ne comporte que des boutons que je veux afficher sur la même ligne, en créant un formulaire par bouton ils ne sont plus sur la même ligne.

Donc en ce qui concerne ce formulaire en particulier, en cliquant sur le premier bouton j'arriverai sur la page 1.php et en cliquant sur le second bouton c'est la page 2.php qui devrai s'afficher

Avec les modifications que tu m'a donné que je clique sur l'un ou sur l'autre, je suis redirigé toujours sur la même page

Mais tu n'est pas obligé de me faire tout le code ;) je voudrais des précision pour savoir quoi utiliser car pour apprendre il faudrait que je me débrouille avec un minimum d'autonomie. N'est ce pas ? ;)

donc j'ai mon formulaire comprenant les deux boutons :



<form method="get/post" action="soit 1.php ou 2.php">

<!-- ce boutons doit me renvoyer sur la page 1.php -->
<input type="submit" name="envoi" value="1.php">

<!-- celui la sur la page 2.php -->
<input type="submit" name="envoi" value="2.php">
</form>


Est ce que tu vois mieux ce que je souhaite réaliser ?
--
Si les poules traversent juste devant les voitures ... c'est pour aller de l'autre coté de la route !!!
Hors ligneAnthony Le 31/03/2008 à 20:56 Profil de Anthony Configuration de Anthony

Admin
Ouais t'inquiètes j'ai parfaitement compris ce que tu souhaites réaliser, mais justement pour modifier dynamiquement l'action d'un formulaire, il faut utiliser du javascript. Or si le javascript est désactivé ou si ton visiteur utilise une plage braille ou tout autre navigateur non graphique, ça ne fonctionnera pas. Ma solution a l'avantage d'être accessible pour tous

Par contre tu me dis que ça ne fonctionne pas, ça m'étonne car je viens de faire du copier-coller dans une page "page.php" du code que je t'ai filé, et il fonctionne parfaitement
--

Hors ligneKefren Le 01/04/2008 à 08:42 Profil de Kefren Configuration de Kefren

autant pour moi :s j'ai du avoir un coup de mou hier..

J'essaye quelque chose et  si j'ai besoin d'informations complémentaires je c où trouver un coup de pouce ;)

Voila comme j'ai répondu il y a moins de 24h je modifie mon dernier message comme je ne peux pas en poster un nouveau.

Donc le formulaire fonctionne nikel mais la "value" d'un bouton comporte un accent aigue et cela me pose un problème pour le renvoi à la page de destination l'accent et noté de cette façon là : "&eacute;" comment puis-je le traité pour ne pas que ca me pose de problème ? J'ai tenté l'ajout de simple cote mais :/ , déception.


//formulaire :
value="Modifier mes donn&eacute;es personnelles"

//switch de page.php
case "Modifier mes donn&eacute;es personnelles":
--
Si les poules traversent juste devant les voitures ... c'est pour aller de l'autre coté de la route !!!
Hors ligneAnthony Le 01/04/2008 à 10:01 Profil de Anthony Configuration de Anthony

Admin
Mets un switch(htmlentities($_POST['envoi'])) et là ça va marcher, je viens de tester
--

Hors ligneKefren Le 01/04/2008 à 10:38 Profil de Kefren Configuration de Kefren

Impec j'arrivais pas à trouver un tuto simple et clair.

Par contre aurais tu un tuto à me conseillé concernant les variables de cession d'une part et puis concernant le dévelopement pour l'identification sur un site, comprenant également le codages des mdp etc ...

J'avais commencé mais bon ayant d'autres pages à créer je ne m'y étais pas attarder.


Et une petite dernière question pour ce topic quelle est la différence entre $_post et $_get ?

J'ai essayé de traiter un ' de la même façon que &eacute; sauf que dans mon switch j'ai ecrit : case "Page d'accueil":

je te note tout le code du switch :

if(isset($_POST['modifperso']))
{
        switch(htmlentities($_POST['modifperso']))
        {
                 case 'Valider les modifications':
                     header('location: envoimodifperso.php');
                 break;
                     
                 case 'Retour à mon compte':
                     header('location: moncompte.php');
                 break;
                     
                     case "Page d'accueil":
                     header('location: accueil.php');
                 break;
                     
                 exit;
        }
}
--
Si les poules traversent juste devant les voitures ... c'est pour aller de l'autre coté de la route !!!
Hors ligneAnthony Le 01/04/2008 à 11:57 Profil de Anthony Configuration de Anthony

Admin
Pour le ' fais un stripslashes(htmlentitities($_POST['message'])) il y a fort à parier que l'options magic_quotes_gpc est à on dans ton php.ini

Sinon pour le tuto sur les sessions : Les sessions en PHP (si y'a un truc de pas clair demande ;))

Pour l'identification je n'ai pas de tuto précis mais j'ai fait une source très simple : Espace membre PHP / MySQL

:)
--

Hors ligneKefren Le 01/04/2008 à 12:25 Profil de Kefren Configuration de Kefren

Ok pas de problème j'irais voir tout ça!!

Merci encore :D

Je t'avais demander un peu plus haut :

"Quelle est la différence entre $_post et $_get ?"

Je sais que l'un fait apparaitre des données dans l'URL et l'autre non mais je n'en sais pas plus :/
--
Si les poules traversent juste devant les voitures ... c'est pour aller de l'autre coté de la route !!!
Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels