Page 1 sur 2

Formulaire et e-mail

Posté : 15 mai 2005, 19:56
par Je Débute
Bonjour,

Je vous pose une question qui n'a peut-être rien à voir avec PHP.
Pourquoi quand je lance ce srcipt pourtant très simple, outlook se lance (alors qu'il ne devrait pas) pour finalement ne rien envoyer...


<form name="form1" method="post" action="mailto:[email protected]" enctype="text/plain" >
<textarea name="commentaires" cols="25" rows="5" id="commentaires"></textarea>
<input type="submit" name="Submit" value="Envoyer">
</form>

Posté : 15 mai 2005, 20:24
par rami
Car tu as mis mailto:... dans l'action du formulaire. Du coups, ca lance Outlook :wink:

Posté : 15 mai 2005, 20:34
par Je Débute
Oui rami,

Mais comment je fais alors. Je veux envoyer cela sans complication CGI comme j'ai compris sur des exemples.

Posté : 15 mai 2005, 20:44
par rami
Pour cela:
<form name="form1" method="post" action="sendmail.php" enctype="text/plain" >
<textarea name="commentaires" cols="25" rows="5" id="commentaires"></textarea>
<input type="submit" name="Submit" value="Envoyer">
</form>
Puis dans ton fichier sedmail.php, tu recuperes les infos et tu envoies le mail avec la fonction mail.

Je ne saurais que trop te conseiller de chercher dans la doc quand tu as besoin: Doc PHP

Posté : 15 mai 2005, 20:54
par Je Débute
Comment je fais pour récupérer les infos ?
Ne faut-il pas un serveur ou un truc comme cela pour cette manip.
Je vais lire la doc que tu me conseilles.

Posté : 15 mai 2005, 21:00
par rami
Dans le fichier sendmail.php, la variable $_POST['commentaires'] contient ce qui a été saisi dans le textarea de ton formulaire. Si tu avais utilisé la méthode GET dans ton formulaire, tu aurais pu récupérer la valeur par $_GET['commentaires'].

Je te conseille de lire la doc php en effet. De plus, regarde des tutoriaux. Par exemple ceux de phpfrance. :P

Apres, si tu as des problemes, n'hésites pas! :D

Posté : 16 mai 2005, 07:45
par Je Débute
Rami,

Merci pour les indics complémentaires.
J'ai fais un petit essai et ça marche. Je n'ai pas encore tout compris mais effectivement ça le fait.

Voici mes questions suivantes :
Je n'arrive pas encore à bien saisir la syntaxe de mail()
Je reçois un mail avec comme origine [email protected] ??? Comment changer?
Comment je fais pour passer plusieurs infos à la fois avec chacunes une etiquette pour savoir dans le mail de quoi il s'agit
Pour le sujet de l'envoi j'ai compris.

Posté : 16 mai 2005, 10:05
par zeus
Bonjour,

Tu recois un mail avec les infos par defaut qui sont dans ton php.ini !!!

Il faut que tu te renseigne sur les parametres à passer à la fonction mail() pour tout savoir !!! Tu peut passer l'adresse de l'expediteur !!!

Si tu veux plus d'infos sur cette fonction, va voir sur ce tuto : fonction mail()

Sinon, tu peut formater le corps de ton mail avec du code HTML, donc pour ta présentation, tu peut construire un code HTML comme si tu construisait ta page et tu l'envoie à ta function mail() et tu auras un mail construit !!!!

sendmail.php

Code : Tout sélectionner

$commentaire = $_POST["commentaire"]; $adresse = $_POST["adresse"]; $texte = "Message d'envoi d'informations<br>"; $texte .= "Commentaire : ".$commentaire."<br"; $texte .= "Adresse : ".$texte; mail("[email protected]", "Rappel des infos", $texte");

Posté : 16 mai 2005, 12:25
par Je Débute
Zeus,

Je progresse, mais...
La syntaxe !!!
Comment puis je faire pour aller à la ligne entre chaques données.
J'ai essayé <br>, etc. , /, machin en recopiant ta syntaxe cela ne marche pas !

Voici mon code

[
<p>Bonjour !</p>
<p>Le message à été envoyé </p>

<?
$nom = $_POST["nom"];
$prenom = $_POST["prenom"];
$texte = "Message d'envoi d'informations";
$texte .= "Nom : ".$nom;
$texte .= "Prenom : ".$prenom;
mail("[email protected]", "Rappel des infos", $texte);
?>

<p>]

Posté : 16 mai 2005, 12:29
par zeus
Retourne voir le tuto que je t'ai donné et jete un coup d'oeil à l'exemple 4 !!!

Posté : 16 mai 2005, 13:04
par Je Débute
Désolé, mais je n'y comprends rien... au tuto
Je l'ai déjà vu et avant de faire compliqué, j'aimerai faire plus simple.

Posté : 16 mai 2005, 13:12
par zeus
Il faut que ton mail soit un code HTML

essaye ça :
<p>Bonjour !</p>
<p>Le message à été envoyé </p>

<?
$nom = $_POST["nom"];
$prenom = $_POST["prenom"];
$texte = "Message d'envoi d'informations<br>";
$texte .= "Nom : ".$nom."<br>";
$texte .= "Prenom : ".$prenom."<br>";
mail("[email protected]", "Rappel des infos", $texte);
?>

<p>

Posté : 16 mai 2005, 13:18
par Je Débute
J'ai copié et collé avec précautions...
Ca ne le fait pas, le message reste le même sans saut de lignes

Posté : 16 mai 2005, 13:20
par Je Débute
Voilà le message reçu par e-mail

Message d'envoi d'informations<br>Nom : debute<br>Prenom : je<br>

Posté : 16 mai 2005, 13:22
par zeus
Tiens !!! :shock: bizarre !!

Essaye plutôt celui là :
<p>Bonjour !</p>
<p>Le message à été envoyé </p>

<?
$nom = $_POST["nom"];
$prenom = $_POST["prenom"];
$texte = "Message d'envoi d'informations\n";
$texte .= "Nom : ".$nom."\n";
$texte .= "Prenom : ".$prenom."\n";
mail("[email protected]", "Rappel des infos", $texte);
?>

<p>