Aller au contenu

aide sur un formulaire


yoyo1404

Sujets conseillés

voila, je travaille dans un golf et je suis actuellement en train de mettre à jour le site web.

J'aimerai pouvoir créer un formulaire afin que les membres puissent faire des demandes de reservation cependant, j'ai deux petites questions:

La premiere, lorsque je clique sur valider, je reviens sur la page avec tout les champs qui se sont revidés. Comment puis je rediriger les personnes sur une autre page.

La seconde, comment puis je enregistrer les données envoyées car pour l'instant, riun ne se passe et je ne vois pas comment faire sous dreamweaver 2004 je présume qu'il faut passer par le php mais je ne m'y connais pas encore tropp, j'ai bien un bouquin mais il ne donne pas vraiement d'aide à ce sujet

merci, toutes les réponses seront le bienvenue.

Voila le code de mon formulaire:

html
<form action="" method="post" name="Contact" id="Contact">
<div align="center">
<table width="710" height="578" border="0" class="test">
<tr class="Style1">
<td width="251" height="135"> </td>
<td width="143" align="right"> </td>
<td width="8"> </td>
<td width="290"><div align="center"></div></td>
</tr>
<tr class="Style1">
<td width="251" height="111"> </td>
<td width="143" align="right" valign="top"><p class="Style1">Name</p>
<p class="Style1">Surname</p>
<p class="Style1">E-mail</p></td>
<td width="8"> </td>
<td width="290" valign="top"><p> <span class="Style1">
<input name="Nom" type="text" id="Nom" onBlur="MM_validateForm('Nom','','R');return document.MM_returnValue">
</span></p>
<p> <span class="Style1">
<input name="Prénom" type="text" id="Prénom">
</span></p>
<p>
<input name="email" type="text" id="email" onBlur="MM_validateForm('email','','RisEmail');return document.MM_returnValue">
</p></td>
</tr>
<tr class="Style1">
<td width="251" height="42"> </td>
<td width="143" align="right">You are </td>
<td width="8"> </td>
<td width="290"> <p>
<label>
<input name="Member" type="radio" value="bouton radio" checked>
a Member </label>
<label>
<input type="radio" name="Guest" value="bouton radio">
</label>
an unaccompanied Guest <br>
</p>
</td>
</tr>
<tr class="Style1">
<td width="251" height="26"> </td>
<td width="143" align="right">You would like to reserve </td>
<td width="8"> </td>
<td width="290"><input name="Green Fee" type="checkbox" id="Green Fee" value="checkbox">
a Green Fee
<input name="Room" type="checkbox" id="Room" value="checkbox">
a Room </td>
</tr>
<tr class="Style1">
<td width="251" height="21"> </td>
<td width="143" align="right">Arrival Date </td>
<td width="8"> </td>
<td width="290"><select name="arrival day" id="arrival day">
<option selected>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
</select>
<select name="Arrival month" id="select">
<option selected>January</option>
<option>February</option>
<option>March</option>
<option>April</option>
<option>May</option>
<option>Juin</option>
<option>July</option>
<option>August</option>
<option>September</option>
<option>October</option>
<option>November</option>
<option>December</option>
</select>
<select name="Arrival Year" id="Arrival Year">
<option selected>2006</option>
<option>2007</option>
</select></td>
</tr>
<tr class="Style1">
<td width="251" height="29"> </td>
<td width="143" align="right">Departure Date </td>
<td width="8"> </td>
<td width="290"><select name="Departure day" id="Departure day">
<option selected>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
</select>
<select name="Departure Month" id="Departure Month">
<option selected>January</option>
<option>February</option>
<option>March</option>
<option>April</option>
<option>May</option>
<option>Juin</option>
<option>July</option>
<option>August</option>
<option>September</option>
<option>October</option>
<option>November</option>
<option>December</option>
</select>
<select name="Departure Year" id="Departure Year">
<option selected>2006</option>
<option>2007</option>
</select></td>
</tr>
<tr class="Style1">
<td width="251" height="29"> </td>
<td align="right">Number of Rooms</td>
<td> </td>
<td><select name="nbre room" id="nbre room">
<option selected>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
</select></td>
</tr>
<tr class="Style1">
<td width="251" height="27"> </td>
<td align="right">Villa / Appartment </td>
<td> </td>
<td><select name="Villa" id="Villa">
<option selected>Choose</option>
<option>Monte Carlo</option>
<option>St Tropez</option>
<option>Cannes</option>
<option>Ste Maxime</option>
<option>St Paul</option>
<option>Pagnol</option>
<option>Les Arcs Appartment</option>
<option>Grimaud Appartment</option>
</select></td>
</tr>
<tr class="Style1">
<td width="251" height="84"> </td>
<td width="143" align="right" class="Style1">Comments</td>
<td width="8"> </td>
<td width="290"><textarea name="Comment" rows="3" class="Style1" id="Comment"></textarea></td>
</tr>
<tr class="Style1">
<td width="251" height="22"> </td>
<td width="143" align="right"> </td>
<td width="8"> </td>
<td width="290"> </td>
</tr>
<tr class="Style1">
<td width="251" height="23"> </td>
<td width="143" align="right"> </td>
<td width="8"> </td>
<td width="290">
<a href="#Remerciementformulaire.html">
<input name="imageField" type="image" src="Photos/valider.jpg" width="127" height="38" border="0">
</a></td>
</tr>
</table>
</div>
</form>

