afficher la suite d'un formulaire dans même iframe php

afficher la suite d'un formulaire dans même iframe php - PHP - Programmation

Marsh Posté le 12-04-2008 à 07:50:03    

Bonjour,  
 
Suite à une saisie de formulaire de contact dans mon site, je veux afficher une page de confirmation (remerciement) d'envoie du message. Mais je n'arrive pas à afficher cette page en php dans l'iframe .....    
 
Ma première page avec la frame (index.php):  
 

Code :
  1. <div class="conteneur">
  2. <div class="menu">
  3.           <a class="bouton" href="index.php?page=accueil">Accueil</a><br>
  4.           <a class="bouton" href="index.php?page=presentation">Présentation</a><br>
  5.           <a class="bouton" href="index.php?page=contact">Contact</a></ul>
  6. </div>
  7. <div class="frame">
  8. <?php
  9. $pages=array(
  10.    'accueil'=>'accueil.htm',
  11.    'presentation'=>'presentation.htm',
  12.    'contact'=>'contact.htm'
  13. );
  14. if(isset($_GET['page']) && array_key_exists($_GET['page'],$pages))
  15.    include $pages[$_GET['page']];
  16. else
  17.    include 'accueil.htm';
  18. ?>
  19. </div>
  20. </div>


 
Mon formulaire de contact (contact.htm):  
 

Code :
  1. <FORM method="POST" action="contact.php">
  2. <P>Votre nom:<br>
  3. <INPUT type="text" name="nom" size=30>
  4. </p>
  5. <P>Votre adresse E-Mail:<br>
  6. <INPUT type="text" name="email" size=30>
  7. </p>
  8. <P>Votre message:<br>
  9. <textarea name="message" cols=74 rows=8></textarea>
  10. </p><INPUT type="submit" value="Envoyer">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="reset" value="Effacer">
  11. </FORM>


 
Le script d'envoie du message (contact.php):  
 

Code :
  1. <?php
  2. $msg = "De:\t$nom\n";
  3. $msg .= "E-Mail:\t$email\n\n";
  4. $msg .= "Message:\t$message\n\n";
  5. $recipient = "toto@toto..fr";
  6. $subject = "Contact";
  7. $mailheaders = "From: Mon test de formulaire<> \n";
  8. $mailheaders .= "Reply-To: $email\n\n";
  9. mail($recipient, $subject, $msg, $mailheaders);
  10. header("Location: remerciement.php" );
  11. ?>


 
Et ma page de remerciement (remerciement.php) que je n'arrive pas à faire apparaitre dans la même frame. Elle vient remplacer la page précédente ..... :  
 

Code :
  1. <?php
  2. echo "<HTML><HEAD>";
  3. echo "<link rel=stylesheet type=text/css href=kotoka.css>";
  4. echo "<TITLE>Formulaire envoyer!</TITLE></HEAD><BODY>";
  5. echo "<div class=frame>";
  6. echo "<H1 align=center>Merci, $nom </H1>";
  7. echo "<P align=center>";
  8. echo "Votre formulaire à bien été envoyé !<P>";
  9. echo "</div>";
  10. echo "</BODY></HTML>";
  11. ?>


 
Merci pour votre aide !

Reply

Marsh Posté le 12-04-2008 à 07:50:03   

Reply

Marsh Posté le 12-04-2008 à 10:02:43    

et pourquoi tu n'utiliserai pas le meem système pour ta page remerciement que celui que tu utilise pour les pages accueil, présentation et contact ?


---------------

Reply

Marsh Posté le 12-04-2008 à 12:04:47    

flo850 a écrit :

et pourquoi tu n'utiliserai pas le meem système pour ta page remerciement que celui que tu utilise pour les pages accueil, présentation et contact ?


 
Oui, mais pour afficher toutes les pages, je passe via le menu.
Et là, sans passer par le menu, après le traitement de contact.php, je veux afficher ma page de remerciement dans la frame .....  :??:  
 
Mais j'y arrive pas ........  :cry:  

Reply

Marsh Posté le 12-04-2008 à 12:24:38    

tu es sur d'avoir compris comment fonctionne ton menu ?


---------------

Reply

Marsh Posté le 12-04-2008 à 12:32:24    

flo850 a écrit :

tu es sur d'avoir compris comment fonctionne ton menu ?


 
Ben je pense ..... !!!!!
 
