Page 1 sur 1

Help formulaire de contact

Posté : 17 oct. 2010, 16:46
par dido153
Bonjour, voilà j'ai fait un site avec joomla et je voulais un formulaire de contact qui soit fait directement sur la page de mon article sans passer par un composant style artform, chronoform etc.
Après de multiples recherches sur le net, j'ai trouvé quelque chose qui marche, il suffit d'inserer un code dans le html de la page puis de creer un document .php avec un autre code. Tout marche comme je veux.
Gros soucis, je ne sais pas comment ajouter de nouveaux champs, j'ai essayé plein de choses, bidouillé les codes mais sans résultats.

Voici le code que j'ai dans mon article :

<p align="center"><strong>Contact</strong></p>
<table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
<form action="envoi.php" method="post" enctype="application/x-www-form-urlencoded" name="formulaire">
<tr>
<td colspan="3"><strong>Envoyer un message</strong></td>
</tr>
<tr>
<td><div align="left">Votre nom :</div></td>
<td colspan="2"><input type="text" name="nom" size="45" maxlength="100"></td>
</tr>
<tr>
<td width="17%"><div align="left">Votre mail :</div></td>
<td colspan="2"><input type="text" name="mail" size="45" maxlength="100"></td>
</tr>
<tr>
<td><div align="left">Sujet : </div></td>
<td colspan="2"><input type="text" name="objet" size="45" maxlength="120"></td>
</tr>
<tr>
<td><div align="left">Message : </div></td>
<td colspan="2"><textarea name="message" cols="50" rows="10"></textarea></td>
</tr>
<tr>
<td></td>
<td width="42%"><center>
<input type="reset" name="Submit" value="Réinitialiser le formulaire">
</center></td>
<td width="41%"><center>
<input type="submit" name="Submit" value="Envoyer">
</center></td>
</tr>
</form>
</table>


Voici le code qu'il y a dans envoi.php !

<?php
$nom=$HTTP_POST_VARS['nom'];
$mail=$HTTP_POST_VARS['mail'];
$objet=$HTTP_POST_VARS['objet'];
$message=$HTTP_POST_VARS['message'];

/////voici la version Mine
$headers = "MIME-Version: 1.0\r\n";

//////ici on détermine le mail en format text
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";

////ici on détermine l'expediteur et l'adresse de réponse
$headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP";

$subject="$objet";
$destinataire="[email protected]"; //remplacez "[email protected]" par votre adresse e-mail
$body="$message";
if (mail($destinataire,$subject,$body,$headers)) {
echo "Votre mail a été envoyé<br>";
} else {
echo "Une erreur s'est produite";
}
?></p>
<p align="center">Vous allez bientot etre redirigé vers la page d'acceuil<br>
Si vous n'etes pas redirigé au bout de 5 secondes cliquez <a href="http://www.votre-site.com">ici
</a></p>


J'aimerai que mon formulaire soit comme ça :

