Formulaire php

Fermé
angopulse - 14 juin 2008 à 12:10
 angopulse - 15 juin 2008 à 19:11
Bonjour,

je suis débutante en création de site web, j'utilise dreamweaver cs3.
Je cherche a créer un formulaire de contact, pour cela je me suis rendu sur des sites qui nous donne des codes directement. Voila ce que l'un des site m'a donné seulement, je ne sais pas quoi en faire. Je mets tout sur une page html ?


Merci de votre aide, je suis désespéré.




<?php

// N'afficher que les erreurs, pas les avertissements...
ini_set("error_reporting", "E_ALL & ~E_NOTICE");

// Adresse de réception du formulaire
$email_dest = "play-avousdejouer@live.fr";

if ($_POST['envoi']) {

// E-mail headers:
$headers ="MIME-Version: 1.0 \n";
$headers .="From: PLAY Loisirs<play-avousdejouer@live.fr>\n";


$headers .="Content-Type: text/html; charset=iso-8859-1 \n";

$subject = "Formulaire Bon Cadeau";

$partie_entete = "<html><head>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head>
<body bgcolor=#FFFFFF>";

for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) {
$partie_champs_texte .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_champ'.$a] . " = " . $_POST['champ'.$a] . "</font><br>";
}

if ($_POST['nbre_zone_email'] != 0) {
$partie_zone_email = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_email'] . " = " . $_POST['zone_email'] . "</font><br>";
}

if ($_POST['nbre_zones_texte'] != 0) {
$partie_zone_texte = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_zone'] . " = " . $_POST['zone_texte'] . "</font><br>";
$partie_zone_texte = stripslashes($partie_zone_texte);
}

$fin = "</body></html>";

$sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_zone_texte . $fin;

// Send the e-mail
if (@!mail($email_dest,$subject,$sortie,$headers)) {
echo("Envoi du formulaire impossible");
} else { // Closing if !mail...

// Renvoi à la page de remerciement
header("Location:index.html");
exit();

} // Fin du else
} // Closing if edit
?>


<script language="JavaScript">function verifSelection() {if (document.mail_form.champ1.value == "") {
alert("Veuillez saisir votre nom.")
return false
} if (document.mail_form.champ5.value == "") {
alert("Veuillez saisir votre ville.")
return false
} if (document.mail_form.champ6.value == "") {
alert("Veuillez saisir le nom du bénéficiaire.")
return false
} if (document.mail_form.champ10.value == "") {
alert("Veuillez saisir la nature du Bon Cadeau.")
return false
} } // Fin de la fonction

</script>


<form name="mail_form" method="post" action="<?=$_SERVER['PHP_SELF']?>" onSubmit="return verifSelection()">
<div align="center"></div>
<p align="center">
<table width="566" border="0" align="center">
<p align="center">
</p><tr>
<td><font face="Verdana" size="2">Nom :</font></td>
<td><input name="champ1" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">Prénom :</font></td>
<td><input name="champ2" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">Adresse :</font></td>
<td><input name="champ3" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">Code Postal :</font></td>
<td><input name="champ4" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">Ville :</font></td>
<td><input name="champ5" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">Nom du bénéficiaire :</font></td>
<td><input name="champ6" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">Prénom du bénéficiaire :</font></td>
<td><input name="champ7" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">Age :</font></td>
<td><input name="champ8" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">Offert de la part de :</font></td>
<td><input name="champ9" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">Bon Cadeau pour :</font></td>
<td><input name="champ10" type="text"></td>
</tr><tr>
<td width><font face="Verdana" size="2">E-mail :</font></td>
<td width><input name="zone_email" type="text"></td>
</tr><tr>
<td valign="top"><font face="Verdana" size="2">Commentaires :</font></td>
<td><textarea name="zone_texte" cols="50" rows="10"></textarea></td>
</tr><tr>
<td valign="top"><input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="10">
<input name="nbre_zones_texte" type="hidden" value="1">
<input name="nbre_zone_email" type="hidden" value="1">
<input name="titre_champ1" type="hidden" value="Nom :"><input name="titre_champ2" type="hidden" value="Prénom :"><input name="titre_champ3" type="hidden" value="Adresse :"><input name="titre_champ4" type="hidden" value="Code Postal :"><input name="titre_champ5" type="hidden" value="Ville :"><input name="titre_champ6" type="hidden" value="Nom du bénéficiaire :"><input name="titre_champ7" type="hidden" value="Prénom du bénéficiaire :"><input name="titre_champ8" type="hidden" value="Age :"><input name="titre_champ9" type="hidden" value="Offert de la part de :"><input name="titre_champ10" type="hidden" value="Bon Cadeau pour :"><input name="titre_email" type="hidden" value="E-mail :"><input name="titre_zone" type="hidden" value="Commentaires :"></td>
<td><div align="center">
<input type="reset" name="Reset" value="Effacer">
<input type="submit" name="envoi" value="Envoyer">
</div></td>
</tr>
</table>
<div align="center"></div>
</form>


désolé pour ce code trop long mais je pensais que ca pourrais vous servir.

4 réponses

