[livredor]envoi de mail

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [livredor]envoi de mail

par linkinmimil » 12 juil. 2007, 19:36

oufff j'ai honte de moi ^^
je vais tester et je reviens vous dire si ça marche ensuite je mettrai le topic en résolu...
merci pour votre aide :D

@+
Mimil

par thehawk » 12 juil. 2007, 15:06

Ben si le mail s envoi correctement en executant le script , tu n'a qu'a faire un include sur le fichier d envoi ...

re

par linkinmimil » 12 juil. 2007, 08:50

mici :)

non enfet ce que je veux c'est que je recoive un mail quand on rajoute un commentaire mais le mail ne s'envoit en visitant la page scriptphpmail.php (il est peut-être possible d'envoyer le mail directement à partir du premier scriptlivredor.php ?? sans devoir passer par le second, cequi serait parfait mais je vois pas comment faire :s

évidement c'est complétement inutile de la surcharger surtout que des ptits commiques ce sont amusé hier soir ce qui fait que j'ai une soixantaine de message à effacer :D

@+
mimil

par thehawk » 12 juil. 2007, 08:30

J'ai regardé ton script ila l air bien construit ^^

Mais j'ai un question concernant ton souci :

Tu veux recevoir un mail pour chaque ajout dans le livre d or ?
Ou alors recevoir un mail a chaque fois qu'une personne visite ton livre d or (dans ce cas je ne vois pas du tout l interet a par surcharger ta boite mail)

@+ thehawk

[livredor]envoi de mail

par linkinmimil » 11 juil. 2007, 23:03

Bonjour tout le monde :)

C'est mon premier post alors je me présente un peu et j'expose mon problème clairement :)
Tout d'abord voici quelques infos sur moi : je travaile sur blender depuis maintenant 2 ans, je fais du BMX depuis un an et demi, je travaille en 2D depuis pas plus de 6 mois, j'ai 17 ans et je travaille principalement en xhtml/css et je commence le php c'est tellement puissant et ça permet trop de choses que je connaissais pas :love:

En parlant de programmation internet, voici mon portfolio que je viens de finir : Mimil's Graph.net Xhtml/css, coder en respectant les normes w3c, design autoajustable fait sous Illustrator et Blender pour la bannière... j'ai tout coder sous notepad++(j'utilisais araneae avant mais notepad ne colorise pas les fonction quand elle n'existe pas, ce qui m'évite d'avoir des erreur lors de la validation :) ). J'ai utiliser le php pour faire un système de pseudo frame (include par GET), j'ai aussi trouver 1 script de commentaire que j'ai complétement refait de sorte qu'il soit validew3c et que je puisse y appliquer du css et j'ai aussi modifier quelques ptites choses dedans pour que je puisse plus facilement le modifier grâce aux variables surtout...

Et mon soucis est le suivant:
J'ai mon script de commentaire (que j'utilise aussi comme livredor). ce que je voudrais c'est grâce à une autre page php qui grâce à la fonction mail, bha m'envoie un mail quand on est dessus :D et j'ai déjà tout paramètré et fait tout ce qu'il fallait dessus. Seulement, j'arrive pas à faire en sorte que quadn je clique sur la bouton envoyé de mon livredor, en allant sur la page d'envoi du mail, ça ajout le commentaire au fichier livre.dat qui contient tous les messages...
Pourriez vous m'aider s'il vous plait :)

Voici tout ce dont vous avez besoin :
le répertoire contenant tous les fichiers : http://mimilsgraph.net/testphp/
la page du livredor - livredor.php: http://mimilsgraph.net/testphp/livredor.php
la page du scipt mail qui envoie l'email - scriptphpmail.php: http://mimilsgraph.net/testphp/scriptphpmail.php
la page du script php du livredor (qui est en include dans la page du livredor) - scriptlivredor.php: http://mimilsgraph.net/testphp/scriptlivredor.php

Les codes dont vous avez besoin directement ici :

scriptlivredor.php :
<?php
// ***********************************************************************************
// Création du fichier livre.dat s'il n'existe pas
// ***********************************************************************************

$lien_livredor="testphp/livre.dat";
$lien_pageducmmentaire="testphp/livredor.php";

if(!file_exists("$lien_livredor")) {
  $idFicLivre=fopen("$lien_livredor","w+");
    fputs($idFicLivre,"Fichier Index. Ne pas éditer !\n");
  fclose($idFicLivre);
}

if(!isset($c)) $c="";
if(!isset($n)) $n="";
if(!isset($p)) $p="";