Lien vers le commentaire
Partager sur d’autres sites

Salut à toi yoyo1404 :)

La premiere, lorsque je clique sur valider, je reviens sur la page avec tout les champs qui se sont revidés. Comment puis je rediriger les personnes sur une autre page.

Utilise l'attribut action de la balise <form>:

<form action="ta_page_de_traitement.php" method="post">

Lien vers le commentaire
Partager sur d’autres sites

Utilise l'attribut action de la balise <form>:

Je dois la mettre où dans mon code, je dois t'avouer que je ne suis pas trop familiariser avec le code html et encore moins avec le php

<form action="ta_page_de_traitement.php" method="post">

comment je peux faire cette fameuse page, j'ai bien créer la base de donnée avec my SQL mais ensuite, l'utiliser, c une autre paire de manche. Je ne m'en sors pas, j'ai passé tout le week end dessus et j'ai vraiement beaucoup de mal

Lien vers le commentaire
Partager sur d’autres sites

Je dois la mettre où dans mon code, je dois t'avouer que je ne suis pas trop familiariser avec le code html et encore moins avec le php

Dans dreamweaver, quand tu cliques sur ton formulaire, dans la fenêtre propriétés tu devrais avoir un champ "action", à remplir.

Tu peux également activer le mode 'visualisation du code' de dreamweaver (j'me souviens plus de l'icône précisément, mais elle doit se situer en haut à gauche)

comment je peux faire cette fameuse page, j'ai bien créer la base de donnée avec my SQL mais ensuite, l'utiliser, c une autre paire de manche. Je ne m'en sors pas, j'ai passé tout le week end dessus et j'ai vraiement beaucoup de mal

Là, le souci va être d'apprendre les bases du PHP.

Si tu as du temps et que tu es motivé, je te conseille de consulter les tutos du site du zéro, ils sont très bien faits.

Lien vers le commentaire
Partager sur d’autres sites

comment puis je enregistrer les données envoyées

MS-DOS t'a indiqué qu'il fallait spécifier la page sur laquelle les données sont postées.

(Ceci dit ça peut très bien être la page sur laquelle tu travailles).

Le principe c'est que chaque champ du formulaire (comme name="Nom") est une variable qui prend une valeur (ce que la personne saisit dans le champ) et c'est cette valeur qui est récupérée au moyen de code : php, jsp, asp, ....net, tu as le choix.

Donc en haut de la page qui recoit le post, tu définis une variable qui grâce à un objet de type "Request", prend la valeur du champ en question.

Il est clair que tu auras autant de variables que de champs récupérés.

Puis c'est l'insertion dans la base de données qui se fait après s'y être connecté (au moyen d'un autre objet de type "Connection").

Cette étape suppose que tu connaisse un peu de syntaxe SQL.

Les valeurs des variables sont passées dans une requête d'insertion sur la base de données.

Plonge toi dans ton bouquin et préviens-nous lorsque tu auras réussi tout ça... :) ,sache que ce n'est que le début de l'aventure !

Lien vers le commentaire
Partager sur d’autres sites

Bonjour, bienvenue sur le Hub :)

À mon avis, si tu n'y connais rien ni en HTML ni en PHP ne te lances pas dans cette aventure. Cela impliquerait pour toi l'apprentissage préalable des rudiments élémentaires qui vont t'être nécessaires, et c'est çà qui prendra bien plus de temps que le reste.

