Est ce que mon code est valide ?
Essayonsderesoudrelesouci
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, créant mon site internet et ayant peut de pratique je voudrait savoir si mon code est valide pour envoyer un mail php.
Première page qui est mon index.php :
Et puis ma deux eme page pour envoyer le mail php: envoi.php :
Je sais qu'en local on peut pas vérifier si cela marche du coup je galère et je ne sais pas si c'est bon...
Merci beaucoup pour vos réponses ! et bonne année =)
Première page qui est mon index.php :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset="utf-8">
<...>
</head>
<body>
<...>
<?php
<div class="span9 contact_form">
<div id="note"></div>
<div id="fields">
<form id="contact-form-face" class="clearfix" action="envoi.php" method="post">
<input type="text" name="name" value="Nom" onFocus="if (this.value == 'Nom') this.value = '';" onBlur="if (this.value == '') this.value = 'Nom';"/>
<input type="text" name="mail" value="Mail" onFocus="if (this.value == 'mail') this.value = '';" onBlur="if (this.value == '') this.value = 'mail';"/>
<textarea name="message" onFocus="if (this.value == 'Message') this.value = '';" onBlur="if (this.value == '') this.value = 'Message';">Message</textarea>
<input class="contact_btn" name="bouton" type="submit" value="Envoyer le message" />
</form>
</div>
</body>
</head>
Et puis ma deux eme page pour envoyer le mail php: envoi.php :
<?php
$nom=$HTTP_POST_VARS['nom'];
$mail=$HTTP_POST_VARS['mail'];
$message=$HTTP_POST_VARS['message'];
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP";
$destinataire="website@**********.com";
if (mail($destinataire,$body,$headers)) {
echo "Votre mail a été envoyé<br>";
} else {
echo "Une erreur s'est produite";
}
?></p>
<p align="center">Vous allez bientot etre redirigé vers la page d'acceuil<br>
Si vous n'etes pas redirigé au bout de 5 secondes cliquez <a href="http://www.*********.com">ici
</a></p>
Je sais qu'en local on peut pas vérifier si cela marche du coup je galère et je ne sais pas si c'est bon...
Merci beaucoup pour vos réponses ! et bonne année =)
A voir également:
- Est ce que mon code est valide ?
- Ethernet n'a pas de configuration ip valide - Guide
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
3 réponses
Bonjour,
Bien sur que tu peux tester en local, tu installes un serveur local, comme Wamp et tu le configures pour pouvoir t'envoyer des mails. Il existe également des services qui te permettent de les tester mais je n'arrive plus à mettre le doigts dessus.
Voici un tuto pour configurer wamp : https://www.grafikart.fr/blog/mail-local-wamp
Ps : pour ta page index.php, tu es pas obligé de mettre ton html dans le php.
<?php
//Ton code
?>
<!DOCTYPE html>
<!--Ton html-->
Bien sur que tu peux tester en local, tu installes un serveur local, comme Wamp et tu le configures pour pouvoir t'envoyer des mails. Il existe également des services qui te permettent de les tester mais je n'arrive plus à mettre le doigts dessus.
Voici un tuto pour configurer wamp : https://www.grafikart.fr/blog/mail-local-wamp
Ps : pour ta page index.php, tu es pas obligé de mettre ton html dans le php.
<?php
//Ton code
?>
<!DOCTYPE html>
<!--Ton html-->
lut;)
tu peux le tester sur le validateur officiel ( W3C) , soit en testant via un site provisoire, soit en entrant le code directement ;)
tu peux le tester sur le validateur officiel ( W3C) , soit en testant via un site provisoire, soit en entrant le code directement ;)
Bonjour,
Non.
Ton code n'est pas tout à fait correct.
Par exemple, tu as input dont le "NAME" est : 'name'
Et dans ton PHP ... tu essayes de récupérer "NOM"
Ensuite....
Plutot que d'utiliser $HTTP_POST_VARS ... utilises les variables $_POST
Penses également à vérifier que la variable existe AVANT de l'utiliser ( via la fonction ISSET et la syntaxe ternaire par exemple)
Ce qui donnerait :
Et enfin.... Tu as mal utilisé la fonction MAIL
Tu as écris :
... sauf.. que.. tu as oublié un argument : le SUJET.
La bonne syntaxe etant :
Voir ici : https://www.php.net/manual/fr/function.mail.php
Ah.. et pour reprendre ce que t'a dit Brendy
la bonne formulation serait plutôt :
pour ta page index.php, tu NE DOIS PAS mettre ton html dans les balises php
Non.
Ton code n'est pas tout à fait correct.
Par exemple, tu as input dont le "NAME" est : 'name'
<input type="text" name="name" value="Nom" onFocus="if (this.value == 'Nom') this.value = '';" onBlur="if (this.value == '') this.value = 'Nom';"/>
Et dans ton PHP ... tu essayes de récupérer "NOM"
$nom=$HTTP_POST_VARS['nom'];
Ensuite....
Plutot que d'utiliser $HTTP_POST_VARS ... utilises les variables $_POST
Penses également à vérifier que la variable existe AVANT de l'utiliser ( via la fonction ISSET et la syntaxe ternaire par exemple)
Ce qui donnerait :
$nom = isset($_POST['name']) ? $_POST['name'] : '';
Et enfin.... Tu as mal utilisé la fonction MAIL
Tu as écris :
mail($destinataire,$body,$headers)
... sauf.. que.. tu as oublié un argument : le SUJET.
La bonne syntaxe etant :
mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
Voir ici : https://www.php.net/manual/fr/function.mail.php
Ah.. et pour reprendre ce que t'a dit Brendy
Ps : pour ta page index.php, tu es pas obligé de mettre ton html dans le php.
la bonne formulation serait plutôt :
pour ta page index.php, tu NE DOIS PAS mettre ton html dans les balises php