Newsletter entierement en php
webmaster-debutant
Messages postés
103
Statut
Membre
-
webmaster-debutant -
webmaster-debutant -
Bonjour,
j'ai decidé de commencer de creer la page newsletter seulement en php, et j'ai reussi, mais par contre pour voir si je recois bien une mail, en disant "pour activer votre inscription, cliquez ici", j'ai ecrit mon adresse e-mail, mais je ne recois pas de mails.
pour cela je vous envoye les fichiers:
index.php:
<?php
if(isset($_GET['email'])) //on vérifie que la variable $_GET['email'] existe
{
if( !empty($_POST['email']) AND $_GET['email']==1 AND isset($_POST['new'])) /*on vérifie que la variable $_POST['email'] contient bien quelque chose, que la variable $_GET['email'] est égale à 1 et que la variable $_POST['new'] existe */
{
if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['email'])) // on vérifie qu'on a bien rentré une adresse e-mail valide
{
if($_POST['new']==0) //si la variable $_POST['new'] est égale à 0, cela signifie que l'on veut s'inscrire
{
//on définit les paramètres de l'e-mail
$email = $_POST['email'];
$message = 'Pour valider votre inscription à la newsletter de MonSite.fr, <a href="https://www.pagesjaunes.fr/?tru=1&email=%27$email.'">cliquez ici</a>.';
$destinataire = $email;
$objet = "Inscription à la newsletter de MonSite.fr" ;
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: monsite@monsite.fr' . "\r\n";
if ( mail($destinataire, $objet, $message, $headers) ) //on envoie l'e-mail
{
echo "Pour valider votre inscription, veuillez cliquer sur le lien dans l'e-mail que nous venons de vous envoyer.";
}
else
{
echo "Il y a eu une erreur lors de l'envoi du mail pour votre inscription.";
}
}
elseif($_POST['new']==1) //si la variable $_POST['new'] est égale à 1, cela signifie que l'on veut se désinscrire
{
//on définit les paramètres de l'e-mail
$email = $_POST['email'];
$message = 'Pour valider votre désinscription de la newsletter de MonSite.fr, <a href="https://www.pagesjaunes.fr/?tru=1&email=%27$email.'">cliquez ici</a>.';
$destinataire = $email;
$objet = "Désinscription de la newsletter de MonSite.fr" ;
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: monsite@monsite.fr' . "\r\n";
if ( mail($destinataire, $objet, $message, $headers) )
{
echo "Pour valider votre désinscription, veuillez cliquer sur le lien dans l'e-mail que nous venons de vous envoyer.";
}
else
{
echo "Il y a eu une erreur lors de l'envoi du mail pour votre désinscription.";
}
}
else
{
echo "Il y a eu une erreur !";
}
}
else
{
echo "Vous n\'avez pas entré une adresse e-mail valide ! Veuillez recommencer !";
}
}
else
{
echo "Il y a eu une erreur.";
}
}
else // si les champs n'ont pas été remplis
{
?>
La newsletter :
<form method="post" action="index.php?email=1">
Adresse e-mail : <input type="text" name="email" size="25" /><br />
<input type="radio" name="new" value="0" />S''inscrire
<input type="radio" name="new" value="1" />Se désinscrire<br />
<input type="submit" value="Envoyer" name="submit" /> <input type="reset" name="reset" value="Effacer" />
</form>
<?php
}
?>
</body>
</html>
inscriptions.php:
<?php
if($_GET['tru']==1)
{
setcookie("email", $_GET['email'], time()+25); //on crée un cookie qui expirera 25 secondes plus tard pour des raisons de sécurité
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<?php
if($_GET['tru']==2)
{
?>
<meta http-equiv="refresh" content="1; url=http://lemondedesvotes.idoo.com/" /> <!-- Redirection vers la page d'accueil du site si on a entré son e-mail -->
<?php
}
else
{
?>
<meta http-equiv="refresh" content="25; url=http://lemondedesvotes.idoo.com/" /> <!-- Redirection vers la page d'accueil du site si on tarde trop à entrer son e-mail -->
<?php
}
?>
<title>Validation de votre inscription à la newsletter de MonSite.fr</title>
</head>
<body>
<p align="center"><font size="5">Validation de votre inscription</font></p>
<?php
if($_GET['tru']==1) //si la variable $_GET['tru'] est égale à 1
//on affiche le formulaire
{
?>
<font color="red">Attention, vous avez 25 secondes pour remplir le formulaire. Passé ce délai, celui-ci ne sera plus validePassé ce délai, celui-ci ne sera plus valide.</font>
<form method="post" action="inscription.php?tru=2">
Entrez votre e-mail : <input type="text" name="email" size="25" /><br />
<input type="submit" value="Envoyer" name="submit" /> <input type="reset" name="reset" value="Effacer" />
</form>
<?php
}
elseif($_GET['tru']==2) //sinon, si la variable $_GET['tru'] est égale à 2
{
mysql_connect("serveur", "login", "pass");
mysql_select_db("db");
$email_mail = mysql_real_escape_string($_COOKIE['email']);
$email_entre = mysql_real_escape_string($_POST['email']);
if($email_entre==$email_mail) //si les deux adresses e-mail sont identiques
{
mysql_query("INSERT INTO newsletter VALUES('', '" . $email_entre . "')"); //on l'inscrit dans la base de données MySQL
echo "Vous avez bien été inscrit à la newsletter de MonSite.fr ! Vous allez être redirigé dans 1 seconde.";
}
else
{
echo "Vous n'avez pas entré la bonne adresse e-mail !";
}
}
else
{
echo "Il y a eu une erreur.";
}
?>
</body>
</html>
desinscriptions.php:
<?php
if($_GET['tru']==1)
{
setcookie("email", $_GET['email'], time()+25); //on crée un cookie qui expirera 25 secondes plus tard pour des raisons de sécurité
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<?php
if($_GET['tru']==2)
{
?>
<meta http-equiv="refresh" content="1; url=http://lemondedesvotes.idoo.com/" /> <!-- Redirection vers la page d'accueil du site si on a entré son e-mail -->
<?php
}
else
{
?>
<meta http-equiv="refresh" content="25; url=http://lemondedesvotes.idoo.com/" /> <!-- Redirection vers la page d'accueil du site si on tarde trop à entrer son e-mail -->
<?php
}
?>
<title>Validation de votre désinscription de la newsletter de MonSite.fr</title>
</head>
<body>
<p align="center"><font size="5">Validation de votre désinscription</font></p>
<?php
if($_GET['tru']==1) //si la variable $_GET['tru'] est égale à 1
//on affiche le formulaire
{
?>
<font color="red">Attention, vous avez 25 secondes pour remplir le formulaire. Passé ce délai, celui-ci ne sera plus valide.</font>
<form method="post" action="desinscription.php?tru=2">
Entrez votre adresse e-mail : <input type="text" name="email" size="25" /><br />
<input type="submit" value="Envoyer" name="submit" /> <input type="reset" name="reset" value="Effacer" />
</form>
<?php
}
elseif($_GET['tru']==2) //sinon, si la variable $_GET['tru'] est égale à 2
{
mysql_connect("serveur", "login", "pass");
mysql_select_db("db");
$email_mail = mysql_real_escape_string($_COOKIE['email']);
$email_entre = mysql_real_escape_string($_POST['email']);
if($email_entre==$email_mail) //si les deux adresses e-mail sont identiques
{
mysql_query("DELETE FROM newsletter WHERE email='" . $email_entre ."'"); //on supprime l'adresse de la BDD
echo "Vous avez bien été désinscrit de la newsletter de MonSite.fr ! Vous allez être redirigé dans 1 seconde.";
}
else
{
echo "Vous n'avez pas entré la bonne adresse e-mail !!";
}
}
else
{
echo "Il y a eu une erreur.";
}
?>
</body>
</html>
Vous pouvez m'aider?
merci par avance,
j'ai decidé de commencer de creer la page newsletter seulement en php, et j'ai reussi, mais par contre pour voir si je recois bien une mail, en disant "pour activer votre inscription, cliquez ici", j'ai ecrit mon adresse e-mail, mais je ne recois pas de mails.
pour cela je vous envoye les fichiers:
index.php:
<?php
if(isset($_GET['email'])) //on vérifie que la variable $_GET['email'] existe
{
if( !empty($_POST['email']) AND $_GET['email']==1 AND isset($_POST['new'])) /*on vérifie que la variable $_POST['email'] contient bien quelque chose, que la variable $_GET['email'] est égale à 1 et que la variable $_POST['new'] existe */
{
if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['email'])) // on vérifie qu'on a bien rentré une adresse e-mail valide
{
if($_POST['new']==0) //si la variable $_POST['new'] est égale à 0, cela signifie que l'on veut s'inscrire
{
//on définit les paramètres de l'e-mail
$email = $_POST['email'];
$message = 'Pour valider votre inscription à la newsletter de MonSite.fr, <a href="https://www.pagesjaunes.fr/?tru=1&email=%27$email.'">cliquez ici</a>.';
$destinataire = $email;
$objet = "Inscription à la newsletter de MonSite.fr" ;
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: monsite@monsite.fr' . "\r\n";
if ( mail($destinataire, $objet, $message, $headers) ) //on envoie l'e-mail
{
echo "Pour valider votre inscription, veuillez cliquer sur le lien dans l'e-mail que nous venons de vous envoyer.";
}
else
{
echo "Il y a eu une erreur lors de l'envoi du mail pour votre inscription.";
}
}
elseif($_POST['new']==1) //si la variable $_POST['new'] est égale à 1, cela signifie que l'on veut se désinscrire
{
//on définit les paramètres de l'e-mail
$email = $_POST['email'];
$message = 'Pour valider votre désinscription de la newsletter de MonSite.fr, <a href="https://www.pagesjaunes.fr/?tru=1&email=%27$email.'">cliquez ici</a>.';
$destinataire = $email;
$objet = "Désinscription de la newsletter de MonSite.fr" ;
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: monsite@monsite.fr' . "\r\n";
if ( mail($destinataire, $objet, $message, $headers) )
{
echo "Pour valider votre désinscription, veuillez cliquer sur le lien dans l'e-mail que nous venons de vous envoyer.";
}
else
{
echo "Il y a eu une erreur lors de l'envoi du mail pour votre désinscription.";
}
}
else
{
echo "Il y a eu une erreur !";
}
}
else
{
echo "Vous n\'avez pas entré une adresse e-mail valide ! Veuillez recommencer !";
}
}
else
{
echo "Il y a eu une erreur.";
}
}
else // si les champs n'ont pas été remplis
{
?>
La newsletter :
<form method="post" action="index.php?email=1">
Adresse e-mail : <input type="text" name="email" size="25" /><br />
<input type="radio" name="new" value="0" />S''inscrire
<input type="radio" name="new" value="1" />Se désinscrire<br />
<input type="submit" value="Envoyer" name="submit" /> <input type="reset" name="reset" value="Effacer" />
</form>
<?php
}
?>
</body>
</html>
inscriptions.php:
<?php
if($_GET['tru']==1)
{
setcookie("email", $_GET['email'], time()+25); //on crée un cookie qui expirera 25 secondes plus tard pour des raisons de sécurité
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<?php
if($_GET['tru']==2)
{
?>
<meta http-equiv="refresh" content="1; url=http://lemondedesvotes.idoo.com/" /> <!-- Redirection vers la page d'accueil du site si on a entré son e-mail -->
<?php
}
else
{
?>
<meta http-equiv="refresh" content="25; url=http://lemondedesvotes.idoo.com/" /> <!-- Redirection vers la page d'accueil du site si on tarde trop à entrer son e-mail -->
<?php
}
?>
<title>Validation de votre inscription à la newsletter de MonSite.fr</title>
</head>
<body>
<p align="center"><font size="5">Validation de votre inscription</font></p>
<?php
if($_GET['tru']==1) //si la variable $_GET['tru'] est égale à 1
//on affiche le formulaire
{
?>
<font color="red">Attention, vous avez 25 secondes pour remplir le formulaire. Passé ce délai, celui-ci ne sera plus validePassé ce délai, celui-ci ne sera plus valide.</font>
<form method="post" action="inscription.php?tru=2">
Entrez votre e-mail : <input type="text" name="email" size="25" /><br />
<input type="submit" value="Envoyer" name="submit" /> <input type="reset" name="reset" value="Effacer" />
</form>
<?php
}
elseif($_GET['tru']==2) //sinon, si la variable $_GET['tru'] est égale à 2
{
mysql_connect("serveur", "login", "pass");
mysql_select_db("db");
$email_mail = mysql_real_escape_string($_COOKIE['email']);
$email_entre = mysql_real_escape_string($_POST['email']);
if($email_entre==$email_mail) //si les deux adresses e-mail sont identiques
{
mysql_query("INSERT INTO newsletter VALUES('', '" . $email_entre . "')"); //on l'inscrit dans la base de données MySQL
echo "Vous avez bien été inscrit à la newsletter de MonSite.fr ! Vous allez être redirigé dans 1 seconde.";
}
else
{
echo "Vous n'avez pas entré la bonne adresse e-mail !";
}
}
else
{
echo "Il y a eu une erreur.";
}
?>
</body>
</html>
desinscriptions.php:
<?php
if($_GET['tru']==1)
{
setcookie("email", $_GET['email'], time()+25); //on crée un cookie qui expirera 25 secondes plus tard pour des raisons de sécurité
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<?php
if($_GET['tru']==2)
{
?>
<meta http-equiv="refresh" content="1; url=http://lemondedesvotes.idoo.com/" /> <!-- Redirection vers la page d'accueil du site si on a entré son e-mail -->
<?php
}
else
{
?>
<meta http-equiv="refresh" content="25; url=http://lemondedesvotes.idoo.com/" /> <!-- Redirection vers la page d'accueil du site si on tarde trop à entrer son e-mail -->
<?php
}
?>
<title>Validation de votre désinscription de la newsletter de MonSite.fr</title>
</head>
<body>
<p align="center"><font size="5">Validation de votre désinscription</font></p>
<?php
if($_GET['tru']==1) //si la variable $_GET['tru'] est égale à 1
//on affiche le formulaire
{
?>
<font color="red">Attention, vous avez 25 secondes pour remplir le formulaire. Passé ce délai, celui-ci ne sera plus valide.</font>
<form method="post" action="desinscription.php?tru=2">
Entrez votre adresse e-mail : <input type="text" name="email" size="25" /><br />
<input type="submit" value="Envoyer" name="submit" /> <input type="reset" name="reset" value="Effacer" />
</form>
<?php
}
elseif($_GET['tru']==2) //sinon, si la variable $_GET['tru'] est égale à 2
{
mysql_connect("serveur", "login", "pass");
mysql_select_db("db");
$email_mail = mysql_real_escape_string($_COOKIE['email']);
$email_entre = mysql_real_escape_string($_POST['email']);
if($email_entre==$email_mail) //si les deux adresses e-mail sont identiques
{
mysql_query("DELETE FROM newsletter WHERE email='" . $email_entre ."'"); //on supprime l'adresse de la BDD
echo "Vous avez bien été désinscrit de la newsletter de MonSite.fr ! Vous allez être redirigé dans 1 seconde.";
}
else
{
echo "Vous n'avez pas entré la bonne adresse e-mail !!";
}
}
else
{
echo "Il y a eu une erreur.";
}
?>
</body>
</html>
Vous pouvez m'aider?
merci par avance,
A voir également:
- Newsletter entierement en php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Gaston a entièrement vidé la corbeille de son ordinateur - Forum Ubuntu
- Blog entièrement gratuit ✓ - Forum HTML
- Gaston a entièrement vidé la corbeille de son ordinateur qui contenait pourtant des documents importants. il ne possède aucune sauvegarde de son ordinateur. nommez un logiciel qu'il peut utiliser pour tenter de retrouver ses documents - Forum Windows
6 réponses
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bien sur que si c'est possible par easy PHP en local !
Même pas besoin de toucher au php.ini ;)
Il suffit de rajouter ça au dessus de la fonction mail() ==>
ini_set("SMTP","smtp.Nom_FAI.fr");
Eh oui, paramétrage du SMTP pour le local ! Si Wanadoo alors ==>
ini_set("SMTP","smtp.wanadoo.fr");
Voillou :p
Même pas besoin de toucher au php.ini ;)
Il suffit de rajouter ça au dessus de la fonction mail() ==>
ini_set("SMTP","smtp.Nom_FAI.fr");
Eh oui, paramétrage du SMTP pour le local ! Si Wanadoo alors ==>
ini_set("SMTP","smtp.wanadoo.fr");
Voillou :p