Je souhaiterai :
Votre nom (ça c'est ok)
Société (zone de texte qu'une ligne)
Téléphone (zone de texte qu'une ligne)
Email (ça c'est ok)
Votre message (ça c'est ok)
Si vous désirez nous adresser une demande d'étude de travaux, veuiller remplir les champs ci-dessous :
Travaux intérieurs (zone à cocher)
Travaux extérieurs (zone que l'on peut cocher aussi)
Date de réalisation prévue (zone de texte qu'une ligne)
Descriptif succint (zone de texte à plusieurs lignes)

Voilà si quelqu'un peut me faire ces codesn ce serait génial ça me rendrait un énorme service, de plus je pourrai comparer la différence avec les codes d'origines et je comprendrai mieux les modifications à faire.
Je vous remercies d'avance !!!

Re: Help formulaire de contact

Posté : 17 oct. 2010, 19:42
par mgone
<p align="center"><strong>Contact</strong></p>
<table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
<form action="envoi.php" method="post" enctype="application/x-www-form-urlencoded" name="formulaire">
<tr>
<td colspan="3"><strong>Envoyer un message</strong></td>
</tr>


<tr>
<td><div align="left">Votre nom :</div></td>
<td colspan="2"><input type="text" name="nom" size="45" maxlength="100"></td>
</tr>


<tr>
<td><div align="left">Société :</div></td>
<td colspan="2"><input type="text" name="societe" size="45" maxlength="100"></td>
</tr>


<tr>
<td><div align="left">Téléphone :</div></td>
<td colspan="2"><input type="text" name="telephone" size="45" maxlength="100"></td>
</tr>



<tr>
<td width="17%"><div align="left">Votre mail :</div></td>
<td colspan="2"><input type="text" name="mail" size="45" maxlength="100"></td>
</tr>



<tr>
<td><div align="left">Message : </div></td>
<td colspan="2"><textarea name="message" cols="50" rows="10"></textarea></td>
</tr>


<tr>
<td colspan="3"><strong>Si vous désirez nous adresser une demande d'étude de travaux, veuiller remplir les champs ci-dessous :</strong></td>
</tr>




<tr>
<td><div align="left">Travaux intérieurs :</div></td>
<td colspan="2"><input name="tin" type="checkbox" value="oui" /></td>
</tr>


<tr>
<td><div align="left">Travaux extérieurs :</div></td>
<td colspan="2"><input name="tex" type="checkbox" value="oui" /></td>
</tr>



<tr>
<td width="17%"><div align="left">Date de réalisation prévue :</div></td>
<td colspan="2"><input type="text" name="dater" size="45" maxlength="100"></td>
</tr>



<tr>
<td><div align="left">Descriptif succint : </div></td>
<td colspan="2"><textarea name="desc" cols="50" rows="10"></textarea></td>
</tr>








<tr>
<td></td>
<td width="42%"><center>
<input type="reset" name="Submit" value="Réinitialiser le formulaire">
</center></td>
<td width="41%"><center>
<input type="submit" name="Submit" value="Envoyer">
</center></td>
</tr>
</form>
</table>



<?php
$nom=$HTTP_POST_VARS['nom'];
$societe=$HTTP_POST_VARS['societe'];
$telephone=$HTTP_POST_VARS['telephone'];
$mail=$HTTP_POST_VARS['mail'];
$message=$HTTP_POST_VARS['message'];

if(empty($HTTP_POST_VARS['tin'])) {$HTTP_POST_VARS['tin'] ='non';} else {$HTTP_POST_VARS['tin'] ='oui';}
if(empty($HTTP_POST_VARS['tex'])) {$HTTP_POST_VARS['tex'] ='non';} else {$HTTP_POST_VARS['tex'] ='oui';}

$tin=$HTTP_POST_VARS['tin'];
$tex=$HTTP_POST_VARS['tex'];


$dater=$HTTP_POST_VARS['dater'];
$desc=$HTTP_POST_VARS['desc'];



/////voici la version Mine
$headers = "MIME-Version: 1.0\r\n";

//////ici on détermine le mail en format text
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";

////ici on détermine l'expediteur et l'adresse de réponse
$headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP";

$subject="$objet";
$destinataire="[email protected]"; //remplacez "[email protected]" par votre adresse e-mail

$body ="\n Nom:";
$body .=$nom;
$body .="\n Societe:";
$body .=$societe;
$body .="\n telephone:";
$body .=$telephone;
$body .="\n message:";
$body .=$message;
$body .="\n Travaux intérieurs:";
$body .=$tin;
$body .="\n Travaux extérieurs:";
$body .=$tex;
$body .="\n Date de réalisation prévue:";
$body .=$dater;
$body .="\n Descriptif succint:";
$body .=$desc;

if (mail($destinataire,$subject,$body,$headers)) {
echo "Votre mail a été envoyé<br>";
} else {
echo "Une erreur s'est produite";
}
?></p>
<p align="center">Vous allez bientot etre redirigé vers la page d'acceuil<br>
Si vous n'etes pas redirigé au bout de 5 secondes cliquez <a href="http://www.votre-site.com">ici
</a></p>


Re: Help formulaire de contact

Posté : 19 oct. 2010, 13:42
par dido153
Merci beaucoup !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Milles merci c'est super gentil.
Dernière question, une fois qu'on valide le formulaire, ça atterit sur une page blanche avec écris merci blablabla, est-il possible de joindre le bouton valider directement sur un article de mon site ?
Merci d'avance

Re: Help formulaire de contact

Posté : 19 oct. 2010, 13:44
par stealth35
par contre chan tout les $HTTP_POST_VARS en $_POST

Re: Help formulaire de contact

Posté : 19 oct. 2010, 13:55
par dido153
Question sécurité c'est ça ? Merci.

A ce niveau là :


if (mail($destinataire,$subject,$body,$headers)) {
echo "Votre mail a été envoyé<br>";
} else {
echo "Une erreur s'est produite";
}
?></p>
<p align="center">Vous allez bientot etre redirigé vers la page d'acceuil<br>
Si vous n'etes pas redirigé au bout de 5 secondes cliquez <a href="http://www.sarl-littoralpeintureclimatisation.com">ici
</a></p>


Comment faire pour atterir sur une page de mon site directement dès qu'on valide le formulaire ?
Merci !!!

Re: Help formulaire de contact

Posté : 19 oct. 2010, 16:36
par moogli
par contre chan tout les $HTTP_POST_VARS en $_POST
=> ce n'est pas une question de sécurité mais "d'usage" depuis php on utilise les tableaux "super globaux" $_POST pour les données issues de formulaire, $_GET pour celles issues d'une URL etc ($_COOKIE et $_SESSION).
Comment faire pour atterir sur une page de mon site directement dès qu'on valide le formulaire ?
Merci !!!
utilise la fonction header (attention pas d'affichage avant).

@+