probleme de post sur un retour même page

probleme de post sur un retour même page - PHP - Programmation

Marsh Posté le 26-11-2006 à 12:07:49    

J'ai fais un formulaire d'envoi de mail, appelé contact.php
 

Code :
  1. <? if ( !isset($_POST) ) : ?>
  2. <FORM method="POST" enctype="text/plain" action="mapage.php?page=contact">
  3. ...
  4. </FORM>
  5. <? else : ?>
  6. Envoi du mail
  7. <? endif ?>


 
donc en fait on arrive une fois sur la page contact, on tombe sur le formulaire, on l'envoi, celui ci envoi les info en POST vers la même page ; celle ci recupere les info et au lieu d'afficher le formulaire, elle envoi le mail
 
cependant la variable POST n'existe pas une fois le formulaire envoyé !
une solution ?

Reply

Marsh Posté le 26-11-2006 à 12:07:49   

Reply

Marsh Posté le 26-11-2006 à 12:22:19    

Ben oui, $_POST c'est le tableau...
Utilises plutot $_POST['champ1'] par exemple, ou champ1 est le nom d'un champ de saisie de ton formulaire.


---------------
dH Design - Spécialiste en standards web et en accessibilité
Reply

Marsh Posté le 26-11-2006 à 12:51:18    

tu donne un nom à ton bouton submit et tu vérifie si $_POST['nomdusubmit'] existe (c'est pratique si tu as plusieurs boutons submit de surcroit).

Reply

Marsh Posté le 26-11-2006 à 13:26:01    

pareil, ça ne marche pas avec le champ specifié

Reply

Marsh Posté le 26-11-2006 à 13:44:05    

Comme ca, ca fonctionne ?

Code :
  1. <? if (empty($_POST)) { ?>
  2.  <form action=".......php" method="post">
  3.   <input type="submit" name="action" value="go" />
  4.  </form>
  5. <? } else { ?>
  6.  Youppi :)
  7. <? } ?>

Reply

Marsh Posté le 26-11-2006 à 13:54:58    

pareil, ne marche pas
tres etrange


Message édité par Fazer916 le 26-11-2006 à 13:55:32
Reply

Marsh Posté le 26-11-2006 à 14:55:45    

Mieux :
 

if($_SERVER['REQUEST_METHOD'] == 'get') {
  // formulaire
} else {
  // post !
}

Message cité 1 fois
Message édité par FlorentG le 26-11-2006 à 14:56:32
Reply

Marsh Posté le 26-11-2006 à 15:18:13    

Le nom du bouton soumettre ?
track_vars, positionnée à ON ?


---------------
dH Design - Spécialiste en standards web et en accessibilité
Reply

Marsh Posté le 26-11-2006 à 16:29:52    

pourquoi ne pas mettre le formulaire dans un echo ""; ? c'est moins moche que de foutre des <%...%> partout non ?

Reply

Marsh Posté le 26-11-2006 à 16:55:09    

A ce moment la pourquoi ne pas faire un beau template ? C'est plus élégant que de foutre des echos partout ! ;)

Reply

Marsh Posté le 26-11-2006 à 16:55:09   

Reply

Marsh Posté le 26-11-2006 à 18:51:02    

FlorentG a écrit :

Mieux :
 

if($_SERVER['REQUEST_METHOD'] == 'get') {
  // formulaire
} else {
  // post !
}



 
malheureusement ça ne marche pas, dès l'execution du formulaire j'atteris sur le "else", le if est false
 
je ne comprend pas l'histoire du template
 
c'est quand mm chelou que les post ne fonctionnent pas sur une mm page

Reply

Marsh Posté le 26-11-2006 à 20:28:23    

Vérifies le track_vars...


---------------
dH Design - Spécialiste en standards web et en accessibilité
Reply

Marsh Posté le 27-11-2006 à 09:17:22    

Fazer916 a écrit :

malheureusement ça ne marche pas, dès l'execution du formulaire j'atteris sur le "else", le if est false
 
je ne comprend pas l'histoire du template
 
c'est quand mm chelou que les post ne fonctionnent pas sur une mm page


Ca permet de tester si la méthode est get ou post. Ou faut peut-être comparer avec 'GET' (en majuscule) [:dawak]

Reply

Marsh Posté le 27-11-2006 à 13:15:31    

Ouai ou alors strtolower() et la question ne se pose même pas!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed