Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: electron12 le le 09-06-2005 a 16:23:33

Titre: Formulaire de Contact basique
Posté par: electron12 le le 09-06-2005 a 16:23:33

Bonjour,

j'aimerai remplacer sur mon site mon ancien formulaire (mailto) par un formaulaire en PHP afin que meme les personnes sans logiciel de messagerie type Outlook puisse me contacter.

Malheuresement, apres une journée passée à tenter d'éditer les Formulaires dispo sur des sites de script, je ne suis arrivé à rien du tout. Je ne sais pas programmé, et j'aimerai seulement un formulaire basique avec :

Le nom de l'emmeteur,
Son Email,
Son sujet,
Et son message.

Rien de plus compliqué.


QUelqu'un peut il m'aider SVP ?
:'(

Titre: Re:Formulaire de Contact basique
Posté par: zibjovial le le 09-06-2005 a 16:57:01

salut g une petite solution assez simplifié
il y a moyen de l'améliorer mais sinon il fonctionne
1° tu crées ton formulaire:(contact.htm ou contact.php)
<form action="contacttrt.php" method="post">
<table width="100%" border="0">
<tr>
<td>nom
<input type="text" name="nom"></td>
</tr>
<tr>
<td>email
<input type="text" name="email"></td>
</tr>
<tr>
<td>message
<textarea name="message"></textarea></td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="Envoyer"></td>
</tr>
</table>
</form>

2°traitement du formulaire
(contacttrt.php)
<?

$msg = "Nom:\t$nom\n\n";
$msg .= "Message:\t$message\n\n";

$recipient = "$email (àquituenvois) ";

$mailheaders = "From: titre du site <> \n";
$mailheaders .= "Reply-To: $email (introduit par la personne)\n\n";

mail($recipient, $msg, $mailheaders);

echo "<HTML><HEAD>";
echo "<TITLE>Form Sent!</TITLE></HEAD><BODY>";
echo "<H1 align=center><br>Merci, $np</H1>";
echo "<P align=center>";
echo "Votre message est bien envoyé.</P>";
echo "</BODY></HTML>";

?>

voilà j'espère que cela peux t'aider

Titre: Re:Formulaire de Contact basique
Posté par: electron12 le le 09-06-2005 a 17:52:46

j'ai essayer ton script, mais ça m'envoie des mails Vides, le corps du message n'est pas dans le mail.

peut tu m'aider (et déja merci pour ce script)

Titre: Re:Formulaire de Contact basique
Posté par: zibjovial le le 09-06-2005 a 19:18:48

as tu bien concaténer le msg et utiliser les même variable que dans le formulaire?
sinon voilà
<html>
<head>
<title>Contact</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?

$msg = "Nom:\t$nomp\n\n";
$msg .= "E-Mail:\t$email\n\n";
$msg .= "Sujet:\t$subjet\n\n";
$msg .= "Commentaires:\t$com\n\n";

$recipient = "blablablabla@hotmail.com";

$mailheaders = "From: My Web Site <> \n";
$mailheaders .= "Reply-To: $email\n\n";

mail($recipient, $subjet, $msg, $mailheaders);

echo "<HTML><HEAD>";
echo "<TITLE>Form Sent!</TITLE></HEAD><BODY>";
echo "<H1 align=center><br>Merci, $np</H1>";
echo "<P align=center>";
echo "Votre message est bien envoyé.</P>";
echo "</BODY></HTML>";

?>

<p align="center"><a href="index.htm" target="_top">Retour au site</a></p>
<p>&nbsp;</p>
</body>
</html>

Titre: Re:Formulaire de Contact basique
Posté par: electron12 le le 15-06-2005 a 00:15:22

j'ai bien avancé dans ma concquete du PHP, lol !! :P
et voici mes 2 fichiers :

contact.html :

<form action="contacttrt.php" method="post">
<table width="40%" height="172" border="0" align="center">
<tr>
<td>nom
<input type="text" name="nom">
<br><br></td>
</tr>
<tr>
<td>email
<input type="text" name="email">
<br><br></td>
</tr>
<tr>
<td>message
:<br>
<textarea name="message" cols="50" rows="7"></textarea></td>
</tr>
<tr>
<td><br>
<input type="submit" name="Submit" value="Envoyer"></td></tr>
</table>
<br>
</form>


et voici contacttrt.php :

<?
$email = $_POST['email'];
$nom = $_POST['nom'];
$message = $_POST['message'];

$msg = "Nom :\t$nom\n\n";
$msg .= "Message :\t$message\n\n";

$recipient = "piratland@laposte.net";

echo '<HTML><HEAD>';
echo '<TITLE>Form Sent!</TITLE></HEAD><BODY>';
echo '<H1 align=center><br>Merci, $nom</H1>';

if( mail($recipient, "Formulaire de Contact, Piratland" ,$msg, "From: $email\r\nReply-To: $email") )
{
echo '<P align=center>Votre message est bien envoyé.</P>';
}
else
{
echo '<P align=center>Erreur !!!, le message n\'a pas pu etre envoyé.</P>';
}
echo '<P align=center>';
echo '<a href="Javascript:history.go(-2)">Retour au site</a></P>';
echo '</BODY></HTML>';
?>


ça marche, mais quelques derniers points me chagrinent :

une fois le mail envoyé, le message affiché est : "Merci, $nom"

la balise $nom ne fonctionne pas...j'ai regardé, mais je ne comprend pas pourquoi !?

Et une derniere chose, j'ai mis ces 2 pages dans le code html "standard" de mon site, c'est à dire la police, un script antipub...etc, mais pourtant la page affichée reste en blanc, alors que le code dit Noir ! je ne comprend pas, regardez si vous avez le temps :

http://membres.lycos.fr/piratland/index2.html (http://membres.lycos.fr/piratland/index2.html)

puis sur "Contact".

Si quelqu'un peut m'aider, ça serait vraiment cool ! ;D

Titre: Re:Formulaire de Contact basique
Posté par: waz le le 15-06-2005 a 00:24:24

Test sa !!!

<form action="contacttrt.php" method="post">
<table width="40%" height="172" border="0" align="center">
<tr>
<td>nom
<input type="text" name="nom">
<br><br></td>
</tr>
<tr>
<td>email
<input type="text" name="email">
<br><br></td>
</tr>
<tr>
<td>message
:<br>
<textarea name="message" cols="50" rows="7"></textarea></td>
</tr>
<tr>
<td><br>
<input type="submit" name="Submit" value="Envoyer"></td></tr>
</table>
<br>
</form>


et voici contacttrt.php :

<?
$email = $_POST['email'];
$nom = $_POST['nom'];
$message = $_POST['message'];

$msg = "Nom :\t$nom\n\n";
$msg .= "Message :\t$message\n\n";

$recipient = "piratland@laposte.net";

echo '<HTML><HEAD>';
echo '<TITLE>Form Sent!</TITLE></HEAD><BODY>';
echo '<H1 align=center><br>Merci,'.$nom.'</H1>';

if( mail($recipient, "Formulaire de Contact, Piratland" ,$msg, "From: $email\r\nReply-To: $email") )
{
echo '<P align=center>Votre message est bien envoyé.</P>';
}
else
{
echo '<P align=center>Erreur !!!, le message n\'a pas pu etre envoyé.</P>';
}
echo '<P align=center>';
echo '<a href="Javascript:history.go(-2)">Retour au site</a></P>';
echo '</BODY></HTML>';
?>

Titre: Re:Formulaire de Contact basique
Posté par: electron12 le le 15-06-2005 a 12:37:19

'.$nom.' ---> ça marche, merci !

par contre pour le fait que le page reste blacnhe sous IE (car sous FireFox elle est noir) je sais toujours pas.

De meme pour le lien de retour au site : Javascript:history.go(-2), il ne fonctionne pas sous FireFox, mais fonctionne sur IE.

???

Titre: Re:Formulaire de Contact basique
Posté par: waz le le 15-06-2005 a 12:45:11

Normal .. Le javascript n'est pas lu par tout les navigateurs ... DOnc je te conceil de faire un lien de retour ...
Pour le reste, est ce important la couleur de la page ?

Titre: Re:Formulaire de Contact basique
Posté par: electron12 le le 15-06-2005 a 13:01:20

oui elle m'importe, je demande pas grand chose, un fond noir :-[

Titre: Re:Formulaire de Contact basique
Posté par: waz le le 15-06-2005 a 13:05:31

Le fond Noir sur qu'elle page ? L'email ou ta page web ... Si c'est pour ta page web , verifie que ton <body background='#000000'> soit bien mi

Titre: Re:Formulaire de Contact basique
Posté par: electron12 le le 15-06-2005 a 13:17:10

