Mammouth du PHP |
687 Messages
27 nov. 2015, 18:52
Je souhaite créer un fichier HTML de ce type :
//-----------------------------------------------------------------------------------------
//echo strtolower($quadri_courtier);
$id_message = stripslashes($_POST['id_message']);
//-------------------- generer le fichier source_newsletter.html --------------------------
if (isset($_POST[elm1]))
{
$source = 'carte_de_voeux';
$extension = '.html';
$elm1 = stripslashes($_POST[elm1]);
$f = $source.$id_message.$extension;
$text = "$elm1";
$handle = @fopen("$f","w");
// regarde si le fichier est accessible en écriture
if (is_writable($f))
{
// Ecriture
if (fwrite($handle, $text) === FALSE)
{
echo 'Impossible d\'écrire dans le fichier '.$f.' Faire un chmod 644 sur ce fichier.<br>';
exit();
}
fclose($handle);
}
}
// ----------------------------------------------------------------------------------------
Voici ce que j'ai fait :
<?php
//--------les includes des fonctions permettent le bon fonctionnement du site--------------
include "include_fns.php";
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
//permet de savoir si le groupe a le droit d'acces a ce fichier
$fichier = "Newsletters";
$module_autoriser = rech_enreg_modules($groupe, $fichier);
if ($module_autoriser)
{
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
//si l'administrateur n'a pas de session il est impossible d'afficher la page
if (!$_SESSION["administrateur"] && !$_SESSION["groupe"]) {
echo "<div id=\"message\">".ACCES_PAGE_INTERDITE." !<br />";
echo "<a href=\"index.php\">".RETOUR."</a></div><br />";
//-----------------------------------------------------------------------------------------
//--------------------- affichage du bas de page et quitte le programme -------------------
include "bas.php";
exit();
}
//-----------------------------------------------------------------------------------------
else {
//------------------------------ si le fichier doit etre supprimer ------------------------
$fichier = $_POST[fichier];
if (isset($fichier)) {
@unlink("$fichier");
}
//-----------------------------------------------------------------------------------------
//----------- recuperation de la variable mail par la methode GET -------------------------
$mail = $_GET['mail'];
if (isset($_GET['mail'])) {
//---------------- supprimer l'adresse mail dans la table newsletter ----------------------
$conn = db_connect();
$sql = "delete from ".NEWSLETTER." where mail = '$mail'";
$result = mysql_query($sql, $conn);
echo "<meta http-equiv=\"refresh\" content=\"0;url=$_SERVER[HTTP_REFERER]\" />";
}
//-----------------------------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////
//RECHERCHE ADMINISTRATEUR
////////////////////////////////////////////////////////////////////
$conn = db_connect();
$sql_user = "SELECT * FROM ".ADMIN." WHERE username = '$administrateur'";
$result_user = mysql_query($sql_user, $conn);
while ($rech_utilisateur = @mysql_fetch_array($result_user)) {
$quadri_courtier = $rech_utilisateur['quadri_courtier'];
// echo $rech_utilisateur['quadri_courtier'];
}
//------------------------------------------------------------------------------------------
//affiche N inscrit dans le formulaire newsletter
$nbr_inscrit = rech_enreg_limite_newsletter();
if (!isset($_GET['debut'])) $_GET['debut'] = 0;
$nb_affichage_par_page = 30;
$debut = $_GET['debut'];
$conn = db_connect();
$sql = "select * from ".NEWSLETTER." where quadri_courtier ='$quadri_courtier' AND annuler !='1' order by mail asc limit $debut, $nb_affichage_par_page";
$resultat = mysql_query($sql, $conn) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
//-----------------------------------------------------------------------------------------
//-------------------------affichage du formulaire newsletter -----------------------------
?>
<div><h1>Envoyer une nouvelle carte de vœux</h1></div>
<div class="cadre_admin_page">
<!-- /////////////////Debut du formulaire d'envoi de la newsletter///////////////////////// -->
<center><img src="<?php echo $dir_image; ?>/info.png" alt="" /></center>
<center>
<b><?php echo CONSEIL. " : </b><i>".MESSAGE_CONSEIL; ?>.</i>
</center>
<?php
//-----------------------------------------------------------------------------------------
// La barre de navigation
echo "<div class=\"contenu\">";
echo "Nombre d'inscrits (global): $nbr_inscrit ".barre_navigation($nbr_inscrit, $nb_affichage_par_page, $debut, 3)."";
echo "</div>";
//-----------------------------------------------------------------------------------------
//echo strtolower($quadri_courtier);
$id_message = stripslashes($_POST['id_message']);
//-------------------- generer le fichier source_newsletter.html --------------------------
if (isset($_POST[elm1]))
{
$source = 'carte_de_voeux';
$extension = '.html';
$elm1 = stripslashes($_POST[elm1]);
$f = $source.$id_message.$extension;
$text = "$elm1";
$handle = @fopen("$f","w");
// regarde si le fichier est accessible en écriture
if (is_writable($f))
{
// Ecriture
if (fwrite($handle, $text) === FALSE)
{
echo 'Impossible d\'écrire dans le fichier '.$f.' Faire un chmod 644 sur ce fichier.<br>';
exit();
}
fclose($handle);
}
}
// ----------------------------------------------------------------------------------------
//------------------------ fichier se trouvant sur le serveur -----------------------------
$fichier_serveur = 'source_newsletter.html';
$elm1 = @file_get_contents($fichier_serveur);
//-----------------------------------------------------------------------------------------
//------------------------ deplacement automatique entre les pages ------------------------
if (($nbr_inscrit-30) >= $debut) {
$debut += $nb_affichage_par_page;
}
//-----------------------------------------------------------------------------------------
//coche ou decoche les cases par lot de 30
if (isset($_GET['cocher'])) {
$cocher = "checked";
}
if (isset($_GET['decocher'])) {
$decocher = "false";
}
//-----------------------------------------------------------------------------------------
?>
<table align="center" border="0" width="100%" cellspacing="1" cellpadding="1" class="bordure">
<tr>
<td class="fond">
<form method="post" action="?debut=<?php echo $debut; ?>">
<table border="0" align="center" cellspacing="1" cellpadding="1" width="100%">
<tr>
<?php
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
// lecture des adresses mail dans la table newsletter
//initialisation du compteur
$compteur = 0;
while ($sql = mysql_fetch_array($resultat)) {
if ($compteur % 3 != 0) {
echo "<td class=\"fond\"><a href=\"".$_SERVER['PHP_SELF']."?mail=$sql[mail]\" onclick=\"return confirm('Attention vous allez supprimer le mail $sql[mail]. Voulez vous continuer ?')\"> <img src=\"$dir_image/drop.gif\" width=\"16px\" height=\"16px\" title=\"".SUPPRIMER." $sql[mail]\" border=\"0\" alt=\"\" /></a> <input style=\"width:10px;\" type=\"checkbox\" name=\"options[]\" value=\"$sql[mail]\" $cocher />".$sql[mail];
echo " </td>";
}
else {
echo "</tr><tr><td class=\"fond\"><a href=\"".$_SERVER['PHP_SELF']."?mail=$sql[mail]\" onclick=\"return confirm('Attention vous allez supprimer le mail $sql[mail]. Voulez vous continuer ?')\"> <img src=\"$dir_image/drop.gif\" width=\"16px\" height=\"16px\" title=\"".SUPPRIMER." $sql[mail]\" border=\"0\" alt=\"\" /></a> <input style=\"width:10px;\" type=\"checkbox\" name=\"options[]\" value=\"$sql[mail]\" $cocher />".$sql[mail];
echo " </td>";
}
$compteur = $compteur + 1;
}
//-----------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------
?>
<tr>
<td colspan="3" class="fond"> </td>
</tr>
</table>
<table border="0" align="center" cellspacing="1" cellpadding="1" width="100%">
<tr>
<td> </td>
<td>Ou <b style="color:#ee991a">Nouveau mail</b><b>*</b> :</td>
<td><input type="text" name="mail" size="100" style="width:250px;" /> <b style="color:#ee991a">Nom</b><b>*</b> : <input type="text" name="mail" size="50" style="width:100px;" /> <b style="color:#ee991a">Prénom</b><b>*</b> : <input type="text" name="mail" size="50" style="width:100px;" /></td>
</tr>
<tr>
<td> </td>
<td><?php echo OBJET; ?></td>
<td><input type="text" name="objet" size="50" value="Meilleurs voeux 2016 !" style="width:575px;" /></td>
</tr>
<tr>
<td> </td>
<td><?php echo TEXTE; ?></td>
<td><textarea cols="90" rows="15" id="elm1" name="elm1"><?php echo $elm1; ?></textarea></td>
</tr>
<tr>
<td colspan="3"> </td>
</tr>
<tr>
<td> </td>
<th colspan="3"><input type="submit" value="<?php echo ENVOYER; ?>" onclick="return confirm('<?php echo MESSAGE_ENVOI_NEWSLETTER; ?> ?')" /></th>
</tr>
<tr>
<td colspan="3"> </td>
</tr>
<tr>
<td colspan="3"> </td>
</tr>
</table>
</form>
</td>
</tr>
</table>
<p>
[ <a href="envoi_newsletter.php?cocher=cocher">Tout cocher</a> ]
[ <a href="envoi_newsletter.php?decocher=decocher">Tout décocher</a> ]
</p>
<p>
<form action="" method="post">
<input type="hidden" name="fichier" value="source_newsletter.html">
<input type="submit" value="Supprimer le texte">
</form>
</p>
<?php
}
//----------------- si les variables n'existe pas message en attente ----------------------
if (!$_POST['objet'] || !$_POST['elm1'])
{
echo "<br /><center><img src=\"$dir_image/formu_nl.png\" alt=\"\" /> <i>".MESSAGE_ATTENTE_ENVOI." ! </i></center>";
echo "</div>";
echo "<div class=\"cadre_admin_page\">";
echo "<center><a href=\"menu_admin.php\">".RETOUR."</a></center>";
echo "</div>";
//-----------------------------------------------------------------------------------------
//--------------------- affichage du bas de page et quitte le programme -------------------
include "bas.php";
exit();
}
//-----------------------------------------------------------------------------------------
//---------recupere les coordonnees de l'administrateur pour envoyer le mail---------------
//si option ecommerce activee
/* $option_ecommerce = option_rech_ecommerce();
if ($option_ecommerce[ecommerce] == "OUI")
{
$profil_societe = rech_coordonnees_record(1);
$mail = $profil_societe[mail];
$nom = $profil_societe[societe];
$url = url_barre_adresse();
}
else
{
$aff_coord = rech_envoi_mail();
$mail = $aff_coord[adresse_mail];
$url = url_barre_adresse();
$nom = $aff_coord[full_name];
} */
//-----------------------------------------------------------------------------------------
//------------------recuperation des variables et formatage--------------------------------
$expediteur = $mail;
$suject = stripslashes($_POST['objet']);
$message = stripslashes($_POST['elm1']);
//-----------------------------------------------------------------------------------------
//------------------------------ courriel pret a partir -----------------------------------
$header = "MIME-Version:1.0" . "\r\n" ;
$header .= "Content-Type:text/html; charset=ISO-8859-1" . "\r\n";
// more Header
$header .= "From: $expediteur" . "\r\n" ;
$message = stripslashes($_POST['elm1']);
$message .= stripslashes($nom);
$message .= stripslashes("<br /><br />Pour visiter le site : <a href='$url'>$url</a> <br /><br />");
$message .= stripslashes("Conformément à la loi 78-17 du 6 janvier 1978, dite loi Informatique et Libertés, vous disposez ");
$message .= stripslashes("d'un droit d'accès individuel, de rectification et de suppression de données nominatives ");
$message .= stripslashes("qui vous concernent. <br />");
//-----------------------------------------------------------------------------------------
//------------verifie si la case est cochee pour envoyer le mail en question---------------
$options = $_POST['options'];
//-----------------------------------------------------------------------------------------
//----------------------------affichage de la liste des mails envoyes ---------------------
if ($options) {
echo "<br /><table border=\"0\" align=\"center\" cellspacing=\"0\" cellpadding=\"0\" width=\"760px\">";
foreach ($options as $mail) {
//-------------recuperation du mail pour desabonnement a la newsletter--------------------
$mesg = $message;
$mesg .= stripslashes("Pour vous désabonner de cette Newsletter <a href=\"$url/desabonner.php?mail=$mail\">cliquez ici </a> <br>");
//----------------------------------------------------------------------------------------
//---------------------------envoi des mails si possible ---------------------------------
if (@mail($mail, $suject, $mesg, $header)) {
echo "<tr><td> ".NEWSLETTER_A_DESTINATION_DE." : $mail</td></tr>";
//c'est une mise a jour des donnees de Newsletter
$conn = db_connect();
$sql = "update ".NEWSLETTER." set annuler='1' where mail='".$mail."'";
$result = @mysql_query($sql, $conn);
//c'est une mise a jour des donnees de Newsletter
$conn_message = db_connect();
$sql_message = "insert into voeux_prol_voeux_messages values ('$id_message', '$message', '$mail', '$quadri_courtier')";
$result_message = @mysql_query($sql_message, $conn_message);
} else {
echo "<tr><td> ".IMPOSSIBLE_ENVOYER_MESSAGE." : $mail</td></tr>";
//c'est une mise a jour des donnees de Newsletter
$conn = db_connect();
$sql = "update ".NEWSLETTER." set annuler='1' where mail='".$mail."'";
$result = @mysql_query($sql, $conn);
$message_carte = $_POST['elm1'];
//c'est une mise a jour des donnees de Newsletter
$conn_message = db_connect();
$sql_message = "insert into voeux_prol_voeux_messages values ('$id_message', '$message_carte', '$mail', '$quadri_courtier')";
$result_message = @mysql_query($sql_message, $conn_message);
}
//----------------------------------------------------------------------------------------
}
}
//-----------------------------------------------------------------------------------------
echo "</table>";
echo "</div>";
echo "<div class=\"cadre_admin_page\">";
echo "<center><a href=\"menu_admin.php\">".RETOUR."</a></center>";
echo "</div>";
//----------------------------------- affichage du bas de page ----------------------------
include "bas.php";
}
//-----------------------------------------------------------------------------------------
else
{
echo "<div id=\"message\">".ACCES_PAGE_INTERDITE." !<br />";
echo "<a href=\"index.php\">".RETOUR."</a></div><br />";
//-----------------------------------------------------------------------------------------
//---------------- affichage du bas de page et quitte le programme ------------------------
include "bas.php";
exit();
}
//-----------------------------------------------------------------------------------------
?>
Merci