Vous n'êtes pas identifié(e).
beau boulot
faut pas exagérer non plus....
tu t'es cassé la tête à me trouver des codes et je n'ai pas été foutu de lire les commentaires que tu avais mis!!
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
Mieux vaut poser une question et passer pour un con, que se taire et le rester...
Hors ligne
bonsoir
moi qui suis un novice en php j'ai récup le code de fredo42 pour l'essayer à ma sauce
j'ai donc rajouter un texte devant le sujet histoire de filtrer les mail reçus du zite (from zite)
le nom du posteur qui apparait dans le mail
ainsi qu'une case à coché dont la réponse arrive dans le mail
<?php
$destinataire = 'tonmail@tonFAI';
$sujet = $_POST['sujet'];
$email=$_POST['email'];
$email2=$_POST['email2'];
$nom=$_POST['nom'];
$message=$_POST['message'];
$newsletter=$_POST['newsletter'];
$headers = 'From: <'.$email.'>' . "\r\n";
$messerr='';
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
$messerr=$messerr."Adresse mail considérée comme NON valide.".'<br>';
}
if ($email!=$email2) {
$messerr=$messerr."Les 2 adresses mails ne sont pas identiques.".'<br>';
}
if ($sujet=='') {
$messerr=$messerr."Merci de mettre un sujet.".'<br>';
}
if ($message=='') {
$messerr=$messerr."Le but de cette page est d'envoyer un message!! Alors mettez-en un! Merci.";
}
if ($nom=='') {
$messerr=$messerr."Merci d'indiquer votre nom.";
}
if (isset($_POST['envoi']))
{
if ($messerr == '')
{
$message = html_entity_decode($message);
$message = str_replace('\'',"\'",$message);
$message = str_replace('',"\'",$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message ="message de ".$nom." "."\n".$message;
$message ="newsletter ".$newsletter." "."\n".$message;
if (mail($destinataire, "from zite " .$sujet, $message, $headers))
{
echo "L'envoi du mail a enfin réussi!!! BRAVO."."\n";
}
else
{
echo "L'envoi du mail a échoué, veuillez réessayer SVP."."\n";
}
}
else
{
echo '<h3><font color=red>'.$messerr.'</font></h3>';
}
}
if (($messerr) || (!isset($_POST['envoi'])))
{
// afficher le formulaire
echo ' <h1>Formulaire de contact</h1>'."\n";
echo '<th colspan="2">Tous les champs sont obligatoires.</th><br><br>'."\n";
echo '<form action="" method="post" >'."\n";
echo '<table>'."\n";
echo ' <tr><td class="info">Votre email : </td><td class="champ"><input name="email" type="text" size="66"></td></tr>'."\n";
echo ' <tr><td class="info">Confirmez votre email : </td><td class="champ"><input name="email2" type="text" size="66" value="et oui encore une fois..."></td></tr>'."\n";
echo ' <tr><td class="info">Votre Nom : </td><td class="champ"><input name="nom" type="text" size="66"></td></tr>'."\n";
echo ' <tr><td class="info">Sujet : </td><td class="champ"><input name="sujet" type="text" size="66"></td></tr>'."\n";
echo ' <tr>'."\n";
echo ' <td class="contenu">Votre message</td>'."\n";
echo ' <td class="contenant"><textarea name="message" cols="50" rows="20"></textarea></td></tr>'."\n";
echo ' <tr><th colspan="1">'."\n";
echo ' <td class="lesboutons"><input type="reset" value="Annuler">'."\n";
echo ' <input type="submit" name="envoi" value="Envoyer"></td></th></tr>'."\n";
echo '</table>
<p><input type="checkbox" name="newsletter" id="newsletter" /> <label for="newsletter">souhaitez vous recevoir notre newsletter</label></p></form>'."\n";
}
?>
voila après quelques heures de traduction et de test j'ai réussi
ci besoin ça peut aidé
si mon rajout n'est pas propre merci de me le signaler que je ne partage pas de la *****
Dernière modification par snypi (04/02/2010 18:42:47)
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
salut,
je suis pas un spécialiste en propeté php, mais du moment que ça marche ça me va!!
J'ai rajouté, après avoir posté le code, $sujet = html_entity_decode($sujet);
donc est-ce plus "propre" de mettre?:
if ($messerr == '')
{
$sujet = "from zite :" .html_entity_decode($sujet);
$message = html_entity_decode($message);
$message = str_replace('\'',"\'",$message);
$message = str_replace('',"\'",$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = "message de ".$nom."\n".$message;
$message = "newsletter ".$newsletter."\n".$message;
if (mail($destinataire, $sujet, $message, $headers))
Pourquoi tu rajoutes un espace après $nom et $newsletter puisque tu met à la ligne avec "\n"?
Mieux vaut poser une question et passer pour un con, que se taire et le rester...
Hors ligne
Merci fredo je vais corriger le code
l'espace rajouter me servais à séparer les réponses du message !!
et quand j'ai découvert le retour à la ligne ."\n" j'ai oublier de les suprimés
pour te dire mon niveau en php
Dernière modification par snypi (23/02/2010 14:31:25)
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
bonjour a tous
je remonte un vieux poste pour faire part d'un bug qui me turlupine
lorsque j'enregistre le code php de la fonction mail cela me vire les \ !
je vais passé par le fichier txt en direct je pense que cela vas marché mais bon y'a bien un chmilblik
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
Bonjour,
Je suis pas sur de bien saisir ton problème.
Tu essaye de rentrer du code php par tinyMCE ? Et ca ne fait pas ce que tu souhaite?
Hors ligne
bonjour, et merci je n'ai pas été très claire
je fait un site sous ziteplus avec la dernière beta
j'ai créer une page contact en php, j'édite la page contact en mode source (je ne sais si tinymce est chargé à ce moment) et colle le code de ce poste pour faire ma fonction mail
mais lorsque j'enregistre la page il me vire les "\" ce qui rend le code php non fonctionnel
exemple ."\n"; devient après enregistrement ."n";
alors pour faire ma page j'ai ouvert (en local) la page contact qui ce trouve dans le dossier zdata avec un éditeur de texte coller le code et charger par FTP !!
cela fonctionne.
mais le problème est que tu ne peut pas intervenir en ligne sur le code sans le bousillé c'est un peu embêtant !!
Dernière modification par snypi (30/01/2011 12:16:03)
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
bonjour, et merci je n'ai pas été très claire
je fait un site sous ziteplus avec la dernière beta
j'ai créer une page contact en php, j'édite la page contact en mode source (je ne sais si tinymce est chargé à ce moment) et colle le code de ce poste pour faire ma fonction mail
mais lorsque j'enregistre la page il me vire les "\" ce qui rend le code php non fonctionnel
exemple ."\n"; devient après enregistrement ."n";
alors pour faire ma page j'ai ouvert (en local) la page contact qui ce trouve dans le dossier zdata avec un éditeur de texte coller le code et charger par FTP !!
cela fonctionne.mais le problème est que tu ne peut pas intervenir en ligne sur le code sans le bousillé c'est un peu embêtant !!
Bizarre ton truc ...
Sur les qques sites Z+ que j'ai montés, et le dernier qui est en cours de création sur la b6, tous ont le même formulaire (données requises modifiées suivant le site) en php avec des lignes comme "$tete="From:Contact@amourdechiens\n";" et je n'ai pas de pb de "\" qui disparaissent.
Hors ligne
Hum, bizarre, j'ai testé chez moi avec la beta et ça marche. Autant il y avait un petit problème avec le code php dans la version précédente, autant dans la dernière beta, on peut mettre son code php, puis mettre la page en mode php et ça fonctionne.
Quel hébergeur utilise tu? 1&1? A tu testé en local avec le même code?
Je dirai problème de version de php. Quel est ta version de php (un petit phpinfo(); pour savoir)? Antérieur à 5.2 je suppose !
Si t'es sur 1&1 test ça dans le .htaccess à la raçine:
# 1 and 1 - Pour activer PHP5 enlever le # de la ligne suivante
#AddType x-mapp-php5 .php
Hors ligne