besoin d'une aide en php (formulaire)

WRInaute discret
quelqu'un pourrait t'il m'aider, j'essaie de créer un formulaire de réponse en ligne, mais il faut que je crée un page en php pour que les infos me soient envoyées directement par mail, afin d'éviter le mailto:eek:utlook
et je pense que celà doit être tout con, mais je n'y arrive pas :(
j'ai créé une pahe traitement.php qui contient uniquement:

<?php
$adresse="monadresse@monfai.fr";
$from="$email";
mail($adresse, $sujet,$texte, $from);
?>

mais quand je test on me propose de downloader le ficher... je fait fausse route donc :(

voici mon formulaire
<form name='formulaire' action='traitement.php' method='post'>
<table width="448" border="0" align="center" cellspacing="0">
<tr><td width="117" height="35" class="Style2">Votre nom : </td>
<td width="327" align="left" valign="top"><input name='nom maitre' type='text' size='50'></td></tr>
<tr>
<td height="48"><span class="Style2">Votre adresse e-mail </span></td>
<td align="left" valign="top"><input name='e-mail' type='text' size='50'></td></tr>
<tr>
<td height="53"><span class="Style2">Le prénom de votre animal </span>email</td><td align="left" valign="top"><input name='nom animal' type='text' size='50'></td></tr>
<tr>
<td><span class="Style2">type d'animal </span></td>
<td><span class="Style2">
<input name='sujet' type='radio' value='chien'>
chien<br>
<input name='sujet' type='radio' value='chat'>
chat<br>
<input name='sujet' type='radio' value='autre'>
autre (préciser dans le commentaire)</span></td>
</tr>
<tr>
<td align="left" valign="top"><span class="Style2">Commentaires sur votre animal </span></td>
<td><textarea name='description' cols='50' rows='20'></textarea></td></tr>
<tr><td>&nbsp;</td>
<td align="center" valign="top"><input name='soumettre' type='submit' value='Envoyer'></td></tr>
</form>
 
WRInaute occasionnel
En fait, c'est plus compliqué, dans traitement.php, il faut que tu récupère les variables $_POST() et les envoyer via la fonction mail.

Arnaud
 
WRInaute accro
grosso mdo remplace une partie du formulaire action='mailto:<traitement>' par
action='envoi.php'

et mets le code <?php...?> dans une nouvelle page nommée envoi.php

ainsi ton formulaire dans une page html fais appel à une page envoi.php pour envoyer le mail

ou encore :
http://www.webdiz.com/coursphp/form2mail.php

edit : arnaud m'a grillée :p
 
WRInaute discret
schtroumpf a dit:
En fait, c'est plus compliqué, dans traitement.php, il faut que tu récupère les variables $_POST() et les envoyer via la fonction mail.

Arnaud

oups, oui Arnaud tu à raison, je viens de le rectifier dans le post, c'est bien entendu comme celà que c'est noté dans mon code source (je faisait un test et j'ai oublié d'effacer avant de le coller ici)

mais ça me demande de downloader mon fichier en php :(
 
WRInaute passionné
Des élements à changer :

Code:
<?php
if (isset($_POST['e-mail'])
{
    $adresse="monadresse@monfai.fr";
   mail($adresse, $_POST['sujet'],$_POST['texte'], $_POST['email']);
}
?> 
<form name='formulaire' action='mailto:<?php print $_SERVER['PHP_SELF'];?>' method='post'>

Evite les espaces dans les name de input.
 
WRInaute accro
(D'après l'exemple de Bacteries : )
soit ta page contact.php qui sera de la forme :
Code:
<?php 
if (isset($_POST['e-mail']) 
{ 
    $adresse="monadresse@monfai.fr"; 
   mail($adresse, $_POST['sujet'],$_POST['texte'], $_POST['email']); 
} 
?> 
<html>
<head>
<title>Formulaire de contact</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form name="formulaire" action="<?php print $_SERVER['PHP_SELF'];?>" method="post">
<table width="448" border="0" align="center" cellspacing="0"> 
  <tr>
    <td width="117" height="35" class="Style2">Votre nom : </td>
    <td width="327" align="left" valign="top"><input name="nom maitre" type="text" size="50"></td>
  </tr>
  <tr> 
    <td height="48"><span class="Style2">Votre adresse e-mail </span></td>
    <td align="left" valign="top"><input name="e-mail" type="text" size="50"></td>
  </tr>
  <tr> 
    <td height="53"><span class="Style2">Le prénom de votre animal </span>email</td>
    <td align="left" valign="top"><input name="nom animal" type="text" size="50"></td>
  </tr>
  <tr> 
    <td><span class="Style2">type d'animal </span></td>
    <td><span class="Style2"> 
      <input name="sujet" type="radio" value="chien">
      chien<br>
      <input name="sujet" type="radio" value="chat">
      chat<br>
      <input name="sujet" type="radio" value="autre">
      autre (préciser dans le commentaire)</span></td>
  </tr>
  <tr> 
    <td align="left" valign="top"><span class="Style2">Commentaires sur votre 
      animal </span></td>
    <td><textarea name="description" cols="50" rows="20"></textarea></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td align="center" valign="top"><input name="soumettre" type="submit" value="Envoyer"></td>
  </tr>
</table>
</form>
</body>
</html>

Attention : il te manquait la balise </table> à la fin...

Merci Bacteries :wink:
 
WRInaute discret
tu veux dire que je doit placer mon code php directement sur la page de mon formulaire au lieu d'en créer une autre?

autre question, peut être stupide, il y à bien un serveur qui s'occupe d'envoyer un mail. quel est ce serveur? dois-je le définir? ou t'occupe pas de ça petit? :?:
 
WRInaute impliqué
ben64btz a dit:
autre question, peut être stupide, il y à bien un serveur qui s'occupe d'envoyer un mail. quel est ce serveur? dois-je le définir? ou t'occupe pas de ça petit? :?:

Ca dépend de ton hébergeur et de la fonction d'envoi d'email qu'il propose.
mail() ou email() en php. Par défaut c'est le serveur SMTP de ton hébergeur qui est utilisé. Mais il y a des classes php qui permettent de gérer + finement l'envoi d'email et d'utiliser un autre serveur que celui de ton hébergeur si tu as des droits dessus.
 
WRInaute discret
:( merdouille bon j'oublie mon idée de formulaire je suis hébergé chez voilà et ça va encore compliquer la done.... merci quand même tout le monde
 
WRInaute accro
FAQ Voila a dit:
Puis-je utiliser des bases de données et des langages dynamiques tels que PHP, ASP, etc, dans la conception de mon site?

Pour des raisons de sécurité et de charge d'exploitation, notre serveur n'autorise malheureusement pas l'utilisation de bases de données et de langages tels que PHP, ASP, Perl, etc.
 
WRInaute discret
dd32 a dit:
FAQ Voila a dit:
Puis-je utiliser des bases de données et des langages dynamiques tels que PHP, ASP, etc, dans la conception de mon site?

Pour des raisons de sécurité et de charge d'exploitation, notre serveur n'autorise malheureusement pas l'utilisation de bases de données et de langages tels que PHP, ASP, Perl, etc.

grrrrrrr plus ça va plus je n'aime pas france tudéconne
 
WRInaute passionné
Si tu veux pas d'hébergeur payant t'as les espaces perso de Free (pas besoin d'avoir un compte chez eux) ou y'a des offres gratos (ou vraiment pas chère) chez des hébergeurs.
 
WRInaute discret
Bacteries a dit:
Si tu veux pas d'hébergeur payant t'as les espaces perso de Free (pas besoin d'avoir un compte chez eux) ou y'a des offres gratos (ou vraiment pas chère) chez des hébergeurs.

merci du tuyaud bactérie!! 8)
 
Discussions similaires
Haut