Form action
Résolu/Fermé
A voir également:
- Form action
- Action - Guide
- Tubidy film d'action telecharger - Télécharger - TV & Vidéo
- Cette action ne peut pas être réalisée car le fichier est ouvert dans system - Guide
- Action fans - Accueil - Guide arnaque
- Piratage Temu et Action : vol massif de données personnelles chez les champions du hard discount - Accueil - Piratage
3 réponses
Utilisateur anonyme
15 juin 2010 à 11:05
15 juin 2010 à 11:05
Bonjour,
Si j'étais toi, j'utiliserai la fonction mail(). A savoir que certains hébergeurs n'acceptent pas cette fonction.
Un exemple :
Le formulaire.
Le code de envoi_message.php.
Si j'étais toi, j'utiliserai la fonction mail(). A savoir que certains hébergeurs n'acceptent pas cette fonction.
Un exemple :
Le formulaire.
<form method="POST" action="envoi_message.php"> Titre : <input type="text" size="50" name="titre"> Message : <textarea cols="90" rows="10" name="message"></textarea> <input type="submit" name="go" value="Envoyer"> </form>
Le code de envoi_message.php.
if (isset($_POST['go'])) { if (empty($_POST['titre']) || empty($_POST['message'])) { echo "Au moins un des champs est vide."; } else { $titre = $_POST['titre']; $message = $_POST['message']; $destinataire = "monemail@monfai.fr"; // On définit le reste des paramètres $header = "From : Le nom du site\r\n"; $header .= "MIME-version: 1.0\n"; $header .= "Content-type: text/html; charset=utf-8\r\n"; // Envoi de l'email mail($destinataire, $titre, $message, $header); echo "Message envoyé."; } }
Utilisateur anonyme
15 juin 2010 à 12:44
15 juin 2010 à 12:44
Bonjour
Ce logiciel est peut-être très bien mais tout est en anglais et il y a de nombreux fichiers
Un minimum d'explications en français est vraiment nécessaire avec des exemples
Merci
Ce logiciel est peut-être très bien mais tout est en anglais et il y a de nombreux fichiers
Un minimum d'explications en français est vraiment nécessaire avec des exemples
Merci
atout1
Messages postés
216
Date d'inscription
mardi 11 mai 2010
Statut
Membre
Dernière intervention
17 juin 2011
Modifié par atout1 le 15/06/2010 à 14:36
Modifié par atout1 le 15/06/2010 à 14:36
quand tu fais unzip. pour le fichier
copie "class.phpmailer.php" --> coller où se trouve ton projet (ex: dans www)
après tas l'exemple suivant qui explique tous.. en fait tout est prêt tu fais rien sauf que tu change l'adresse smtp dans la fonction
Exemple :
créer la fonction php suivant
function envoi_mail($from, $to, $sujet, $message)
{
$mail = new PHPMailer();
$mail->IsSMTP(); // set mailer to use SMTP
$mail->Host = "smtp1.example.com"; // specify main and backup server
$mail->SMTPAuth = false; // turn on SMTP authentication
$mail->Username = ""; // SMTP username
$mail->Password = ""; // SMTP password
$mail->From = "$from";
$mail->FromName = "ton prénom";
$mail->AddAddress("$to");
$mail->WordWrap = 80; // set word wrap to 50 characters
$mail->IsHTML(false); // set email format to HTML
$mail->Subject = "$sujet";
$mail->Body = "$message";
if(!$mail->Send())
{
echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}
//echo "Message has been sent<br/>";
}
chaque fois tu veux envoyer un mail tu appel la fonction envoi_mail(avec les paramètres)
exemple :
$from = "ton mail";
$to = "mail_destinataire";
$sujet = "sujet ";
$message = "hello world !!! ";
envoi_mail($from, $to, $sujet, $message); // appel de la fonction n'oublie pas d'ajouter dans le fichier php où tu appel la fonction require("class.phpmailer.php");
dans le readme file tas autre exemple (ligne 182).
n'hésite pas à poser des questions :D
A+
copie "class.phpmailer.php" --> coller où se trouve ton projet (ex: dans www)
après tas l'exemple suivant qui explique tous.. en fait tout est prêt tu fais rien sauf que tu change l'adresse smtp dans la fonction
Exemple :
créer la fonction php suivant
function envoi_mail($from, $to, $sujet, $message)
{
$mail = new PHPMailer();
$mail->IsSMTP(); // set mailer to use SMTP
$mail->Host = "smtp1.example.com"; // specify main and backup server
$mail->SMTPAuth = false; // turn on SMTP authentication
$mail->Username = ""; // SMTP username
$mail->Password = ""; // SMTP password
$mail->From = "$from";
$mail->FromName = "ton prénom";
$mail->AddAddress("$to");
$mail->WordWrap = 80; // set word wrap to 50 characters
$mail->IsHTML(false); // set email format to HTML
$mail->Subject = "$sujet";
$mail->Body = "$message";
if(!$mail->Send())
{
echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}
//echo "Message has been sent<br/>";
}
chaque fois tu veux envoyer un mail tu appel la fonction envoi_mail(avec les paramètres)
exemple :
$from = "ton mail";
$to = "mail_destinataire";
$sujet = "sujet ";
$message = "hello world !!! ";
envoi_mail($from, $to, $sujet, $message); // appel de la fonction n'oublie pas d'ajouter dans le fichier php où tu appel la fonction require("class.phpmailer.php");
dans le readme file tas autre exemple (ligne 182).
n'hésite pas à poser des questions :D
A+
Utilisateur anonyme
16 juin 2010 à 11:57
16 juin 2010 à 11:57
Trop compliqué pour un débutant!!!
J'ai trouvé le script suivant qui a l'air satisfaisant mais malheureusement pas protégé contre le spam (si quelqu'un a une idée pour le protéger...):
J'ai trouvé le script suivant qui a l'air satisfaisant mais malheureusement pas protégé contre le spam (si quelqu'un a une idée pour le protéger...):
<?php // N'afficher que les erreurs, pas les avertissements... ini_set("error_reporting", "E_ALL & ~E_NOTICE"); // Adresse de réception du formulaire $email_dest = "mon.email@monfai.fr"; if ($_POST['envoi']) { // E-mail headers: $headers ="MIME-Version: 1.0 \n"; $headers .="From: site www.monsite.net<webmaster@monsite.net>\n"; $headers .="Content-Type: text/html; charset=iso-8859-1 \n"; $subject = "chamari.net"; $partie_entete = "<html><head> <meta http-equiv=Content-Type content=text/html; charset=iso-8859-1> </head> <body bgcolor=#FFFFFF>"; for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) { $partie_champs_texte .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_champ'.$a] . " = " . $_POST['champ'.$a] . "</font><br>"; } if ($_POST['nbre_zone_email'] != 0) { $partie_zone_email = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_email'] . " = " . $_POST['zone_email'] . "</font><br>"; } if ($_POST['nbre_zones_texte'] != 0) { $partie_zone_texte = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_zone'] . " = " . $_POST['zone_texte'] . "</font><br>"; $partie_zone_texte = stripslashes($partie_zone_texte); } $fin = "</body></html>"; $sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_zone_texte . $fin; // Send the e-mail if (@!mail($email_dest,$subject,$sortie,$headers)) { echo("Envoi du formulaire impossible"); } else { // Closing if !mail... // Renvoi à la page de remerciement exit(); } // Fin du else } // Closing if edit ?> <html> <head> <title></title> <script language="JavaScript">function verifSelection() {if (document.mail_form.champ1.value == "") { alert("Veuillez saisir votre nom") return false } if (document.mail_form.champ2.value == "") { alert("Veuillez saisir votre prénom") return false } if (document.mail_form.zone_email.value == "") { alert("Veuillez saisir votre email") return false } invalidChars = " /:,;'" for (i=0; i<invalidChars.length; i++) { // does it contain any invalid characters? badChar = invalidChars.charAt(i) if (document.mail_form.zone_email.value.indexOf(badChar,0) > -1) { alert("Votre adresse e-mail contient des caractères invalides. Veuillez vérifier.") document.mail_form.zone_email.focus() return false } } atPos = document.mail_form.zone_email.value.indexOf("@",1) // there must be one "@" symbol if (atPos == -1) { alert('Votre adresse e-mail ne contient pas le signe "@". Veuillez vérifier.') document.mail_form.zone_email.focus() return false } if (document.mail_form.zone_email.value.indexOf("@",atPos+1) != -1) { // and only one "@" symbol alert('Il ne doit y avoir qu\'un signe "@". Veuillez vérifier.') document.mail_form.zone_email.focus() return false } periodPos = document.mail_form.zone_email.value.indexOf(".",atPos) if (periodPos == -1) { // and at least one "." after the "@" alert('Vous avez oublié le point "." après le signe "@". Veuillez vérifier.') document.mail_form.zone_email.focus() return false } if (periodPos+3 > document.mail_form.zone_email.value.length) { // must be at least 2 characters after the alert('Il doit y avoir au moins deux caractères après le signe ".". Veuillez vérifier.') document.mail_form.zone_email.focus() return false }if (document.mail_form.zone_texte.value == "") { alert("Veuillez laisser un message") return false } } // Fin de la fonction </script></head><body><form name="mail_form" method="post" action="<?=$_SERVER['PHP_SELF']?>" onSubmit="return verifSelection()"> <div align="center"></div> <p align="center"> <table width="566" border="0" align="center"> <p align="center"> </p><tr> <td><font face="Verdana" size="2">Nom</font></td> <td><input name="champ1" type="text"></td> </tr><tr> <td><font face="Verdana" size="2">Prénom</font></td> <td><input name="champ2" type="text"></td> </tr><tr> <td width><font face="Verdana" size="2">Email</font></td> <td width><input name="zone_email" type="text"></td> </tr><tr> <td valign="top"><font face="Verdana" size="2">Message</font></td> <td><textarea name="zone_texte" cols="50" rows="10"></textarea></td> </tr><tr> <td valign="top"><input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="2"> <input name="nbre_zones_texte" type="hidden" value="1"> <input name="nbre_zone_email" type="hidden" value="1"> <input name="titre_champ1" type="hidden" value="Nom"><input name="titre_champ2" type="hidden" value="Prénom"><input name="titre_email" type="hidden" value="Email"><input name="titre_zone" type="hidden" value="Message"></td> <td><div align="center"> <input type="reset" name="Reset" value="Effacer"> <input type="submit" name="envoi" value="Envoyer"> </div></td> </tr> </table> <div align="center"></div> </form></body></html>
15 juin 2010 à 12:06
Ce programme ne fonctionne pas
Il me renvoie sur une page d'erreur "Page non trouvée - Erreur 404"
J'ai juste modifié $destinataire où j'ai mis mon email
Il semble en effet que mon hébergeur (online.net) n'accepte pas la fonction mail()
15 juin 2010 à 12:17
mois perso j'utilise PHPMAILER
tu peux le télmécharger içi
https://sourceforge.net/projects/phpmailer/files/
le fichier contient des exemples; et tout marche nikel ... j'espère que ça t'aide dans ton pb
A+