Si dans contact.php je remplace header("Location: remerciement.php" ); par include 'index.php';,
après l'envoie du message, il me met la page d'accueil dans la frame. Ce qui est normal, puisque dans index.php j'ai else include 'accueil.htm';.
Et si je remplace dans contact.php header("Location: remerciement.php" ); par include 'remerciement.php';, après l'envoie du message, il me remplace la page du site par lapage de remerciement !!!!  :fou:  
 
Comment je peux faire ?

Reply

Marsh Posté le 12-04-2008 à 13:32:46    

esssaye de faire header("Location: index.php?page=remerciement" );


---------------

Reply

Marsh Posté le 12-04-2008 à 14:03:10    

flo850 a écrit :

esssaye de faire header("Location: index.php?page=remerciement" );


 
Merci flo850 .....  :D  
Ca marche ........  :bounce:

Reply

Marsh Posté le 12-04-2008 à 15:48:00    

J'ai encore un 'tit problème ............
 
Dans ma page de remerciement, après le "Merci," je n'ai plus l'affichage de $nom : echo "<H1 align=center>Merci, $nom </H1>";
 
Dans contact.php, j'ai mis :  

Code :
  1. $nom = $_POST['nom'];
  2. header("Location: index.php?page=remerciement" );


 
et dans remerciement.php, j'ai mis :

Code :
  1. $nom = $_GET['nom'];


 
Mais ça marche pas !!!!
 
Tu peux m'aider ?

Reply

Marsh Posté le 12-04-2008 à 19:12:46    

ta variable nom n'est plus definie dans cette page

Message cité 1 fois
Message édité par flo850 le 12-04-2008 à 19:13:05

---------------

Reply

Marsh Posté le 13-04-2008 à 12:02:34    

flo850 a écrit :

ta variable nom n'est plus definie dans cette page


 
Que veux-tu dire ??? Comment ça elle n'est plus définie ???
 
J'ai réessayé, et effectivement, la variable n'arrive pas à la pageremerciement !!!!
Faudrait peut-être remplacer header("Location: index.php?page=remerciement" ); par un truc du genre header("Location: index.php?page=remerciement?nom=$nom" );, mais je ne trouve pas la syntaxe exacte !
 
J'ai essayé avec des SESSIONS : pour contact.php =
 

Code :
  1. session_start();
  2. $nom = $_SESSION['nom'];


 
et pour remerciement.php =
 

Code :
  1. session_start();
  2.   $_SESSION['nom']=$nom;
  3. .
  4. .
  5. .
  6. .
  7. session_destroy();


 
mais j'ai comme message d'erreur  
Warning: session_start() [function.session-start]: open(/mnt/146/sda/1/4/th11/sessions/sess_4629eca9fb984c81f419afc561bef1c3, O_RDWR) failed: No such file or directory (2) in /mnt/146/sda/1/4/th11/kotoka/contact.php on line 2
 
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/146/sda/1/4/th11/kotoka/contact.php:2) in /mnt/146/sda/1/4/th11/kotoka/contact.php on line 2
 
Warning: Cannot modify header information - headers already sent by (output started at /mnt/146/sda/1/4/th11/kotoka/contact.php:2) in /mnt/146/sda/1/4/th11/kotoka/contact.php on line 16
 
Warning: Unknown(): open(/mnt/146/sda/1/4/th11/sessions/sess_4629eca9fb984c81f419afc561bef1c3, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
 
Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/146/sda/1/4/th11/sessions) in Unknown on line 0

 
Alors, je m'en sort pas ........  :pt1cable:  

Reply

Marsh Posté le 13-04-2008 à 12:02:34   

Reply

Marsh Posté le 13-04-2008 à 17:37:17    

le ? est la pour annoncer le début des variables, qui sont séparées par des &
 
ce qui donne
url?var1=valeur1&var2=valeur2&var3=value3 ....
 
pour la session, tu dois le metre avant n'importe quel affichage , donc dans ton index.php
a noter que tu dois faire l'inverse , stocker $nom en session dans la page de contact et le relire dans la page de remerciement


---------------

Reply

Marsh Posté le 13-04-2008 à 18:32:23    

Merci flo850 ........  :D  
 
Ca marche .....  :bounce:  
 
A ++  :hello:

Reply

Sujets relatifs:

Leave a Replay

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