Le plus simple est d'utiliser quelque chose de "tout fait" et de le copier-coller. Pas besoin d'aller très loin, Webmaster-Hub a ce qu'il te faut: Un "mailer" pour votre site web. Tu te compliqueras moins la vie.

Par contre, pour faire tourner ce script, il faut impérativement que ton hébergement supporte le PHP. C'est d'ailleurs valable pour tous les traitements de formulaire quels qu'ils soient. L'HTML n'est qu'un langage de mise en page, et absolument pas de traitement de données.

Bon courage, tiens nous au courant ;)

Lien vers le commentaire
Partager sur d’autres sites

Le plus simple est d'utiliser quelque chose de "tout fait" et de le copier-coller. Pas besoin d'aller très loin, Webmaster-Hub a ce qu'il te faut: Un "mailer" pour votre site web. Tu te compliqueras moins la vie.

En effet, Merci Dudu,

Cependant, j'aimerais savoir si je pouvais modifier ce qu'il y a à l'intérieur de ce code, en effet, malheureusement, celui ci est trop, "simple" pour moi... est ce que, grâce à Dream weaver, je peux le modifier ou est ce qu'il ne faut pas y toucher pour qu'il marche

de plus, les parties ecrites en orange à l'intérieur du code, c'est à dire, toutes les petites remarque du webmaster que je remercie par la meme occasion, dois je les supprimer ou est ce qu'ils peuvent rester telles qu'elles.

Sinon, pour le PHP, y'a aucun problème, mon hébergeur l'accepte.

Merci à toi....

Lien vers le commentaire
Partager sur d’autres sites

Le code, tu peux le modifier à ta guise, puisque je pense que l'auteur le permet (d'ailleurs, il serait sympathique de mettre les conditions d'utilisation des scripts soient précisées dans la page), tant que tu sais ce que tu fais.

Sinon, en ce qui concerne les commentaires, tu peux les supprimer, mais je te conseille tout de même de les laisser, ils sont là pour t'aider à comprendre.

Lien vers le commentaire
Partager sur d’autres sites

Sinon, en ce qui concerne les commentaires, tu peux les supprimer, mais je te conseille tout de même de les laisser, ils sont là pour t'aider à comprendre.

Mais ils n'apparaitront pas dans ma page web???

De Plus, je suis en train de voir comment les modifier et de comprendre le code de ce formulaire. Je pense que jke suis obligé de créer une base sql pour pouvoir utiliser ce code non???

Lien vers le commentaire
Partager sur d’autres sites

Mais ils n'apparaitront pas dans ma page web???

De Plus, je suis en train de voir comment les modifier et de comprendre le code de ce formulaire. Je pense que jke suis obligé de créer une base sql pour pouvoir utiliser ce code non???

<{POST_SNAPBACK}>

ils n'apparaitront pas dans ta page.

Tu n'es pas obligé de créer une base sql pour utiliser le code.

Ce code envoie le mail de réservation.

Cependant, il peut être utile de créer une base web pour enregistrer cette réservation.

Lien vers le commentaire
Partager sur d’autres sites

Oups j'ai écrit "base web".

base web = base de données web donc accessible grâce au langage sql bien sûr.

Yoyo essaye déjà de faire fonctionner l'envoi d'email à partir de ton formulaire.

Tu verras après pour la base de données, tu pourras ajouter cette fonctionnalité après coup

Lien vers le commentaire
Partager sur d’autres sites

Bon voila ce que j'ai fait: j'ai repris mon formulaire dont voici le code:

