déterminer le destinataire d'un formulaire de contact

Eléphanteau du PHP | 46 Messages

01 nov. 2011, 19:39

Bonjour
J''essaye de me créer un petit formulaire de contact. Pour cela, je viens de me faire un petit script ( plutôt adapté) que voici ci-dessous
<div id="contact_form">
        	        
        	          <form method="post" name="contact" action="#contact">
        	            <label for="author">Name:</label> <input type="text" id="author" name="author" class="required input_field" />
						<div class="cleaner_h10"></div>
						
        	            <label for="email">Email:</label> <input type="text" id="email" name="email" class="validate-email required input_field" />
						<div class="cleaner_h10"></div>
						
        	            <label for="text">Message:</label> <textarea id="text" name="text" rows="0" cols="0" class="required"></textarea>
						<div class="cleaner_h10"></div>
						
        	            <input type="submit" class="submit_btn float_l" name="submit" id="submit" value="Send" />
						<input type="reset" class="submit_btn float_r" name="reset" id="reset" value="Reset" />
      	            </form>
      	          </div>
seulement là où je bloque, c'est au niveau de la détermination du destinataire. Comment doit je faire pour que lorsque l'on clic sur submit, le message arrive dans ma boîte de messagerie?

merci d'avance

ViPHP
xTG
ViPHP | 7331 Messages

01 nov. 2011, 19:41

L'attribut action est incorrect, ce doit être un chemin vers une ressource (fichier PHP par exemple) qu'il faut renseigner.

Et pour envoyer un email en PHP voici de quoi potasser : http://a-pellegrini.developpez.com/tutoriels/php/mail/ :)

Eléphanteau du PHP | 46 Messages

01 nov. 2011, 20:03

ok, le problème c'est que mon script php je l'ai placé à l'intérieur de ma page HTML. Donc comment déterminer l'attribut "action"?

ViPHP
xTG
ViPHP | 7331 Messages

01 nov. 2011, 20:44

Dans ce cas tu rediriges sur la même page.
Et ton script PHP doit être dans une condition, par exemple :
if( !empty($_POST) ){
 //....
}

Eléphanteau du PHP | 46 Messages

02 nov. 2011, 15:54

le //...... doit correspondre à mon script php je suppose?

Eléphanteau du PHP | 46 Messages

02 nov. 2011, 16:14

Voici ce que je viens de faire mais ca ne fonctionne pas
<h2>Contact Information</h2>
        	      <div class="cleaner_h10"></div>
        	      <?php
        	      if( !empty($_POST) ){
$nom=$HTTP_POST_VARS['nom']; 
$mail=$HTTP_POST_VARS['mail']; 
$objet=$HTTP_POST_VARS['objet']; 
$message=$HTTP_POST_VARS['message']; 

/////voici la version Mine 
$headers = "MIME-Version: 1.0\r\n"; 

//////ici on détermine le mail en format text 
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; 

////ici on détermine l'expediteur et l'adresse de réponse 
$headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP"; 

$subject="$objet"; 
$destinataire="[email protected]"; 
$body="$message"; 
if (mail($destinataire,$subject,$body,$headers)) { 
echo "Votre mail a été envoyé<br>"; 
} else { 
echo "Une erreur s'est produite"; 
} 

}
?>
        	      
        	      <div class="col_400 float_l">
        	        <div id="contact_form">
        	          <form method="post" name="contact" action="#contact">
        	            <label for="author">Name:</label> <input type="text" id="author" name="author" class="required input_field" />
						<div class="cleaner_h10"></div>
						
        	            <label for="email">Email:</label> <input type="text" id="email" name="email" class="validate-email required input_field" />
						<div class="cleaner_h10"></div>
						
        	            <label for="text">Message:</label> <textarea id="text" name="text" rows="0" cols="0" class="required"></textarea>
						<div class="cleaner_h10"></div>
						
        	            <input type="submit" class="submit_btn float_l" name="submit" id="submit" value="Send" />
						<input type="reset" class="submit_btn float_r" name="reset" id="reset" value="Reset" />
      	            </form>
      	          </div>
      	        </div>

ViPHP
xTG
ViPHP | 7331 Messages

02 nov. 2011, 16:33

Hum... Sans plus de détail... Je serais obligé de te croire sur parole sans même savoir de quoi tu parles !
Bon on va tenter tout de même de trouver quelque chose à répondre.
L'attribut action n'implique pas un rechargement de la page. ;)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

02 nov. 2011, 16:34

salut,

tu n'as pas tenu compte de la remarque de xTG ! explication sur la balise <form>

voici un tuto sur les formulaires http://www.phpdebutant.org/article56.php afin d'avoir un code plus actuel, $HTTP_POST_VARS n'étant plus d'actualité depuis plusieurs années déjà :)

juste pour info : ça marche c'est pas suffisant, pas plus que tu dit docteur g malade soigne moi :mrgreen:

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 46 Messages

02 nov. 2011, 16:43

Hum... Sans plus de détail... Je serais obligé de te croire sur parole sans même savoir de quoi tu parles !
Bon on va tenter tout de même de trouver quelque chose à répondre.
L'attribut action n'implique pas un rechargement de la page. ;)
Voici l'erreur en image
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

02 nov. 2011, 17:01

la au pif je dirais que soit :
- le fichier n'a pas l'extension .php
- php n'est pas installé sur ton serveur web (t'en a un ?)
- les deux ?

a tu a bien compris le tuto zéro de phpdebutant ?
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 46 Messages

02 nov. 2011, 17:15

la au pif je dirais que soit :
- le fichier n'a pas l'extension .php
Mon fichier est en html.J'ai placé mon code a l'interieur du html

ViPHP
xTG
ViPHP | 7331 Messages

02 nov. 2011, 17:23

Pour que du code PHP soit interprété il doit être dans un fichier dont l'extension est prise en compte pour l'interprétation par le serveur.
De base les .html ne sont pas interprétés, ils sont renvoyés en brut, et c'est tout à fait attendu comme comportement.
Renommes ton fichier en .php et le code sera interprété.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

02 nov. 2011, 18:39

Pour que du code PHP soit interprété il doit être dans un fichier dont l'extension est prise en compte pour l'interprétation par le serveur.
De base les .html ne sont pas interprétés, ils sont renvoyés en brut, et c'est tout à fait attendu comme comportement.
Renommes ton fichier en .php et le code sera interprété.
wé donc faut commencer par le commencement je ré itère pour le tuto zéro de phpdebutant, c'est pas une vacherie c'est juste la bse, on ne monte pas une maison sans fondation (enfin si mais y a des grandes chances qu'elle se casse la gueule :) ).

@+
Il en faut peu pour être heureux ......