// ***********************************************************************************
// Définition de la fonction coupeMotsLongs($chaine,$ncaracteres) destinée à découper
// mots contenants plus de $ncaracteres caractères.
// (certains utilisateurs envoient parfois des textes contenant des mots très long,
// ce qui a pour effet d'altérer la structure d'affichage des tableaux)
// ***********************************************************************************

function coupeMotsLongs($chaine,$ncaracteres) {
  $chaineRes=$chaine;
  while(ereg("([^ ]{".$ncaracteres."})[^ ]",$chaineRes,$corres)) {
    $partRep=$corres[1];
    $chaineRes=ereg_replace($partRep,$partRep." <br /> ",$chaineRes);
  }
  return($chaineRes);
}

// ***********************************************************************************
// Nettoyage et enregistrement des nouveaux commentaires envoyés lors de l'appel du script
// ***********************************************************************************

if ($c and $n) {

  // détermination de la date
  $tdate=getdate();
  $jour=sprintf("%02.2d",$tdate["mday"])."/".sprintf("%02.2d",$tdate["mon"])."/".$tdate["year"];
  $heure=sprintf("%02.2d",$tdate["hours"])."H".sprintf("%02.2d",$tdate["minutes"]);
  $d=$jour." à ".$heure;

  // nettoyage du nom
  $n=htmlentities($n);
  $n=stripslashes($n);
  $n=trim($n);

  // nettoyage du commentaire
  $c=htmlentities($c);
  $c=str_replace(chr(10)," <br /> ",$c);
  $c=str_replace(chr(13),"",$c);
  $c=stripslashes($c);
  $c=trim($c);

  $idFicLivreCom=fopen("$lien_livredor","a+");
  fputs($idFicLivreCom,$n);         // 1ère ligne
  fputs($idFicLivreCom,"|");        //
  fputs($idFicLivreCom,$d."|\n");   //
  fputs($idFicLivreCom,$c."\n");    // 2ème ligne
  fclose($idFicLivreCom);

}

// ***********************************************************************************
// Lecture des messages déjà postés dans le livre, et stockage des données
// dans les tableaux $nom et $commentaire
// ***********************************************************************************

$TabLivre=file("$lien_livredor");
$nLignesTabLivre=count($TabLivre)-1;
$nCommentaires=$nLignesTabLivre/2;

for($compt=1;$compt<=$nCommentaires;$compt++) {
  $nom[$compt]=trim(stripslashes(strtok($TabLivre[($compt*2)-1],"|")));
  $date[$compt]=trim(stripslashes(strtok("|")));
  $commentaire[$compt]=trim(stripslashes($TabLivre[($compt*2)]));
}

// ***********************************************************************************
// Affichage d'un message de remerciement au cas ou un commentaire a été envoyé en même
// temps que l'appel du script
// ***********************************************************************************

if($n and $c)  {
  print("<div class=\"micipart\"> \n");
  print("<b>Merci pour votre participation !</b> \n");
  print("</div> \n");
  print("<br /> \n");
}

// ***********************************************************************************
// Affichage des commentaires déjà postés dans un tableau
// ***********************************************************************************

if(!$p) {
  $p=1;   // $p représente le numéro de la page de commentaire à afficher : par défaut, $p=1
}

if($nCommentaires>0) {

  print("<div class=\"coments\"> \n");

    if($nCommentaires>$NombreComParPage) {
      print("<p class=\"nbpageup\"><b>pages</b> &nbsp; \n");
      print("<b> \n");
      for($a=1;$a<=min($NombreMaxPages,floor((($nCommentaires-1)/$NombreComParPage)+1));$a++) {
        if($a==$p) print("$a &nbsp; \n");
        else print("<a href=\"livredor.php?p=$a\">$a</a> &nbsp; \n");
      }
      print("</b> \n");
	  print("</p> \n");
    }

    print("<div class=\"addcoment\"> \n");
    print("<b><a href=\"#ajout\">Ajouter un nouveau commentaire</a></b> <br /> \n");
    print("</div> \n");

    for($compt=($nCommentaires-(($p-1)*$NombreComParPage));$compt>=max(1,($nCommentaires-($p*$NombreComParPage)+1));$compt--) {
        print("<div class=\"coment-titre\"> \n");
        print("<b>".coupeMotsLongs($nom[$compt],$longueurMaxMots)."</b> a écrit, le ".$date[$compt]." : \n");
		print("</div> \n");
        print("<div class=\"coment-content\"> \n");
        print("".coupeMotsLongs($commentaire[$compt],$longueurMaxMots)." \n");
        print("</div> \n");
    }

    if(($nCommentaires>$NombreComParPage) and $p<=min($NombreMaxPages,floor((($nCommentaires-1)/$NombreComParPage)+1))) {
      print("<div class=\"nbpage\"> \n");
      print("<b>pages</b> &nbsp; \n");
      print("<b> \n");
      for($a=1;$a<=min($NombreMaxPages,floor((($nCommentaires-1)/$NombreComParPage)+1));$a++) {
        if($a==$p) print("$a &nbsp; \n");
        else print("<a href=\"livredor.php?p=$a\">$a</a> &nbsp; \n");
      }
      print("</b> \n");
      print("</div> \n");
    }

    print("</div> \n");

  print("<br /> \n");

}



// ***********************************************************************************
// Affichage du formulaire permettant de poster un nouveau commentaire
// ***********************************************************************************


print("<a name=\"ajout\"></a>");
print("<div class=\"addcomentbox\"> \n");

  print("<div class=\"add_a_coment\"> \n");
  print("<b>Ajouter un nouveau commentaire :</b> \n");
  print("</div> \n");

  print("<div class=\"addcoment_form\"> \n");
  print("<form method=\"post\" action=\"$lien_pageducmmentaire\"> \n");
  print("<br /> \n");
  print("<p class=\"forminfo\"><b>Votre nom</b>* :&nbsp;</p> \n");
  print("<input class=\"text-area_name_gal\" type=\"text\" name=\"n\" /> \n");
  print("<br /><br /> \n");
  print("<p class=\"forminfo\"><b>Votre commentaire</b>* :&nbsp;</p> \n");
  print("<textarea class=\"text-area_coment_gal\" name=\"c\" cols=\"40\" rows=\"10\"></textarea> \n");
  print("<br /> \n");
  print("<input type=\"submit\" value=\"Envoyer !\" name=\"B1\" /> \n");
  print("</form> \n");
  print("</div> \n");
  print("<p class=\"verififexiste\">* Ces champs doivent obligatoirement être remplis.</p> \n");
print("</div> \n");

?>
scriptphpmail.php :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">

  <head>
	<link rel="shortcut icon" type="image/x-icon" href="../images/favicon.png" />
	<title>Mimil's Graph - Livre d'or</title>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	<meta name="description" content="Portfolio" />
	<meta name="keywords" content="mimilsgraph, mimil, graph" />
	<meta name="robots" content="index,follow" />
	<meta name="Author" content="Mimil" />
	<link rel="stylesheet" type="text/css" href="http://mimilsgraph.net/site.css" />
	<link rel="alternate" type="application/rss+xml" title="Flux RSS de Mimil's Graph" href="#" />
	<meta http-equiv="refresh" content="3; url=http://mimilsgraph.net/testphp/livredor.php " />
  </head>
  
  <div class="redirect">
<?php
     //----------------------------------------------- 
     //DECLARE LES VARIABLES 
     //----------------------------------------------- 

    $destinataire='[email protected]';
    $email_expediteur='[email protected]'; 
    $email_reply='[email protected]';
	$lien='http://mimilsgraph.net/livredor/livredor.php';
	$page='livredor';

	$from .= "MIME-version: 1.0\n";
	$from .= "Content-type: text/html; charset= iso-8859-1\n";
	
    $message_texte='Salut Mimil,
Tu viens de recevoir un commentaire dans ton/ta '.$page.'.
Pour y accéder, clique ici : '.$lien.'

Tchouu :D'; 

//HEADER

    $headers = 'From: <'.$email_expediteur.'>'."\n"; 
    $headers .= 'MIME-Version: 1.0'."\n"; 
    $headers .= 'Object: Mimils Graph.net - Nouveau commentaire"\n"'; 
	$sujet ='Mimilsgraph.net - Nouveau commentaire';
	
    $message .= $message_texte."\n\n"; 


//MESSAGE HTML 


     if(mail($destinataire,$sujet,$message,$headers)) 
     { 
          echo '<p class=\"parag\">Merci de votre participation. Vous allez être rediriger dans 3 secondes.</p>'; 
     } 
     else 
     { 
          echo '<p class=\"parag\">Suite à un soucis technique, votre comentaire n\'a pas été encodé. Réessayez plus tard. Merci de votre compréhension. Vous allez être rediriger dans 3 secondes.</p>'; 
     } 
?>
</div>
</body>
</html>
J'espère que vous pourrez m'aider
Merci d'avance pour votre intérêt

Au plaisir,
Mimil

edit: dite-moi aussi ce que vous pensez du site :D