Formulaire et e-mail

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Formulaire et e-mail

par zeus » 16 mai 2005, 13:36

Il faut savoir que \n représente un retour à la ligne unix

Dans ton code PHP, tu peut un placer dans ton echo pour formater ton code HTML !!!

il en existe d'autre, \t qui représente une tabulation !!!

par exemple, pour avoir un code HTML formaté, je vais écrire ça :
<html>
  <head>
    <title>MaPAge.php</title>
  </head>
  <body>
    <select name="test">
<?php
$var = array(1,2,3);
foreach($var as $index => $val) {
  echo "\t\t\t<option value=".$val.">".$val."</option>\n";
}
?>
    </select>
  </body>
</html>
Le code généré sera
<html>
  <head>
    <title>MaPAge.php</title>
  </head>
  <body>
    <select name="test">
      <option value=1>1</option>
      <option value=2>2</option>
      <option value=3>3</option>
    </select>
  </body>
</html>
Alors que sans ce formatage, le code aurait été :
<html>
  <head>
    <title>MaPAge.php</title>
  </head>
  <body>
    <select name="test">
<option value=1>1</option><option value=2>2</option><option value=3>3</option>
    </select>
  </body>
</html>

par Je Débute » 16 mai 2005, 13:31

Alors là nickel...

Voici le resultat

Message d'envoi d'informations
Nom : Debute
Prenom : Je


Merci beaucoup.
Je vais méditer là dessus parce que pour moi c'est encore magique.

par zeus » 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>

par Je Débute » 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>

par Je Débute » 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

par zeus » 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>

par Je Débute » 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.

par zeus » 16 mai 2005, 12:29

Retourne voir le tuto que je t'ai donné et jete un coup d'oeil à l'exemple 4 !!!

par Je Débute » 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>]

par zeus » 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");

par Je Débute » 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.

par rami » 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

par Je Débute » 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.

par rami » 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

par Je Débute » 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.