Voilà j'ai eu du mal a trouvé comment faire mon formulaire multi page et on ma bien aidé !
http://www.grafikart.fr/forum/topic/12967
Mais maintenant je l'ai associé à un envoie de mail mais je crois que je m'y suis mal prise... car arrvé au SUBMIT pour l'envoie de mail je devrais soit avoir une erreur soit avoir une redirection et rien, page blanche et en plus le mail n'est pas envoyé bien entendu...
Voici mon code en 5 pages : (alors je l'ai fait avec cakephp donc les fichier sont en ctp et il n'y a pas d'extention dans les actions c'est normal mais ça ne change rien au fonctionnement de base )
devis2.ctp
<?php session_start(); ?>
<div id="gauche">
<form method="POST" action="page2">
Vous êtes : <input name="perso" type="radio" value="Particulier" /> un particulier
<input name="perso" type="radio" value="Professionel" />un professionnel
<input type="SUBMIT" value="OK">
</form>
</div>
page2.ctp
<?php
session_start();
$perso = $_POST'perso'];
$_SESSION'perso'] = $perso;
?>
<div id="gauche">
Vous êtes un <b><?php echo $perso; ?></b>.<br />
<form method="POST" action="page3">
Vous recherchez un : <input name="ordi" type="radio" value="ordinateur portable" /> ordinateur portable
<input name="ordi" type="radio" value="ordinateur de bureau" />ordinateur de bureau
<input name="ordi" type="radio" value="ordinateur de bureau" />indifférent
<input type="SUBMIT" value="OK">
</form>
</div>
page3.ctp
<?php
session_start();
$perso = $_SESSION'perso'];
$ordi = $_POST'ordi'];
$_SESSION'ordi'] = $ordi;
?>
<div id="gauche">
Vous êtes un <b><?php echo $perso; ?></b>.<br />
Et vous cherchez <b><?php echo $ordi; ?></b>.<br />
<form method="POST" action="page4">
Des informations supplémentaires ? <textarea name="info" rows="10" cols="60" placeholder="votre message"></textarea>
<input type="SUBMIT" value="OK">
</form>
</div>
page4.ctp
<?php
session_start();
$perso = $_SESSION'perso'];
$ordi = $_SESSION'ordi'];
$info = $_POST'info'];
$_SESSION'info'] = $info;
?>
<div id="gauche">
Vous êtes un <b><?php echo $perso; ?></b>.<br />
Et vous cherchez <b><?php echo $ordi; ?></b>.<br />
vos info : <b><?php echo $info; ?></b>.<br />
<form method="POST" action="page5">
Nom : <input type="TEXT" name="nom"><br />
Prénom : <input type="TEXT" name="prenom"><br />
Adresse : <textarea name="adresse" rows="10" cols="60" placeholder="votre message"></textarea><br />
Code postale : <input type="TEXT" name="cp"><br />
Ville : <input type="TEXT" name="ville"><br />
Mail : <input type="mail" name="email"><br />
Numéro : <input type="tel" name="tel"><br />
<input type="SUBMIT" value="OK">
</form>
</div>
Et enfin la page d'envoie page5.ctp
<?php
session_start();
$perso = $_SESSION'perso'];
$ordi = $_SESSION'ordi'];
$info = $_SESSION'info'];
$nom = $_POST'nom'];
$_SESSION'nom'] = $nom;
$prenom = $_POST'prenom'];
$_SESSION'prenom'] = $prenom;
$adresse = $_POST'adresse'];
$_SESSION'adresse'] = $adresse;
$cp = $_POST'cp'];
$_SESSION'cp'] = $cp;
$ville = $_POST'ville'];
$_SESSION'ville'] = $ville;
$email = $_POST'email'];
$_SESSION'email'] = $email;
$tel = $_POST'tel'];
$_SESSION'tel'] = $tel;
?>
<?php if(isset($_POST) && isset($_POST'nom'])
&& isset($_POST'prenom'])
&& isset($_POST'email'])
&& isset($_POST'adresse'])
&& isset($_POST'ville'])
&& isset($_POST'cp'])
&& isset($_POST'tel'])
&& isset($_POST'info'])){
if(!empty($_POST'nom'])
&& !empty($_POST'prenom'])
&& !empty($_POST'email'])
&& !empty($_POST'adresse'])
&& !empty($_POST'ville'])
&& !empty($_POST'cp'])
&& !empty($_POST'tel'])){
/*echo "Page de récupération des données :<br><br>";*/
if (isset($_POST"perso"]))
/* la case est cochée */
$perso = $_POST"perso"];
else
$perso = "";
if (isset($_POST"ordi"]))
$ordi = $_POST"ordi"];
else
$ordi = "";
$perso = '0';
$ordi = '0';
$destinataire = "truc@machin.com";
$sujet = '=?UTF-8?B?'.base64_encode('Sujet : DEVIS EN LIGNE- VENTE').'?=';
$message = "
CE MESSAGE ET UN MESSAGE AUTOMATIQUE , ENVOYE DEPUIS LE SITE http://teaminformatique.com POUR LA DEMANDE DE DEVIS EN LIGNE, VEUILLEZ NE PAS REPONDRE. \n
Message de : ".$_POST'nom']." ".$_POST'prenom']." \n
Adresse email : ".$_POST'email']." \n
Adresse :".$_POST'adresse']." \n
Ville : ".$_POST'ville']." \n
Code postale :".$_POST'cp']." \n
Numéro :".$_POST'tel']." \n
Le demandeur est un ou une :".$_POST'perso']." \n
Ce qu'il recherche :".$_POST'ordi']." \n
Informations supplémentaires :".$_POST'info']."
" ;
$entete = 'From: '.$_POST'email']."\r\n".
'Reply-To: '.$_POST'email']."\r\n".
'X-emailer: PHP/'.phpversion();
$entete .='Content-Type: text/plain; charset="utf-8"'." "; // ici on envoie le email au format texte encodé en UTF-8
$entete .='Content-Transfer-Encoding: 8bit'; // ici on précise qu'il y a des caractères accentués
$entete .= "MIME-Version: 1.0";
if (email($destinataire,$sujet,$message,$entete)){
header("location:http://monsite.com/");
} else {
echo "Une erreur est survenue lors de l'envoi du formulaire par email";
}
}
} ?>
J'espère que vous pourrez m'aiguiller... Je pense que la page5.ctp n'est plus du tout adapté à ce système de session... Mais je ne vois pas du tout comment faire autrement :(