c'est bien mis, et sur cette page d'envoi c'est bien noir,

mais c'est sur la confirmation d'envoi que c'est blanc :-(

Titre: Re:Formulaire de Contact basique
Posté par: waz le le 15-06-2005 a 13:32:26

echo '<HTML><HEAD>';
echo '<TITLE>Form Sent!</TITLE></HEAD><BODY>';
echo '<H1 align=center><br>Merci,'.$nom.'</H1>';

Remplace par

echo '<HTML><HEAD>';
echo '<TITLE>Form Sent!</TITLE></HEAD><BODY BACKGROUND=#000000>';
echo '<H1 align=center><br>Merci,'.$nom.'</H1>';

Titre: Re:Formulaire de Contact basique
Posté par: electron12 le le 15-06-2005 a 13:56:34

ji l'erreur : Parse error: parse error, expecting `','' or `';'' in /data/members/...../htdocs/pages/contacttrt.php on line 14


line 14 : echo '<H1 align=center><br>Merci,'.$nom.'</H1>';


je vois pas d'ou ça vient cette erreur ?

Titre: Re:Formulaire de Contact basique
Posté par: calenfeaion le le 15-06-2005 a 15:37:40

Pourquoi ne fais tu pas simplement :


Code:

echo "<H1 align='center'>Merci, $nom</H1>";

???

Sinon, il y a peut-être un erreur plus haut dans le script, regarde un peu.

Titre: Re:Formulaire de Contact basique
Posté par: waz le le 15-06-2005 a 16:28:33

Bizarre ton erreur faudrait que tu remettes le code que tu as la !! pas l'ancien , celui aprés les modifications

Titre: Re:Formulaire de Contact basique
Posté par: electron12 le le 15-06-2005 a 20:50:58

je vous remercie à tous, le script marche bien maintenant.

ouf !!! lol

juste une question ? est-ce compliqué de rajouté un champ dans le formulaire pour joindre un fichier ?

Titre: Re:Formulaire de Contact basique
Posté par: FireLink le le 15-06-2005 a 21:07:24

Citation de: calenfeaion le le 15-06-2005 a 15:37:40
Pourquoi ne fais tu pas simplement :


Code:

echo "<H1 align='center'>Merci, $nom</H1>";

???

Sinon, il y a peut-être un erreur plus haut dans le script, regarde un peu.


Parce que c'est ainsi qu'il faut le faire...

Sinon electron12:
http://www.asp-php.net/ressources/bouts_de_code.php?codid=83

Titre: Re:Formulaire de Contact basique
Posté par: calenfeaion le le 16-06-2005 a 15:36:26

Citation de: FireLink le le 15-06-2005 a 21:07:24
Citation de: calenfeaion le le 15-06-2005 a 15:37:40
Pourquoi ne fais tu pas simplement :


Code:

echo "<H1 align='center'>Merci, $nom</H1>";

???

Sinon, il y a peut-être un erreur plus haut dans le script, regarde un peu.


Parce que c'est ainsi qu'il faut le faire...

Sinon electron12:
http://www.asp-php.net/ressources/bouts_de_code.php?codid=83


Je ne comprends pas très bien ta remarque, 'fin bon...
J'essaye de lui facilité la vie plutôt que de faire des concatenation inutile...

Titre: Re:Formulaire de Contact basique
Posté par: FireLink le le 19-06-2005 a 15:01:57

Je vois pas en quoi c'est inutile... il faut le faire ainsi. Je vais pas pousser le débat plus loin, c'est comme respecter les standards xhtml...

Titre: Re:Formulaire de Contact basique
Posté par: MFred le le 19-06-2005 a 17:05:38

En effet, les quotes simples et la concaténation sont préférables aux quotes doubles dans ce cas : plus rigoureuses, plus performantes (http://www.estvideo.com/dew/index/page/phpbench (http://www.estvideo.com/dew/index/page/phpbench)) ...

Celà dit, je n'irais pas jusqu'à dire que c'est aussi important que le respect des normes du w3c ! Là il s'agit uniquement de performance et d'habitude, l'emploi des quotes doubles reste tout à fait acceptable (utilisé dans la doc à de nombreuses reprises), en bref c'est surtout un choix du programmeur ; à l'inverse, un code (x)html sémantiquement correct, accessible et valide est une nécessité pour tout bon webmaster (àmha).


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.