Bonjour à tous, actuellement, j'ai mis en place un formulaire sur une seule page web, avec nom, prénom, adresse, numéro de téléphone, et des boutons radio à cocher, puis un bouton submit qui envoie directement en mail.
Seulement, pour mon stage, il m'a été demandé de faire un formulaire "interactif" dans le sens ou par exemple :
1ère page : deux bouton radio = 1 pour choix entreprise, l'autre pour choix particulier on appuie sur un bouton suivant, on passe à une autre page
2ème page : 3 bouton radio (ou plus) = 1 ordi portable, 1 ordi de bueau, 1 indifférent, on appuie sur un bouton suivant, on passe à une autre page
3ème page : textarea = info supplémentaires ? on appuie sur un bouton suivant, on passe à une autre page
4ème page : plusieurs champs text pour remplir les coordonnées, on appuie sur un bouton envoyé, et ça envoie le tout par mail !
Je pensais utiliser une base de donnée, je créerai l'entrée avec la première étape , et dans les autres étapes je ferai juste un update des autres champs, seulement pas moyen de trouver comment récupérer c'est données pour envoie par mail, et surtout, quand il y aura plusieurs entrées, comment faire pour choisir la bonne et pas toute les entrées ???
Ou alors je pensais qu'il était peut être possible de garder la même façon de fonctionner pour un envoie de mail par formulaire simple donc sans BDD ...
Je suis pas une craque en php, c'est surtout de la débrouille en général, j'espère que vous pourrez m'aider !
Merci d'avance !
Lis les questions, brandon. Le probleme c'est de savoir comment faire ca sur plusieurs pages, pas de savoir comment mettre en place un boutn radio !
La base de données ne me parait pas etre une bonne solution. Tu as toujours une chance pour qu'au milieu du formulaire de contact, le mec decide d'abandonner et du coup tu te retrouves avec des champs a moitiés vides qui ne servent a rien ... ca fait pas tres propre dans ta bdd ...
Une meilleur solution me parait etre les session.
A chaque soumission d'une page pour passer a la suivante, tu gardes les infos postées dans des variables de session, et lorsque la dernière page du formulaire de contact est soumise, tu récupères tout ce qu'il te faut depuis la session.
Il n'y a rien de plus simple que les variables de session :)
Tu mets un session_start() au debut de chaque page php (une seule fois, attention si tu as des include).
<?php
session_start();
// le reste de ton code ....
Une fois le session _start() fait, tu stocke ton truc dans une variable de session comme ceci:
$_SESSION'kiki'] = 1
Puis plus tard tu y accedes comme une variable classique ...
if( $_SESSION'kiki'] == 1 ){ echo 'ca marche'; }
Je vais me renseigner la dessus, parce qu’apparemment c'est pas tout simple les variables de sessions :D
Merci Vallyan pour ton aide !
Voilà j'ai fais des essai... Au début tout fonctionne bien mais il ne garde pas mes variables voici mon code :
index.php
<?php session_start(); ?>
<html>
<body>
<form method="POST" action="page2.php">
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>
</body>
</html>
page2.php
<?php
session_start();
$perso = $_POST'perso'];
$_SESSION'perso'] = $perso;
?>
<html>
<body>
Vous êtes un <b><?php echo $perso; ?></b>.<br />
<form method="POST" action="page3.php">
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>
</body>
</html>
page3.php
<?php
session_start();
$perso = $_POST'perso'];
$_SESSION'perso'] = $perso;
$ordi = $_POST'ordi'];
$_SESSION'ordi'] = $ordi;
?>
<html>
<body>
Vous êtes un <b><?php echo $perso; ?></b>.<br />
Et vous cherchez <b><?php echo $ordi; ?></b>.<br />
</body>
</html>
Il ne me récupère plus la variable de session $perso arrivé à la page3.php ... Comment je fais pour la garder tout au long de la navigation sans avoir à la rechoisir ? Parce qu'après je vais avoir encore une autre page avec les coordonnées (nom, prénom ect...) et encore une autre page ou la je vais tout récupérer pour envoyé par mail (d'ailleurs ça c'est encore une autre histoire...)
Non tu n'as pas besoin de la redéfinir dans la page3.php
Tu la déjà défini dans page2.php donc elle est toujours la session.
alors pourquoi j'ai un erreur de type " Notice: Undefined index: perso in C:\wamp\www\test\page3.php on line 3" c'est bien qu'il ne me l'a pas gardé ?
j'ai trouvé c'était quie j'ai mis $perso = $_POST'perso'];
$_SESSION'perso'] = $perso;
au lieu de : $perso = $_SESSION'perso'];