Forum de discussion et d'aide au php
Vous n'êtes pas identifié.
|
Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides. FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans. Proposez vos news : si vous avez un evenement à annoncer le chat : venez discuter de php. |
||
Bonjour,
Je suis en train de créer un site et je souhaiterai mettre en place un formulaire (juste adresse mail) et je souhaiterai que l'adresse mail me soit envoyer sur ma boite mail. J'ai donc du code en php, javascript et html. Le formulaire est visible mais lorsque j'appuie sur le bouton envoyé ou effacé, rien ne se passe. Voici le code
<?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 = "elsa_louna@hotmail.fr";
if ($_POST['envoi']) {
// E-mail headers:
$headers ="MIME-Version: 1.0 \n";
$headers .="From: elsa<elsa_louna@hotmail.fr>\n";
$headers .="Content-Type: text/html; charset=iso-8859-1 \n";
$subject = "inscription";
$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
header("Location:http://elsalickel.fr/confirmation");
exit();
} // Fin du else
} // Closing if edit
?><html><head><title></title><script language="JavaScript">function verifSelection() {if (document.mail_form.zone_email.value == "") {
alert("Veuillez renseigner votre e-mail")
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
}} // Fin de la fonction
</script></head><body><tr>
<td width><font face="Verdana" size="2">Inscription</font></td>
<td width><input name="zone_email" type="text"></td>
</tr><tr>
<td valign="top"><input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="0">
<input name="nbre_zones_texte" type="hidden" value="0">
<input name="nbre_zone_email" type="hidden" value="1">
<input name="titre_email" type="hidden" value="Inscription"></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>Merci beaucoup de vos réponses car j'ai passé 4 heure juste pour essayé de créer ce tout petit formulaire.
Hors ligne
salut^^
excuse moi il se fait tard et je ne suis pas sur de tout bien voir ![]()
en plus je ne suis pas une "crack" en javascript mais...
je voit que ta partie "formulaire" est en html de base, et que tu valide ou reset avec un input,
ne serait il pas plus pratique de mettre un "form" au depart?
Hors ligne
Je plussoie. Manque le form.
http://giminik.developpez.com/xhtml/form.html
Hors ligne
Merci de vos réponses si rapides. En effet le bouton effacer marche à présent, mais le formulaire n'arrive toujours pas dans ma boite de reception. S'il vous plaît ne me laissez pas tomber....
Hors ligne
Salut^^
tiens un truc interessant pour toi:
"Bonjour,
Ce message concernant les mails des utilisateurs de Homail et Msn, peut ne pas leur arriver !
Suites à de nombreux tests nous avons constaté que des mails étaient mis en courrier indésirable voir carrément perdu. Les domaines concernés sont hotmail.com, hotmail.fr, msn.com. Après recherche, nous avons acquis la certitude que les serveurs de Hotmail
sont responsables de la perte quotidienne d'un nombre indéterminé de courriels. Les responsables de MSN France ont confirmé que ces "dysfonctionnements" étaient causés sciemment par leur politique anti-spam.
Qui est concerné ?
Toutes les personnes ayant une adresse email chez Hotmail, ou écrivant un courriel vers un utilisateur de Hotmail (forward à partir de votre compte vers une adresse hotmail ), sont concernés : leur courrier est automatiquement délivré dans le dossier "courrier indésirable" de leur compte Hotmail. Or le contenu de ce dossier est effacé rapidement (5 jours ), dans le dos des utilisateurs et sans les en avertir. Il existe bien des possibilités de contournement qui sont proposées aux grands fournisseurs d'accès moyennant finance, mais leur coût excède largement nos moyens.
Que faire ?
Vous pouvez aller consulter très régulièrement votre dossier "courrier indésirable" et ouvrir le mail désiré, puis mettre l'option appropriée soit "courrier autorisé". Vous devez faire la même démarche si le mail vient d'une liste de diffusion, en précisant bien que c'est une liste de diffusion.
Sinon, il vous faut baisser le niveau de filtrage de courrier indésirable : celui qui est activé n'est pas adapté à votre cas. Affichez les Options du service puis cliquez sur Filtre Courrier indésirable. Cochez dans la page qui s'affiche, l'option "Bas - le courrier indésirable évident est intercepté".
A noter que plusieurs organismes, tels que Ecole polytechnique conseille aux utilisateurs qui utilisent Hotmail et Msn, de changer de service de mail pour utiliser des services tels laposte.net, freesurf.fr ou encore free.fr. Vu la politique anti-spam actuelle de Microsoft, <mon lieu d'études> ne peut plus garantir le trafic d'email à destination de ce fournisseur.
Microsoft a annoncé que ses serveurs refuseraient tout courriel n'utilisant pas la technologie Sender ID qu'il a brevetée. Les prestataires de redirection de courrier et les prestataires de listes de diffusion en seront affectés : ils ne pourront pas se conformer à cette technologie car les brevets qui la protègent empêchent son implémentation dans les logiciels libres.
Cordialement,
<le service informatique> "
La fonction mail() serait pas trés bien vu par MSN ^^
En fait MSN comparerais l'adresse mail du header à l'IP de l'expediteur et si celles-ci ne sont pas concordantes....poubelle ![]()
Il se peut aussi que ton hébérgeur est désactivé la fonction mail().
Dernière modification par Asherah (16-11-2007 09:35:46)
Hors ligne