Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/12/2007, 08h20   #1
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 122
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 122
Points : 13
Points : 13
Envoyer un message via MSN à scorpion11_22
Par défaut newsletter amelioration du script ?

Salut a tous
c'est pas un probleme c'est juste pour améliorer .
en fait j'ai récuperer un script que j'ai adapter a mon site .
il se compose :

d'un formulaire d'inscription :
Code :
1
2
3
4
5
6
7
8
<div align="center">
        <font color="#FFFFFF">Entrez votre email<br />pour vous inscrire<br />a la newsletter :</font>
                <form action="newsletter.php" method="post">
                <p><input type="text" name="email" maxlength="36" /> <input type="submit" value="Ok" />
                <br /><input type="radio" name="action" value="1" checked="checked" /> <font color="#FFFFFF">Inscription</font><br />
                <input type="radio" name="action" value="0" /> <font color="#FFFFFF">Désinscription</font></p>
                </form>
        </div>
ensuite il y a deux fichiers :
le premier pour enregistrer les emails des personnes qui s'inscrive :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php
require ('includes/constante.php');
include('includes/bdd.php');
 
$idConnexion = mysql_connect($hote, $login, $pass);
mysql_select_db($bdd, $idConnexion);
 
if(isset($_GET['send']) && $_GET['send'] == 'spam') 
{
 
        if(empty($_POST['objet']) or empty($_POST['text']) or empty($_POST['from'])) 
        {
 
                header("location: index.php?page=mail_news&error=1");
                exit();
        }
 
        $_POST['text'] = stripslashes($_POST['text']);
 
        $sql = 'SELECT * FROM `newsletter`';
        $rc = mysql_query($sql);
 
        $headers = '' ;
 
        if(isset($_POST['format']) and $_POST['format'] == '0') 
        {
                $headers .= "MIME-Version: 1.0\r\n";
                $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
        }
                $headers .= "From: ". EMAILSITE ."\r\n"; 
 
        while($data = mysql_fetch_array($rc)) 
        {
                imap_mail($data['email'],$_POST['objet'],$_POST['text'], $headers);
        }
        header("location: index.php?page=mail_news&error=0");
}
elseif(isset($_POST['email']) && strlen($_POST['email'])) 
{
 
        if(isset($_POST['action']) && $_POST['action'] == '1') 
        {
        mysql_query("INSERT INTO `newsletter` (email) VALUES ('".$_POST['email']."')")
        or die('<p align="center"><span style="color: #ff0000">Erreur! Email déjà enregistré<br /><a href="http://informadream.sud.fr/index.php?page=accueil">Cliquez ici</a> pour revenir a l\'accueil .</span></p>');
        }
 
        elseif(isset($_POST['action']) && $_POST['action'] == '0') 
        {
        mysql_query("DELETE FROM `newsletter` WHERE email = '".$_POST['email']."'")
        or die('<p align="center"><span style="color: #ff0000">Erreur ! Email inexistant<br /><a href="http://informadream.sud.fr/index.php?page=accueil">Cliquez ici</a> pour revenir a l\'accueil .</span></p>');
        }
 
header("location: index.php?page=accueil");
 
}
 
?>
et le deuxieme sert à la rédaction de la newsletter :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
 
require_once ('includes/constante.php');
require_once ('includes/bdd.php');
include("fckeditor/fckeditor.php") ;
 
$idConnexion = mysql_connect($hote, $login, $pass);
mysql_select_db($bdd, $idConnexion);
 
$sql = 'SELECT * FROM `newsletter`';
$nbr = mysql_num_rows(mysql_query($sql));
?>
<br />
<div align="center" class="texte-red">Actuellement <strong><?php echo $nbr; ?></strong> personnes inscrites à la newsletter !</div>
<p align="center" class="mot-bleu">Envoyer une newsletter :</p>
<div align="center"><form action="newsletter.php?send=spam" method="post">
<span class="mot-bleu"><u>Objet :</u></span>
<input type="text" name="objet" size="50"/>
<input type="hidden" name="from" value="<?php echo EMAILSITE; ?>" size="30"/>
<input type="hidden" name="format" value="0" />
                                <?php
                                        //Apparaitre pour création
                                        $oFCKeditor = new FCKeditor('text') ;
                                        $oFCKeditor->Create() ;
                                ?>
<input type="submit" value="Envoyer la newsletter" />
</form>
<?php
if($_GET['error']=='0')
print '<span class="texte-red">Envoi de la newsletter avec succès !</span>';
elseif($_GET['error']=='1')
print '<span class="texte-red">Erreur tous les champs ne sont pas remplis !</span>';
?>
</div>
En fait j'aimerai rajouter dans ce script un message sur l'accueil qui dit si oui sont mail est enregistrer ou si il a été bien supprimé .
seulement je n'y arrive pas et j'arrive pas a voir comment faire !
merci pour votre aide ...
scorpion11_22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2007, 14h00   #2
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 122
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 122
Points : 13
Points : 13
Envoyer un message via MSN à scorpion11_22
re salut !
je fait un petit up !

c'est cette partie du code que j'aimerai modifier :
Code :
1
2
3
4
5
6
7
8
9
10
11
if(isset($_POST['action']) && $_POST['action'] == '1') 
        {
        mysql_query("INSERT INTO `newsletter` (email) VALUES ('".$_POST['email']."')")
        or die('<p align="center"><span style="color: #ff0000">Erreur! Email déjà enregistré<br /><a href="http://informadream.sud.fr/index.php?page=accueil">Cliquez ici</a> pour revenir a l\'accueil .</span></p>');
        }
 
        elseif(isset($_POST['action']) && $_POST['action'] == '0') 
        {
        mysql_query("DELETE FROM `newsletter` WHERE email = '".$_POST['email']."'")
        or die('<p align="center"><span style="color: #ff0000">Erreur ! Email inexistant<br /><a href="http://informadream.sud.fr/index.php?page=accueil">Cliquez ici</a> pour revenir a l\'accueil .</span></p>');
        }
en fait j'aimerai que ma requete qui actuellement affiche l'erreur grace au or die soit afficher grace a un echo ?
merci pour votre aide .
scorpion11_22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2007, 14h05   #3
Membre Expert
 
Inscription : octobre 2002
Messages : 1 141
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2002
Messages : 1 141
Points : 1 204
Points : 1 204
Envoyer un message via MSN à Raideman
Essaie peut etre ceci :

Code :
1
2
3
4
$ress=@mysql_query("INSERT INTO `newsletter` (email) VALUES ('".$_POST['email']."')");
if(!$ress){
echo '<p align="center"><span style="color: #ff0000">Erreur! Email déjà enregistré<br /><a href="http://informadream.sud.fr/index.php?page=accueil">Cliquez ici</a> pour revenir a l\'accueil .</span></p>';
}
Raideman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2007, 15h49   #4
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 122
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 122
Points : 13
Points : 13
Envoyer un message via MSN à scorpion11_22
merci pour t'as reponse !
le souci c'est que ca me renvoi toujours sur une page blanche ou j'ai le texte d'erreur !
sinon pas grave je vais faire une page d'erreur perso !
par contre comment faudrait-il que je fasse pour indiquer a la personne que son email est bien enregistrer/ou l'inverse pour la newsletter ?
merci
scorpion11_22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h15.


 
 
 
 
Partenaires

Hébergement Web