<form name="form1" method="post" action="reservation.php">
<div align="center">
<table width="710" height="578" border="0" class="test">
<tr class="Style1">
<td width="251" height="135"> </td>
<td width="143" align="right"> </td>
<td width="8"> </td>
<td width="290"><div align="center"></div></td>
</tr>
<tr class="Style1">
<td width="251" height="111"> </td>
<td width="143" align="right" valign="top"><p class="Style1">Name</p>
<p class="Style1">Surname</p>
<p class="Style1">E-mail</p></td>
<td width="8"> </td>
<td width="290" valign="top"><p> <span class="Style1">
<input name="nom" type="text" id="Nom">
</span></p>
<input name="prenom" type="text" id="Prenom">
</span></p>
<p>
<input name="email" type="text" id="email">
</p></td>
</tr>
<tr class="Style1">
<td width="251" height="42"> </td>
<td width="143" align="right">You are </td>
<td width="8"> </td>
<td width="290"> <p>
<label>
<input type="radio" name="member" value="member">
A member</label>
<br>
<label>
<input type="radio" name="guests" value="guest">
An unaccompanied guest</label>
<br>
</p>
</td>
</tr>
<tr class="Style1">
<td width="251" height="26"> </td>
<td width="143" align="right">You would like to reserve </td>
<td width="8"> </td>
<td width="290"><input name="greenfee" type="checkbox" id="greenfee" value="greenfee">
a Green Fee
<input name="room" type="checkbox" id="room" value="room">
a Room </td>
</tr>
<tr class="Style1">
<td width="251" height="21"> </td>
<td width="143" align="right">Arrival Date </td>
<td width="8"> </td>
<td width="290"><select name="arrivalday" id="arrivalday">
<option selected>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
</select>
<select name="arrivalmonth" id="arrivalmonth">
<option selected>January</option>
<option>February</option>
<option>March</option>
<option>April</option>
<option>May</option>
<option>Juin</option>
<option>July</option>
<option>August</option>
<option>September</option>
<option>October</option>
<option>November</option>
<option>December</option>
</select>
<select name="arrivalyear" id="arrivalyear">
<option selected>2006</option>
<option>2007</option>
</select></td>
</tr>
<tr class="Style1">
<td width="251" height="29"> </td>
<td width="143" align="right">Departure Date </td>
<td width="8"> </td>
<td width="290"><select name="departureday" id="departureday">
<option selected>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
</select>
<select name="departuremonth" id="departuremonth">
<option selected>January</option>
<option>February</option>
<option>March</option>
<option>April</option>
<option>May</option>
<option>Juin</option>
<option>July</option>
<option>August</option>
<option>September</option>
<option>October</option>
<option>November</option>
<option>December</option>
</select>
<select name="departureyear" id="departureyear">
<option selected>2006</option>
<option>2007</option>
</select></td>
</tr>
<tr class="Style1">
<td width="251" height="29"> </td>
<td align="right">Number of Rooms</td>
<td> </td>
<td><select name="nbreroom" id="nbreroom">
<option selected>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
</select></td>
</tr>
<tr class="Style1">
<td width="251" height="27"> </td>
<td align="right">Villa / Appartment </td>
<td> </td>
<td><select name="Villa" id="Villa">
<option selected>Choose</option>
<option>Monte Carlo</option>
<option>St Tropez</option>
<option>Cannes</option>
<option>Ste Maxime</option>
<option>St Paul</option>
<option>Pagnol</option>
<option>Les Arcs Appartment</option>
<option>Grimaud Appartment</option>
</select></td>
</tr>
<tr class="Style1">
<td width="251" height="84"> </td>
<td width="143" align="right" class="Style1">Comments</td>
<td width="8"> </td>
<td width="290"><textarea name="comment" rows="3" class="Style1" id="comment"></textarea></td>
</tr>
<tr class="Style1">
<td width="251" height="22"> </td>
<td width="143" align="right"> </td>
<td width="8"> </td>
<td width="290"> </td>
</tr>
<tr class="Style1">
<td width="251" height="23"> </td>
<td width="143" align="right"> </td>
<td width="8"> </td>
<td width="290">
<input type="submit" name="Submit" value="Envoyer"></td>
</tr>
</table>
</div>
</form>

et j'ai egalement repris la page php de l'ancienne version du site:

<?php
if (isset($_POST['Submit']))
{
$nom = $_POST['nom'] ;
$prenom = $_POST['prenom'] ;
$email = $_POST['email'] ;
$member = $_POST['member'] ;
$guest = $_POST['guests'] ;
$greenfee = $_POST['greenfee'] ;
$room = $_POST['room'] ;
$arrivalday = $_POST['arrivalday'] ;
$departureday = $_POST['departurday'] ;
$arrivalmonth = $_POST['arrivalmonth'] ;
$departuremonth = $_POST['departuremonth'] ;
$nbreroom = $_POST['nbreroom'] ;
$villa = $_POST['villa'] ;
$comment = $_POST['comment'] ;

$message = "Nouvelle réservation,
Nom : $nom
Prénom : $prenom
Email : $email
Member : $member
Guest : $guest
Green Fee : $greenfee
Stay : $room

Du $arrivalday
du mois : $arrivalmonth

Au jour : $departureday
mois : $departuremonth

Nbre de chambre : $nbreroom

Villa principale désirée : $villa

Renseignements : $comment " ;

$envoi = mail("pia_AT_leprince.fr","Réservation",$message) ;

print "<br><br><h3><font color=red>";
if ($envoi)
print "Remerciementformulaire.html";
else
print "Désolé, votre demande n'a pu aboutir, veuillez la renouveler" ;
print "</font></h3>" ;

}
?>

