mail personalisé pour les clients

1 message dans ce sujet

Posté(e) · Signaler ce message

bonsoir,

comme promis un peut de php .... d'abord dans administrer/modeles/haut.php un ajout de lien

<li> <a href="<?=$wwwroot?>/administrer/envoie_email.php">Texte mail</a></li>

ensuite le code de envoie_email.php qui est repris de la tva.php ..... les commentaires sont encore la !!

on commence par le corps de la page

<?

include("../configuration.inc.php");

necessite_identification();

necessite_priv("admin");

$DOC_TITLE = "Gestion des textes de mail";

include("modeles/haut.php");

if (isset($_GET['start'])) {$start = $_GET['start'];} else {$start = 0;}

if (isset($_POST['mode'])) {$mode = $_POST['mode'];}

elseif (isset($_GET['mode'])) {$mode = $_GET['mode'];}

else {$mode = "liste";}

switch ($mode) {

case "ajout" :

liste_commande();

affiche_formulaire_ajout_mail();

break;

case "envoi" :

$tt=mysql_fetch_array(mysql_query("SELECT id FROM `".$nick."_commandes` order by id desc limit 1"));

$res=remplace($_REQUEST['nom'],$tt['id']);

echo "<pre>";

echo $res;

echo "</pre>";

//email_vari($quoi,&$message,"10039");

break;

case "modif" :

liste_commande();

affiche_formulaire_modif_mail($_GET['id']);

break;

case "suppr" :

supprime_mail($_GET['id']);

affiche_liste_mail($start);

break;

case "insere" :

insere_mail($_POST['id'], $HTTP_POST_VARS);

affiche_liste_mail($start);

break;

case "maj" :

maj_mail($_POST['id'], $HTTP_POST_VARS);

affiche_liste_mail($start);

break;

default :

affiche_liste_mail($start);

break;

}

if ($_REQUEST["action"]){

$nume = $_REQUEST["mailletter"];

email_mail(&$nume);

}

include("modeles/bas.php");

ensuite les fonctions et la mise en forme

/******************************************************************************

* FONCTIONS

*****************************************************************************/

function affiche_formulaire_ajout_mail() {

/* Affiche un formulaire vierge pour ajouter un tva*/

global $nick,$frm;

/* Valeurs par d�aut */

$frm['nouveau_mode'] = "insere";

$frm[''] = "";

$frm['titre_bouton'] = "Ajouter";

affiche_formulaire_mail();

}

function affiche_formulaire_modif_mail(&$id) {

/* Affiche le formulaire de modification pour le tvas�ectionn�*/

global $nick,$frm;

/* Charge les informations du produit */

$qid = mysql_query("

SELECT *

FROM ".$nick."_mail

WHERE id = $id

");

$frm = mysql_fetch_array($qid);

$frm['nouveau_mode'] = "maj";

$frm['titre_bouton'] = "Sauvegarder";

affiche_formulaire_mail();

}

function affiche_formulaire_mail() {

GLOBAL $nick,$frm,$id,$wwwroot;

?>

<form name="entryform" method="post" action="<?=$_SERVER['PHP_SELF']?>?start=0">

<input type="hidden" name="mode" value="<?=$frm['nouveau_mode']?>">

<input type="hidden" name="id" value="<?=$frm['id']?>">

<table class=normal border=0 width=100% cellpadding="0" cellspacing="1">

<tr><td colspan="2" height="1" bgcolor="#336699"><img src="/images/blank.gif" height="1"></td></tr>

<tr bgcolor="#EEEEEE">

<td class=label colspan="2">Ajouter un mail</td>

</tr>

<tr><td colspan="2" height="1" bgcolor="#336699"><img src="/images/blank.gif" height="1"></td></tr>

<tr>

<td class="normal">nom du mail<input class="formulaire1" type="text" name="nom" style="width:40%" value="<?=$frm['nom'] ?>">

</td>

</tr>

<tr>

<td class="normal" >texte du mail :</td>

</tr>

<tr>

<td colspan=2 class="normal">

<textarea name="texte" cols=100 rows=20><?=stripslashes($frm['texte'])?></textarea>

</td>

</tr>

<tr>

<td colspan="1"><input class="bouton" type="submit" value="<?=$frm['titre_bouton'] ?>"></td>

<td colspan="1"><input class="bouton" type="submit" name=mode value="envoi"></td>

</tr>

</table>

</form>

<?

}

function supprime_mail($id) {

global $nick;

/* Supprime le tvasp�ifici�par $id. Il faut supprimer le tva

* puis les entr�s correspondantes de la table tva_categories. */

/* Efface le tva*/

$qid = mysql_query("DELETE FROM ".$nick."_mail WHERE id = $id");

?>

<p class=normal>

La mail a �t� �ffac�

</p>

<?

}

function insere_mail($id, $frm) {

global $nick;

/*ajoute le tvadans la table tva*/

$nom = addSlashes($frm['nom']);

$texte = addSlashes($frm['texte']);

$qid = mysql_query("INSERT INTO ".$nick."_mail (nom,texte) VALUES ('$nom','$texte')");

}

function maj_mail($id, $frm) {

global $nick;

/* Met �jour le tva$id avec de nouvelles valeurs. Les champs sont dans $frm */

/* Met �jour la table tva*/

$nom = addSlashes($frm['nom']);

$texte = addSlashes($frm['texte']);

$qid = mysql_query("UPDATE ".$nick."_mail SET nom = '$nom' , texte = '$texte' WHERE id = '$frm[id]'");

}

function affiche_liste_mail($start)

{

global $nick;

$qid = mysql_query("select * from ".$nick."_mail order by id asc ");

?>

<table border=0 cellpadding=0 cellspacing=1 width=100%>

<tr>

<td colspan=4><a class=normal href="<?=$_SERVER['PHP_SELF']?>?mode=ajout">

[Ajouter une mail]</a></td>

</tr>

<?

$result=mysql_query("SELECT * FROM ".$nick."_mail ORDER BY id DESC");

if (mysql_num_rows($result) == 0) {echo "<tr><td class=normal><b>Aucune mail.</b></td></tr>"; }

else {

?>

<tr bgcolor="#6699ff">

<td class="menu">Action</td>

<td class="menu">nom</td>

<td class="menu">texte</td>

</tr>

<?

while ($ligne = mysql_fetch_array($result)) { ?>

<tr>

<td class=normal><a class=normal onClick="java script:return confirm('�es-vous sr de vouloir supprimer le transport?');" title="Supprimer <?=$ligne['id'] ?>" href=<?=$_SERVER['PHP_SELF]?>?mode=suppr&id=<?=$ligne['id'] ?>"><img src=../images/poubelle.gif border=0></a></td>

<td class=normal><a class=normal title="Modifier cette mail" href="<?=$_SERVER['PHP_SELF']?>?mode=modif&id=<?=$ligne['id'] ?>"><?=$ligne['nom'] ?></a> </td>

<td class=normal><?=$ligne['texte'] ?> </td>

</tr>

<?

}

}

echo "</table>";

}

function liste_commande(){

global $nick;

$result = mysql_query("SHOW COLUMNS FROM ".$nick."_commandes");

if (!$result) {

echo 'Impossible d\'exécuter la requête : ' . mysql_error();

exit;

}

echo "<span class=normal><b>Liste de mots pouvant etre utlisés dans le mail pour ce qui concerne la commande</b> a mettre entre [&nbsp;&nbsp;]</span><br>";

$i="0";

if (mysql_num_rows($result) > 0) {

while ($row = mysql_fetch_assoc($result)) {

echo "<span class=normal>".$row['Field']."&nbsp;&nbsp;&nbsp;</span>" ;

$i++;

if ( $i==8 )

{

echo "<br>";

}

if ( $i==16 )

{

echo "<br>";

}

}

}

$result = mysql_query("SHOW COLUMNS FROM ".$nick."_utilisateurs");

if (!$result) {

echo 'Impossible d\'exécuter la requête : ' . mysql_error();

exit;

}

echo "<br><span class=normal><b>Liste de mots pouvant etre utlisés dans le mail pour ce qui concerne l utilisateur</b> a mettre entre [&nbsp;&nbsp;]</span><br>";

$i="0";

if (mysql_num_rows($result) > 0) {

while ($row = mysql_fetch_assoc($result)) {

echo "<span class=normal>".$row['Field']."&nbsp;&nbsp;&nbsp;</span>" ;

$i++;

if ( $i==8 )

{

echo "<br>";

}

if ( $i==16 )

{

echo "<br>";

}

}

}

}

?>

bien entendu il faut au préalable faire une petite table avec quelques champs dedans .... id nom texte id est autoincrementé

ensuite une petite(s) fonction(s) a mettre dans fonctions.php ou dans un fichier de fonctions perso

function email_vari($quoi,&$message,$id) {

global $nick, $wwwroot;

global $nick, $site;

global $nick, $support;

$sql=mysql_fetch_array(mysql_query("select id_utilisateur from ".$nick."_commandes where id ='".$id."' "));

//echo $sql['id_utilisateur'];

$util=$sql['id_utilisateur'];

$zz="select email from ".$nick."_utilisateurs where id_utilisateur ='".$util."' ";

$ql=mysql_fetch_array(mysql_query($zz));

//echo $ql['email'];

$email = $ql['email'];

$sujet= "Information Izzotek sur commande : ".$quoi;

mail($email,$sujet,$message,"FROM:$support");

}

function send_notif ($titre,$id){

global $nick;

$res=remplace($titre,$id);

email_vari($titre,&$res,$id);

}

function remplace($titre,$cmd){

global $nick;

$text=mysql_fetch_array(mysql_query("select texte from ".$nick."_mail where nom ='$titre'"));

$texte=$text['texte'];

//$sql=mysql_fetch_array(mysql_query("select * from ".$nick."_commandes,".$nick."_utilisateurs where id='1586'"));

$sql=mysql_query("select * from ".$nick."_commandes where id='$cmd'");

$nblignes=mysql_num_rows($sql);

$nbchamps=mysql_num_fields($sql);

$var=array();

/* affichage de l'en-tete du tableau HTML avec les noms des champs */

echo "<table border=2 align=center ><tr>";

for($i=0; $i < $nbchamps; $i++) {

$tabchamps[$i] = mysql_field_name($sql,$i);

$zz="[".$tabchamps[$i]."]";

$val=mysql_fetch_array(mysql_query("select ".$tabchamps[$i]." from ".$nick."_commandes where id ='$cmd'"));

$var[$zz].=$val[$tabchamps[$i]];

}

$tmp_id=mysql_fetch_array($sql);

$idd=$tmp_id['id_utilisateur'];

$modele1=strtr($texte,$var);

$sql=mysql_query("select * from ".$nick."_utilisateurs where id_utilisateur='".$idd."' ");

$nblignes=mysql_num_rows($sql);

$nbchamps=mysql_num_fields($sql);

$var=array();

/* affichage de l'en-tete du tableau HTML avec les noms des champs */

echo "<table border=2 align=center ><tr>";

for($i=0; $i < $nbchamps; $i++) {

$tabchamps[$i] = mysql_field_name($sql,$i);

$zz="[".$tabchamps[$i]."]";

$val=mysql_fetch_array(mysql_query("select ".$tabchamps[$i]." from ".$nick."_utilisateurs where id_utilisateur ='".$idd."' "));

$var[$zz].=$val[$tabchamps[$i]];

}

$modele2=strtr($modele1,$var);

return stripslashes($modele2);

}

j'ai fais ça il y a un bon bout de temps .... donc il faut peut etre revoir un peu le code :huh:

et finalement dans administrer/commandes.php mettre

$titre="Ajout article";

send_notif ($titre,$_REQUEST['cmd_id']);

dans chacun des case que vous voulez personaliser pour les etapes de la commande .....

vous avez la liste des champs que vous pouvez utiliser pour la redaction du mail :)

A vous de jouer et d'adapater :D

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping