Formulaire et e-mail

Eléphant du PHP | 117 Messages

15 mai 2005, 19:56

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>

Mammouth du PHP | 983 Messages

15 mai 2005, 20:24

Car tu as mis mailto:... dans l'action du formulaire. Du coups, ca lance Outlook :wink:

Eléphant du PHP | 117 Messages

15 mai 2005, 20:34

Oui rami,

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

Mammouth du PHP | 983 Messages

15 mai 2005, 20:44

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

Eléphant du PHP | 117 Messages

15 mai 2005, 20:54

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.

Mammouth du PHP | 983 Messages

15 mai 2005, 21:00

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

Eléphant du PHP | 117 Messages

16 mai 2005, 07:45

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.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

16 mai 2005, 10:05

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");
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 117 Messages

16 mai 2005, 12:25

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>]

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

16 mai 2005, 12:29

Retourne voir le tuto que je t'ai donné et jete un coup d'oeil à l'exemple 4 !!!
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 117 Messages

16 mai 2005, 13:04

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.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

16 mai 2005, 13:12

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>
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 117 Messages

16 mai 2005, 13:18

J'ai copié et collé avec précautions...
Ca ne le fait pas, le message reste le même sans saut de lignes

Eléphant du PHP | 117 Messages

16 mai 2005, 13:20

Voilà le message reçu par e-mail

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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

16 mai 2005, 13:22

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>
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer