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);
}
// ***********************************************************************************
// 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)
// ***********************************************************************************
// ***********************************************************************************
// 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);
$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
// ***********************************************************************************
// ***********************************************************************************
// 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
}
// *********************************************************************************************
// Affichage d'un message d'avertissement au cas où aucun commentaire n'a été encore été envoyé
// *********************************************************************************************
// ***********************************************************************************
// Affichage du formulaire permettant de poster un nouveau commentaire 2 tablica
// ***********************************************************************************
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");
<br>
<!- inserez la seconde partie de votre code html ici ->
</body>
</html>
Redox
Modérateurs
Inscrit le: 07 Sep 2004
Messages: 974
Posté le: Dim 24 Avr 2005, 2:06 pm
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);
$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
++
cccp
Inscrit le: 23 Avr 2005
Messages: 10
Posté le: Dim 24 Avr 2005, 5:54 pm
Merci,
j'ai testé...mais ça marche pas
Peut-être chez Online c'est autrement?
Redox
Modérateurs
Inscrit le: 07 Sep 2004
Messages: 974
Posté le: Dim 24 Avr 2005, 6:08 pm
Oui chez Online c'est la fonction email(), t'as lu le tuto ?!!
cccp
Inscrit le: 23 Avr 2005
Messages: 10
Posté le: Dim 24 Avr 2005, 11:39 pm
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
Redox
Modérateurs
Inscrit le: 07 Sep 2004
Messages: 974
Posté le: Lun 25 Avr 2005, 12:08 pm
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>)
cccp
Inscrit le: 23 Avr 2005
Messages: 10
Posté le: Lun 25 Avr 2005, 11:12 pm
// ***********************************************************************************
// 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);
$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);
}
cccp
Inscrit le: 23 Avr 2005
Messages: 10
Posté le: Lun 25 Avr 2005, 11:18 pm
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
cccp
Inscrit le: 23 Avr 2005
Messages: 10
Posté le: Lun 25 Avr 2005, 11:20 pm
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);
$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);
}
Redox
Modérateurs
Inscrit le: 07 Sep 2004
Messages: 974
Posté le: Mar 26 Avr 2005, 8:00 pm
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)...
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