Appeler une page avec header() en envoyant des données en post ?

Appeler une page avec header() en envoyant des données en post ? - PHP - Programmation

Marsh Posté le 13-11-2002 à 13:44:30    

Bonjour,
 
J'utilise la fonction header("location:toto.php" ) mais je voudrais transmettre à cette page toto.php des variable en utilisant la methode post (pas assez de place avec get)..
 
Comment faire
 
Le but étant, apres la validation d'un formulaire, une page php vérifie les champ du formulaire et renvoi sur ce dernier si des champs sont incorrect, il faut biensur que le formulaire soit prérempli avec les valeur que l'on avait saisie avant la premiere validation....
 
C'est pas tres lisible tout ça :pt1cable:


Message édité par Snipe Foo le 13-11-2002 à 13:46:07
Reply

Marsh Posté le 13-11-2002 à 13:44:30   

Reply

Marsh Posté le 13-11-2002 à 13:50:48    

bah les verifications de formulaire, c'est plus simple avec javascript.

Reply

Marsh Posté le 13-11-2002 à 13:51:58    

c'est vrai que javascript est over performant pour aller verifier un nom d'utilisateur et mot de passe md5 dans une base ... :p

Reply

Marsh Posté le 13-11-2002 à 13:58:56    

ouais mais bon fallait préciser aussi  :o  :na:  
 
sinon, si les données sont incorrectes, quels avantages de le ré-afficher ? (surtout juste pour un login/mpd)


Message édité par Schimz le 13-11-2002 à 13:59:31
Reply

Marsh Posté le 13-11-2002 à 14:07:42    

en fait c'est pour ajouter des commentaire, et pour ajouter des commentaire il faut saisir un login/pass. donc le formulaire c'est : login, pass, commentaire. Tu le valide et la un .php verifie le login/pass, ci ceux ci ne marchent pas il te repropose le formulaire prérempli avec le login que tu avais mit et surtout le commentaire que tu avais saisie (qui peut etre tres long.
 
Une solution consiste a faire en sorte que le php qui génere le formulaire soit dans la meme page que le php qui le verifie le formulaire, comme ça si le les données sont ok on fait les traitement qui s'impose et on redirige vers une autre page, sinon on réaffiche le formulaire prérempli, mais ça allourdi le code de la page...

Reply

Marsh Posté le 13-11-2002 à 16:33:22    

sur ta 2ème page, essayes de faire comme ça:
 
 

Code :
  1. içi le code PHP qui mouline les variables
  2. //dans le head du code html :
  3. si (variables = pas bonnes)
  4. {
  5. <meta http-equiv="refresh" content="3;url=url_du_formulaire?champs=variables">
  6. } sinon {
  7. rien
  8. }
  9. // dans le body html
  10. si (variables = pas bonnes){
  11. c'est pas bon, redirection dans 3 sec.
  12. } sinon {
  13. message enregistré
  14. }


 
dans la page du formulaire, dans chaque input :
<input name="toto" value="$toto">
(tu peux chiader en faisant des IF (isset($toto)) { <input name="toto" value="$toto"> } sinon { <input name="toto"> }
 
bon, c'est un peu fait à l'arrache et y'a les info de login en dur sur l'url (koike puisqu'elles sont fausses [:spamafote]
mais c'est simple.
 
 

Reply

Marsh Posté le 14-11-2002 à 08:25:46    

Merci bien pour cette solluce :jap:  
 
Pour l'instant j'ai fusionner les 2 pages : toto.php genere le formulaire puis s'appel lui meme pour le valider, si les infos sont pas bonnes, il regenere le formulaire en le préremplissant. Ca fonctionne, mais j'aurais quand meme preferé faire 2 page différente :sweat:

Reply

Marsh Posté le 14-11-2002 à 12:26:19    

formulaire.php : affichage du formulaire

Code :
  1. <?
  2. if ($erreur){
  3.    echo $erreur;
  4. }
  5. echo '<form name="ulaire"...>';
  6.   ...
  7. ?>


 
post.php: enregistrement+post des données

Code :
  1. <?
  2. if ($testvar==ok){
  3. //enregistrement + redirection
  4. }
  5. else{
  6. $erreur= 'erreur1';
  7. include("formulaire.php" );
  8. }
  9. ?>


 
y a rien de plus simple, mais je triche un peu ;)


---------------
...oups kernel error...
Reply

Marsh Posté le 15-11-2002 à 19:21:33    

pas mal :jap:  
 
ça c'est de l'astuce ;)

Reply

Sujets relatifs:

Leave a Replay

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