post VS get

Eléphant du PHP | 110 Messages

21 nov. 2007, 15:37

salut,
petit souci avec get et post.

J'ai une url de la forme www.nomdomaine.truc/index.php?page=accueil qui pointe vers une page accueil.php. L'url est reecrite en fait.

j'ai un formulaire qui uilise la methode get avec comme parametre:

Code : Tout sélectionner

<form method = "get" action="index.php"> ... //champs divers// ... <input type=hidden name="page" value="page2"/> </form>
quand je clique sur le bouton envoyer du formulaire il m'envoie bien à la bonne page. jusqu'a la pas de probleme. par contre si je change la méthode du formulaire en method="post" ca ne marche plus, il m'envoie vers la page par defaut.

et pourtant je prefererais utiliser la methode post. quelqu'un aurait une idée pour pouvoir mettre mon formulaire en post?

merci

d0m
Mammouth du PHP | 1141 Messages

21 nov. 2007, 16:17

Ce n'est pas dans ce code que quelque chose doit être changé.
Que ça soit en GET ou POST, tu vas être dirigé vers la page précisée en action : index.php
C'est au niveau de ta page index qu'il faut revoir peut être le code.

Dans la page index, je pense que tu vérifies la valeur de $_GET['page'], il faut maintenant vérifier la valeur de $_POST['page'] ou alors $_REQUEST['page'] qui marche pour les 2 méthodes.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

21 nov. 2007, 16:24

Tu peux aussi faire un mix et envoyer des données en GET et en POST via ton formulaire, mais personnellement je ne trouve pas ça super pratique/joli de mélanger les deux :

Code : Tout sélectionner

<form method="postt" action="index.php?page=page2"> ... //champs divers// ... </form>
Tu récupères ainsi la valeur de page dans $_GET['page'] et les champs du formulaire dans $_POST.
Mais je te recommande tout de même de suivre la solution de d0m :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 110 Messages

21 nov. 2007, 17:22

merci bien, je vais inspecter de plus près cette page index.php

bonne soirée.