:: Easy-Script.com :: Index du Forum

Votre bannière ici !

 FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 RSS : Les 20 dernières discussions des forums d'Easy-Script.nom RSS   ProfilProfil   Messages PrivésMessages Privés   ConnexionConnexion 

Poster un nouveau sujet  Répondre au sujet
ajouter envoi d'email dans LIVRE D'OR
cccp


Inscrit le: 23 Avr 2005
Messages: 10
Répondre en citant
Salut a tous!
J'utilise un script de livre d'or dans mon site ou je veut rejouter une action pour qu'il m'envoi un e-mail lorsque quelqu'un laisse un nouveau message.

Je suis nul pour pouvoir faire ça sans l'aide de quelqu'un.
Merci de m'aider.
A+

<?php
// Comment'R 1.0 - (c) 2000 Thierry Arsicaud (deltascripts@ifrance.com)
// === Paramètres d'affichage du TableauA (affichage des commentaires déjà postés) ===
$largeurTableauxA="80%"; // Largeur du TableauA
$couleurBordTableauA="#bbbbbb"; // Couleur de la bordure du TableauA
$couleurFondEnteteTableauA="#505050"; // Couleur de fond de la ligne d'entête du tableauA
$policeEnteteTableauA="Arial"; // Police utilisée dans la ligne d'entête du tableauA
$couleurPoliceEnteteTableauA="#ffffff"; // Couleur de la police utilisée dans la ligne d'entête du tableauA
$couleurFondLigneNomAuteurTableauA="#525252"; // Couleur de fond des lignes "Nom de l'auteur"
$policeLignesNomAuteurTableauA="Arial"; // Police utilisée dans les lignes "Nom de l'auteur"
$couleurPoliceLignesNomAuteurTableauA="#ffffff"; // Couleur de la police utilisée dans les lignes "Nom de l'auteur"
$couleurFondLigneCommentaireTableauA="#000000"; // Couleur de fond des lignes "Commentaire"
$policeLignesCommentairesTableauA="times"; // Police utilisée dans les lignes "Commentaire"
$couleurPoliceLignesCommentairesTableauA="#c3c3c3"; // Couleur de la police utilisée dans les lignes "Commentaire"

$NombreComParPage=10; // Nombre maximum de commentaires à afficher dans le tableau (par page)
$NombreMaxPages=20; // Nombre maximum de pages de commentaires susceptibles d'être affichées

// === Paramètres d'affichage du TableauB (affichage du formulaire permettant d'ajouter un nouveau commentaire) ===

$largeurTableauxB="50%"; // Largeur du TableauB
$couleurBordTableauB="#bbbbbb"; // Couleur de la bordure du TableauB
$couleurFondEnteteTableauB="#525252"; // Couleur de fond de la ligne d'entête du tableauB
$policeEnteteTableauB="Arial"; // Police utilisée dans la ligne d'entête du tableauB
$couleurPoliceEnteteTableauB="#ffffff"; // Couleur de la police utilisée dans la ligne d'entête du tableauB
$couleurFondFormulaireTableauB="#000000"; // Couleur de fond de la cellule affichant le formulaire
$policeFondFormulaireTableauB="Arial"; // Police utilisée dans la cellule affichant le formulaire
$couleurPoliceFondFormulaireTableauB="#ffffff"; // Couleur de la police utilisée dans la cellule affichant le formulaire

// === Paramètres destinés au contrôle des messages postés (dispositif "anti-piratage") ===

$longueurMaxCommentaires="10000"; // Nombre maximum de caractères pouvant être postés dans un commentaire
$longueurMaxMots="50"; // Nombre maximum de caractères par "mot" (ce dispositif permet d'empêcher une éventuelle augmentation incontrôlée de la largeur des tableaux)

// #####################################################################################
?>


<?php
// #####################################################################################
// ****************************************************************************************
// Vérification du nombre de caractères envoyés dans le commentaire éventuellement posté.
// (certains utilisateurs mal intentionnés pourraient être tentés d'envoyer des commentaires
// comportant un très grand nombre de caractères, dans le but de ralentir le temps
// d'affichage du livre d'or)
// ****************************************************************************************

if((@ strlen($n)>$longueurMaxCommentaires) or (@ strlen($c)>$longueurMaxCommentaires)) {
print("Désolé, la taille maximale des commentaires pouvant être postés est limitée à $longueurMaxCommentaires caractères.<br>\n");
print("<a href=\"livredor.php3\">Retour au Livre d'Or</a>\n");
exit;
}
// #####################################################################################
?>

<html>
<head>
<title>guest book</title>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text=#666666 link=#333333 vlink=#999966 style="scrollbar-arrow-color: #C0C0C0;scrollbar-3dlight-color: #FFFFFF;scrollbar-highlight-color: #C0C0C0;scrollbar-face-color: #FFFFFF;scrollbar-shadow-color: #FFFFFF;scrollbar-darkshadow-color: #C0C0C0;scrollbar-track-color: #FFFFFF;">
<br>
<!- inserez la première partie de votre code html ici ->

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

if(!file_exists("livre.dat")) {
$idFicLivre=fopen("livre.dat","w+");
fputs($idFicLivre,"Fichier Index. Ne pas éditer ! AllRights Reserved! Contacte ICQ665888\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) {


// 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("livre.dat","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("livre.dat");
$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 Merci pour Participation
// ***********************************************************************************

if($n and $c) {
print("<table align=\"center\" width=\"$largeurTableauxA\" border=\"1\"> \n");
print("<tr><td bgcolor=\"$couleurFondLigneNomAuteurTableauA\" height=\"0\"> \n");
print("<center> \n");
print("<font face=\"$policeLignesNomAuteurTableauA\" color=\"$couleurPoliceLignesNomAuteurTableauA\" size=\"1\"> \n");
print("<b>Thank you for your participation !</b> \n");
print("</font> \n");
print("</center> \n");
print("</td></tr> \n");
print("</table> \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("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"$largeurTableauxA\" align=\"center\" bgcolor=\"$couleurBordTableauA\"> \n");
print("<tr><td> \n");

print("<table border=\"0\" bordercolor =\"#F4EFE2\" width=\"100%\" cellspacing=\"1\" align=\"center\" cellpadding=\"0\"> \n");

print("<tr> \n");
print("<td bgcolor=\"$couleurFondEnteteTableauA\" height=\"5\"> \n");

if($nCommentaires>$NombreComParPage) {
print("<center> \n");
print("<font face=\"$policeEnteteTableauA\" color=\"$couleurPoliceEnteteTableauA\" size=\"2\"> \n");
print("<b><img src=\"http://monsitekokok.com/images/stranitsa.jpg\"> pages</b> \n");
print("<b> \n");
for($a=1;$a<=min($NombreMaxPages,floor((($nCommentaires-1)/$NombreComParPage)+1));$a++) {
if($a==$p) print("$a \n");
else print("<a href=\"livredor.php3?p=$a\">[$a]</a> \n");
}
print("</b> \n");
print("</font> \n");
print("</center> \n");
}

print("<font face=\"$policeEnteteTableauA\" color=\"#ffffff\" size=\"3\"> \n");
print("<center> \n");
print("<b><a href=\"#ajout\">.:: add a new message ::.</a></b> <br> \n");
print("</center> \n");
print("</font> \n");
print("</td> \n");
print("</tr> \n");

for($compt=($nCommentaires-(($p-1)*$NombreComParPage));$compt>=max(1,($nCommentaires-($p*$NombreComParPage)+1));$compt--) {
print("<tr><td bgcolor=\"$couleurFondLigneNomAuteurTableauA\"> \n");
print("<table cellpadding=\"0\" cellspacing=\"0\"> \n");
print("<tr> \n");
print("<td width=\"1\"> </td> \n");
print("<td> \n");
print("<img src=\"http://monsitekok.com//images/fotoaporat.jpg\"><font face=\"$policeLignesNomAuteurTableauA\" color=\"$couleurPoliceLignesNomAuteurTableauA\" size=\"3\"><b>".coupeMotsLongs($nom[$compt],$longueurMaxMots)."</b>:</font> \n");
print("</td> \n");
print("</tr> \n");
print("</table> \n");
print("</td></tr> \n");
print("<tr><td bgcolor=\"$couleurFondLigneCommentaireTableauA\"> \n");
print("<table> \n");
print("<tr> \n");
print("<td width=\"24\"> </td> \n");
print("<td> \n");
print("<font face=\"$policeLignesCommentairesTableauA\" color=\"$couleurPoliceLignesCommentairesTableauA\">".coupeMotsLongs($commentaire[$compt],$longueurMaxMots)."</font>\n");
print("</td> \n");
print("</tr> \n");
print("</table> \n");
print("</td></tr> \n");
}

if(($nCommentaires>$NombreComParPage) and $p<=min($NombreMaxPages,floor((($nCommentaires-1)/$NombreComParPage)+1))) {
print("<tr> \n");
print("<td bgcolor=\"$couleurFondEnteteTableauA\" height=\"5\"> \n");
print("<center> \n");
print("<font face=\"$policeEnteteTableauA\" color=\"$couleurPoliceEnteteTableauA\" size=\"2\"> \n");
print("<b><img src=\"http://monsitekok.com/images/stranitsa.jpg\"> pages </b> \n");
print("<b> \n");
for($a=1;$a<=min($NombreMaxPages,floor((($nCommentaires-1)/$NombreComParPage)+1));$a++) {
if($a==$p) print("[$a] \n");
else print("<a href=\"livredor.php3?p=$a\">$a</a> \n");
}
print("</b> \n");
print("</font> \n");
print("</center> \n");
print("</td> \n");
print("</tr> \n");
}

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

print("</td></tr> \n");

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

print("<br> \n");

}

// *********************************************************************************************
// Affichage d'un message d'avertissement au cas où aucun commentaire n'a été encore été envoyé
// *********************************************************************************************

if($nCommentaires<1) {
print("<table align=\"center\" width=\"$largeurTableauxA\" border=\"1\"> \n");
print("<tr><td bgcolor=\"$couleurFondLigneNomAuteurTableauA\" height=\"30\"> \n");
print("<center> \n");
print("<font face=\"$policeLignesNomAuteurTableauA\" color=\"$couleurPoliceLignesNomAuteurTableauA\" size=\"-1\"> \n");
print("<b>Le livre d'or ne comporte encore aucun commentaire.</b> \n");
print("</font> \n");
print("</center> \n");
print("</td></tr> \n");
print("</table> \n");
print("<br> \n");
}


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


print("<a name=\"ajout\"></a>");

print("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"$largeurTableauxB\" align=\"center\" bgcolor=\"$couleurBordTableauB\"> \n");
print("<tr><td> \n");

print("<table border=\"0\" width=\"100%\" cellspacing=\"1\" align=\"center\" cellpadding=\"0\"> \n");

print("<tr> \n");
print("<td bgcolor=\"$couleurFondEnteteTableauB\" height=\"5\"> \n");
print("<font face=\"$policeEnteteTableauB\" color=\"$couleurPoliceEnteteTableauB\" size=\"-1\"> \n");

if($nCommentaires>0) print("<b><center>Add new message in English, French,<b><center>Russian (na latinskom) or Serbian :</center></b> \n");
else print("<b><center>Send a first message :</center></b> \n");

print("</font> \n");
print("</td> \n");
print("</tr> \n");

print("<tr><td bgcolor=\"$couleurFondFormulaireTableauB\"> \n");
print("<form name=\"guest\" method=\"POST\" action=\"livredor.php3\"> \n");
print("<center> \n");
print("<br> \n");
print("<font face=\"$policeFondFormulaireTableauB\" color=\"$couleurPoliceFondFormulaireTableauB\" size=\"-1\"> \n");
print("<b><img src=\"http://monsitekoko.com/images/your-name.jpg\"> Your name</b> : \n");
print("</font> \n");
print("<input type=\"text\" name=\"n\" size=\"22\"> \n");
print("<br><br> \n");
print("<textarea rows=\"5\" name=\"c\" cols=\"50\" wrap=\"virtual\"></textarea> \n");
print("<br> \n");
print("<a href =\"javascript:document.forms.guest.reset()\"><img src=\"http://monsite.com/images/nozhnitsi.jpg\" border=\"0\" alt=\"cancel\"></a> <a href =\"javascript:document.forms.guest.submit()\"><img src=\"http://monsite.com/images/chernilnitsa.jpg\" border=\"0\" alt=\"sign!\"></a> \n");
print("</form> \n");
print("</td></tr> \n");

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

print("</td></tr> \n");
print("</table> \n");

?>

<br>
<!- inserez la seconde partie de votre code html ici ->
</body>
</html>
Voir le profil de l'utilisateurEnvoyer un message privé
Redox
Modérateurs
Modérateurs

Inscrit le: 07 Sep 2004
Messages: 974
Répondre en citant
Salut,

PHP:
<?php
             
// *********************************************************************************** 
// Nettoyage et enregistrement des nouveaux commentaires envoyés lors de l'appel du script 
// *********************************************************************************** 

if ($c and $n) { 


// 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("livre.dat","a+"); 
fputs($idFicLivreCom,$n); // 1ère ligne 
fputs($idFicLivreCom,"|"); // 
fputs($idFicLivreCom,$d."|\n"); // 
fputs($idFicLivreCom,$c."\n"); // 2ème ligne 
fclose($idFicLivreCom); 

//C'est ici qu'il faudra que tu ajoutes le code pour t'envoyer un email dès que qlq'un a posté un message. Par exemple ce sera:
$email  "ton_mail@domain.com"
$titre   "Mon sujet"
$message "Bonjour,\n ici se trouve le texte de mon message !"
mail($email$titre$message); 

}
             
?>


Si tu veux plus d'explications pour l'envoi d'email en PHP, lis ce tuto

++
Voir le profil de l'utilisateurEnvoyer un message privé
cccp


Inscrit le: 23 Avr 2005
Messages: 10
Répondre en citant
Merci,
j'ai testé...mais ça marche pas

Peut-être chez Online c'est autrement?
Voir le profil de l'utilisateurEnvoyer un message privé
Redox
Modérateurs
Modérateurs

Inscrit le: 07 Sep 2004
Messages: 974
Répondre en citant
Oui chez Online c'est la fonction email(), t'as lu le tuto ?!!
Voir le profil de l'utilisateurEnvoyer un message privé
cccp


Inscrit le: 23 Avr 2005
Messages: 10
Répondre en citant
oui, j'ai lu.
mais toi, tu ma mis ça <?php et ça ?>.
Ce que seppare le script.
Moi, j'ai juste rejouter la fonction d'envoi d'email (ce que tu ma mis), sans
les b]<?php[/b] et ?>.
Puis j'ai testé le script ...ça enregistre les message, mais ça n'envoi pas des mails.

STP, teste chez toi.

Merci
Voir le profil de l'utilisateurEnvoyer un message privé
Redox
Modérateurs
Modérateurs

Inscrit le: 07 Sep 2004
Messages: 974
Répondre en citant
Désolé mais pour moi cela marche très bien sans aucun problème !
Donc tu n'as pas du le faire correctement, montre ce que tu as fait (ne remet pas tout le code mais juste ce que tu as modifié <b> en n'oubliant pas de le mettre entre les balises [code][/code] si c'est du code HTML ou [php][/php] si c'est du PHP car c'est plus agréable à lire ! </b>)

Voir le profil de l'utilisateurEnvoyer un message privé
cccp


Inscrit le: 23 Avr 2005
Messages: 10
Répondre en citant
// ***********************************************************************************
// Nettoyage et enregistrement des nouveaux commentaires envoyés lors de l'appel du script
// ***********************************************************************************

if ($c and $n) {


// 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("livre.dat","a+");
fputs($idFicLivreCom,$n); // 1ère ligne
fputs($idFicLivreCom,"|"); //
fputs($idFicLivreCom,$d."|\n"); //
fputs($idFicLivreCom,$c."\n"); // 2ème ligne
fclose($idFicLivreCom);

//C'est ici qu'il faudra que tu ajoutes le code pour t'envoyer un email dès que qlq'un a posté un message. Par exemple ce sera:
$email = "mon_mail@domain.com";
$titre = "Mon sujet";
$message = "Bonjour,\n ici se trouve le texte de mon message !";
mail($email, $titre, $message);

}
Voir le profil de l'utilisateurEnvoyer un message privé
cccp


Inscrit le: 23 Avr 2005
Messages: 10
Répondre en citant
Voilà,
masi j'ai pas compris...
il faut rajouter dans le code de questbook ou je fait ça plus loin, après ça :
?>
pluis je remêt ce que tu m'a mis?

PS:
plus simple que tu recopie le script et tu le remêt avec tes modif, comme ça je comprenderai et trouverai moi même les faute.

Merci
Voir le profil de l'utilisateurEnvoyer un message privé
cccp


Inscrit le: 23 Avr 2005
Messages: 10
Répondre en citant
Pardon, je viens de comprendre ce que t'a voulu de dire...

Voilà encore une fois:

Code:

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

if ($c and $n) {


// 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("livre.dat","a+");
fputs($idFicLivreCom,$n); // 1ère ligne
fputs($idFicLivreCom,"|"); //
fputs($idFicLivreCom,$d."|\n"); //
fputs($idFicLivreCom,$c."\n"); // 2ème ligne
fclose($idFicLivreCom);

//C'est ici qu'il faudra que tu ajoutes le code pour t'envoyer un email dès que qlq'un a posté un message. Par exemple ce sera:
$email = "mon_mail@domain.com";
$titre = "Mon sujet";
$message = "Bonjour,\n ici se trouve le texte de mon message !";
mail($email, $titre, $message);

}
Voir le profil de l'utilisateurEnvoyer un message privé
Redox
Modérateurs
Modérateurs

Inscrit le: 07 Sep 2004
Messages: 974
Répondre en citant
C'est exactement ce que je t'avais posté comme code (les balises PHP que j'avais ajouté était pour la coloration syntaxique !!! ) Par contre, je vais me répéter: tu m'as dis que tu étaits chez Online donc c'est la fonction email() qu'il faut utiliser (cf. le tuto que je t'ai dis de lire)...

++
Voir le profil de l'utilisateurEnvoyer un message privé
cccp


Inscrit le: 23 Avr 2005
Messages: 10
Répondre en citant
ok, merci.
Je vais voir encore une fois
A+
Voir le profil de l'utilisateurEnvoyer un message privé
Annonces && Topic Scooping
ajouter envoi d'email dans LIVRE D'OR
Vous pouvez poster de nouveaux sujets dans ce forum
Vous pouvez répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum
Toutes les heures sont au format GMT + 2 Heures  
Page 1 sur 1  

  
  
 Poster un nouveau sujet  Répondre au sujet  


Powered by phpBB © 2001, 2002 phpBB Group
Traduction par : phpBB-fr.com
Design by Vjacheslav Trushkin
phpBB SEO

Anti Bot Question MOD - phpBB MOD against Spam Bots
Inscriptions / messages bloqués: 2699 / 640