en le modifiant avec les nouvelles id de variables. sans pouir autant modifier la base de donner en elle-meme. Cependant, lorsque je recois le mail, seul quelques elements s'affichent et d'autrres sont "oublier".

Dois je toucher au sql??? et dans ce cas, ou est ce que je le trouve

Lien vers le commentaire
Partager sur d’autres sites

Merci à tous, je viens enfin de trouver toutes les reponses à mes questions. une seule subsiste néamoins. quelle ligne de code dois je introduire dans ma page php pour rediriger les visiteurs vers une page de mon choix, comme la page d'accueil par exemple???

Lien vers le commentaire
Partager sur d’autres sites

Utilise la fonction header() de PHP ;)

exemple:

header('Location: http://www.tonsite.com/tapageweb.php');

:!: Cette fonction doit être utilisée avant tout retour au navigateur, que ce soit de la forme d'un texte et même d'un espace :!:

pas bon:

echo 'test'; header('Location: pagedetest.php');

Lien vers le commentaire
Partager sur d’autres sites

Et ce ci, je le met à la fin de toutes les dernieres lignes et je les effacent:

print "<br><br><h3><font color=red>";
if ($envoi)
print "Remerciementformulaire.html";
else
print "Désolé, votre demande n'a pu aboutir, veuillez la renouveler" ;
print "</font></h3>" ;

}
?>

c'est ca ce que tu veux dire. J'ai un peu de mal à te suivre.

Lien vers le commentaire
Partager sur d’autres sites

Si tu dois absolument envoyer du code html avant de rediriger le visiteur, tu peux par exemple utiliser une balise meta et/ou du javascript au lieu de header():

<?php
...
if(blablabla)
{
?>
<html>
<head>
<meta http-equiv="refresh" content="0;http://www.tonsite.com/index.php" />
</head>
<body>
<p>Vous allez être redirigé vers l'accueil du site.</p>
</body>
</html>
<?php
}
...
?>

Lien vers le commentaire
Partager sur d’autres sites

print "<br><br><h3><font color=red>";
if ($envoi)
print "Remerciementformulaire.html";
else
print "Désolé, votre demande n'a pu aboutir, veuillez la renouveler" ;
print "</font></h3>" ;

}
?>
<html>
<head>
<meta http-equiv="refresh" content="0;http://www.tonsite.com/index.php" />
</head>
<body>
<p>Vous allez être redirigé vers l'accueil du site.</p>
</body>
</html>
<?php
}
...
?>



Je ne sais pas ou tu veux que je le mette, si je fais comme ca, j'obtiens un message d'erreur...

Lien vers le commentaire
Partager sur d’autres sites

<?php
[...]
?>
<html>
<head>
<meta http-equiv="refresh" content="0;http://www.tonsite.com/index.php" />
</head>
<body>
<h3 style="color: red;">
<?php
if ($envoi)
 echo 'Remerciementformulaire.html';
else
 echo 'Désolé, votre demande n\'a pu aboutir, veuillez la renouveler';
?>
</h3>
<p>Vous allez être redirigé vers l'accueil du site.</p>
</body>
</html>
<?php
[...]
?>

Lien vers le commentaire
Partager sur d’autres sites

  echo 'Remerciementformulaire.html';

J'ai beau être une buse en PHP, mais çà je suis désolé çà ne veut rien dire. Rien, vraiment rien.

Je ne sais pas s'il est vraiment nécessaire que je me répète mais un script tout fait fera amplement l'affaire. Essayer d'expliquer des notions telles que celles-ci a un débutant (avec tout le respect qu'on lui doit bien sûr) c'est perdre du temps, ce n'est pas le faire avancer.

http://www.comscripts.com/scripts/php.formulaires.sc8.html par exemple

Cordialement :)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...