heavyisnotdead Messages postés 8 Date d'inscription jeudi 12 juin 2008 Statut Membre Dernière intervention 15 juin 2008
14 juin 2008 à 12:53
Salut,

Apriori ce code affiche bien un formulaire. Tu peux le simplifier et l'améliorer, mais tu veux en faire quoi au juste de ce formulaire? C'est pour envoyer les réponses vers une base de données?
0
merci de m'avoir répondu,
en fait je ne sais pas quoi en faire, dois-je le mettre dans même feuille, une feuille html ou php, ou sur deux feuilles ?
0
heavyisnotdead Messages postés 8 Date d'inscription jeudi 12 juin 2008 Statut Membre Dernière intervention 15 juin 2008
14 juin 2008 à 20:02
Alors tu peux te faire une page html, avec ton code pour le formulaire, qui renverra vers une page "traitement.php", par exemple, qui se chargera de tout enregistrer dans une base de donnée (en imaginant que tu en ai une.
Exemple:
/* formulaire.html*/

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Modifier le contenu</title>

<script language="JavaScript">function verifSelection() {if (document.form.nom.value == "") {
alert("Veuillez saisir votre nom.")
return false
} if (document.form.ville.value == "") {
alert("Veuillez saisir votre ville.")
return false
} if (document.form.nom_benef.value == "") {
alert("Veuillez saisir le nom du bénéficiaire.")
return false
} if (document.form.bon.value == "") {
alert("Veuillez saisir la nature du Bon Cadeau.")
return false
}
} // Fin de la fonction
</script>
</head>
<body>

<form name="form" method="post" action="<?=$_SERVER['PHP_SELF']?>" onSubmit="return verifSelection()">
<div align="center"></div>
<p align="center">
<table width="566" border="0" align="center">
<p align="center">
</p><tr>
<td><font face="Verdana" size="2">Nom :</font></td>
<td><input name="nom" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">Prénom :</font></td>
<td><input name="prenom" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">Adresse :</font></td>
<td><input name="adresse" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">Code Postal :</font></td>
<td><input name="cp" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">Ville :</font></td>
<td><input name="ville" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">Nom du bénéficiaire :</font></td>
<td><input name="nom_benef" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">Prénom du bénéficiaire :</font></td>
<td><input name="prenom_benef" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">Age :</font></td>
<td><input name="age" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">Offert de la part de :</font></td>
<td><input name="offert_part" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">Bon Cadeau pour :</font></td>
<td><input name="bon" type="text"></td>
</tr><tr>
<td width><font face="Verdana" size="2">E-mail :</font></td>
<td width><input name="email" type="text"></td>
</tr><tr>
<td valign="top"><font face="Verdana" size="2">Commentaires :</font></td>
<td><textarea name="commentaire" cols="50" rows="10"></textarea></td>
</tr><tr>
<td valign="top"><td><div align="center">
<input type="reset" name="Reset" value="Effacer">
<input type="submit" name="envoi" value="Envoyer">
</div></td>
</tr>
</table>
<div align="center"></div>
</form>
</body>
</html>

/*traitement.php*/

<?php
$host = "localhost";
$database = "ta_base";
$user = "login";
$password = 'motdepasse';
$connexion = mysqli_connect($host,$user,$password,$database) or die ("connexion au serveur impossible");

$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$adresse = $_POST['adresse'];
$cp = $_POST['cp'];
$ville = $_POST['ville'];
$nom_benef = $_POST['nom_benef'];
$prenom_benef = $_POST['prenom_benef'];
$age = $_POST['age'];
$offert_par = $_POST['offert_par'];
$bon = $_POST['bon'];
$email = $_POST['email];
$commentaire = $_POST['commentaire'];
$rq = "INSERT INTO $database (*) VALUES ('$nom','$prenom','$adresse','$cp','$ville','$nom_benef','$prenom_benef','$age','$offert_par','$bon','$email','$commentaire')";
$result = mysqli_query($connexion, $rq) or die ("Execution impossible");
?>

Evidement tu peux faire un truc plus classe en utilisant une feuille de style css pour la forme, ou encore d'autre amélioration. Là c'est juste un exemple. J'éspère que ça t'aidera.
0
Bonjour,
je viens de tester les codes mais j'arrive toujours a une page d'erreur avec ce message :

HTTP Error 405 - The HTTP verb used to access this page is not allowed.
Internet Information Services (IIS)

j'ai oublié de préciser une chose, je voudrais recevoir les données des formulaires par e-mail.
0
heavyisnotdead Messages postés 8 Date d'inscription jeudi 12 juin 2008 Statut Membre Dernière intervention 15 juin 2008 > angopulse
15 juin 2008 à 19:09
Oyps, autant pour moi, j'avais pas fait gaffe à mon erreur.
Hop, voilà la modif

<form name="form" method="post" action="traitement.php" onSubmit="return verifSelection()">

Pour ce qui est de l'envoie par email, je vais tacher de regarder le bout de code que tu avais mis au début (je l'avais retiré pour facilité la compréhension), dès que j'ai un petit moment de libre.
0
merci de ton aide, je vais tester ca
c très gentil à toi, je voi ca demain et je te dis
encore merci
0
merci beaucoup je vais déja modifier ta modification
0