Brèves

WebTV

Actualité de la scène

Compétitions

Forum
HELP Web html/php - 4 messages, 1477 vues
1er message
Par ngizz - 05/05/2015 14:08:28
Bonjour,

J'ai trouvez un site sympa en html, le problème c'est que je ne comprends pas pourquoi mon action post pour le mail ne marche pas.

Du coup je suis partie sur un mailto mais ça vaut pas en envoi direct...

<FORM METHOD=POST ENCTYPE="text/plain" ACTION="mailto:lefred22@hotmail.fr">
<textarea placeholder="Votre message" type="text" name="message"></textarea>
<input placeholder="E-mail" type="text" name="mail">
<input type="submit" value="Envoyer">
</form>

http://img11.hostingpics.net/pics/806324Sanstitre.jpg

J'ai essayer plusieurs truc sur google, sans réussite

Est-ce que quelque peut m'aider ? Je vous remercie d'avance

Cordialement,
Réponse #2
Par Beaver - 05/05/2015 15:01:09 - Modifié le 05/05/2015 16:17:17
<FORM METHOD=POST ENCTYPE="text/plain" ACTION="mail.php">
<textarea placeholder="Votre message" type="text" name="message"></textarea>
<input placeholder="E-mail" type="text" name="mail">
<input type="submit" value="Envoyer">
</form>


tu fais un page mail.php ou ta page courante

// 1- Destinataire
$to = 'bob@eponge.fr'; // PENSE A REMPLACER en suposant que c'est toi qui doit les recevoir

// 2- Expediteur
$from = $_POST['mail'];

// 3- le message avec un petit traitement rapide pour faire pété toute les tentatives d'injection et de script
$subject = trim(htmlentities(strip_tags($_POST['message'], ENT_QUOTES));

// 4- En-tête du mail
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: '.$from. "\r\n";

// 5- Envoie du mail :
mail($to, $subject, $message, $headers);

Après si tu es à l'aise avec le PHP j'te conseil de faire une version de ton mail en objet et générique comme ca tu auras juste à l'appeler avec la fonction.
Partie 1 2 3 4 dans le constructeur
le 5 sera dans ton sendMail(); que tu auras défini

$mail = new LE_NOM_DE_TA_CLASSE($_POST['destinataire'], $_POST['expediteur'], $_POST['message']);
$mail->sendMail();

théoriquement cela devrais fonctionner, je t'ai fait une version de ce que j'utilise

[Edit] fait abstraction des fautes d'orthographes je viens de voir que j'ai fait un carnage et la flemme de corriger :p
Réponse #3
Par SteeX - 05/05/2015 15:02:15
D'après ce que je viens de lire, l'action "mailto:" d'un formulaire ouvre ton client de messagerie et te prérempli certains champs (destinataire, sujet...). Ca t'ouvre donc un client comme outlook (lol).

Re-tente plutôt avec ton post, et joue avec les var_dump($_POST).
Réponse #4
Par ngizz - 05/05/2015 16:03:56
<FORM METHOD=POST ENCTYPE="text/plain" ACTION="mail.php">
<textarea placeholder="Votre message" type="text" name="message"></textarea>
<input placeholder="E-mail" type="text" name="mail">
<input type="submit" value="Envoyer">
</form>


tu fais un page mail.php ou ta page courante

// 1- Destinataire
$to = 'bob@eponge.fr'; // PENSE A REMPLACER en suposant que c'est toi qui doit les recevoir

// 2- Expediteur
$from = $_POST['mail'];

// 3- le message avec un petit traitement rapide pour faire pété toute les tentatives d'injection et de script
$subject = trim(htmlentities(strip_tags($_POST['message'], ENT_QUOTES));

// 4- En-tête du mail
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: '.$from. "\r\n";

// Envoie du mail :
mail($to, $subject, $message, $headers);


ça me m'envoi vers http://monadresse.fr/mail.php sans envoi du mail
(ps: je suis néophyte, a part joomla)
Réponse #5
Par ngizz - 05/05/2015 17:56:27
Merci beaucoup à Beaver de m'avoir aider :) !! topic clos.
Page 1 sur 1