Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z newsletterem, newsletter rozbudowanie
neneth
post
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 21.06.2010

Ostrzeżenie: (10%)
X----


Witam, w zwizku z tym, iż na tym forum uzyskałam już wiele skutecznych porad, prosiłabym o jeszcze jedną. Mam taki skrypt newsletter:

<div id="newsletter" >
<p><font size=4; color="#0000ff"><b>SUBSKRYPCJA</b></font></br></p>
<p><font size=2; color="#0000ff">Zapisz sie, aby otrzymywaæ newsy <br><br>z serwisu</font></br></p>

<form action="zapisz.php" method="post">
<input type="text" style="background-color:white;border:1; border-color:#0000ff; border-style:solid; name="mail" size="30"><br>
<br>
<input type="radio" name="akcja" value="add" checked="checked" /> Zapisz siê
<input type="radio" name="akcja" value="del" /> Zrezygnuj<br />
<br>
<input type="submit" value="PotwierdŸ"; /> <br />
</form>
</div>
zapisz.php
<?php
include('Mail.php');
function sendmail($mail,$first) {
$res = mysql_query("SELECT token FROM newsletter where adres = \"".$mail."\" ");
$token = mysql_result($res,0);

$msgBody = "Witaj w systemie newsletter portalu smuklasylwetka.com!
Aby potwierdziæ swój adres email kliknij w poni¿szy link do przegl¹darki:
http://www.mojastrona.pl/newsletter/potwie...ken=$token
\n
\n
Jeœli to nie Ty zapisywa³eœ siê w systemie newsletter po prostu zignotuj t¹ wiadomoœæ.
\n
\n
";
$msgBody.="Prosimy nie odpowiadaæ na t¹ wiadomoœæ, zosta³a wygenerowana automatycznie";
$msgBody = wordwrap($msgBody, 70);
$headers['From'] = 'newsletter@smuklasylwetka.com';
$headers['To'] = $mail;
$headers['Subject'] = "System newsletter";
$headers['Content-type'] = "text/plain; charset=utf-8";

$params = array(
"host"=>"mojserwersmtp.pl",
"port"=>25,
"auth"=>true,
"username"=>"mojlogin",
"password"=>"mojetajnehaslo",
);


$mail_object =& Mail::factory('smtp', $params);
$mail_object->send($mail, $headers, $msgBody);

if (PEAR::isError($mail_object)) {
die($mail_object->getMessage());
}
else {
echo "<hr><br>Potwierdzenie mailowe zosta³o przes³ane";
if ($first ===false)
echo " ponownie";
echo ".";
}

}

if (!isset($_POST['mail'])){
echo ("Brak maila!");
exit;
}
$normal = "^[a-z0-9_\+-]+(\.[a-z0-9_\+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,4})$";
if (!eregi($normal, $_POST['mail'])) {
echo("Niepoprawny adres email");
exit;
}
$mail = $_POST['mail'];
if ($_POST['akcja']=='add')
$akcja = 'add';
else if ($_POST['akcja']=='del')
$akcja = 'del';
else{
echo ("b³¹d");
exit;
}

$sql = mysql_connect( (host) , (u¿ytkownik) , (has³o) );
mysql_select_db( (baza danych) );


if ($akcja == 'del') {
$res = mysql_query("DELETE FROM newsletter WHERE adres='".$mail."'");
if (mysql_affected_rows($sql)=='1') {
echo ("adres usuniêty");
exit;
}
else {
echo ("Brak adresu w bazie");
exit;
}
}

if ($akcja == 'add') {
$token = sha1(time());
$res = @mysql_query("INSERT INTO newsletter(adres,token) VALUES (\"".$mail."\", \"".$token."\") ");
if ($res) {
sendmail($mail,true);
}
else {
$res = mysql_query("SELECT potwierdzony FROM newsletter where adres = \"".$mail."\" ");
$potw = mysql_result($res,0);
if ($potw == "t") {
echo("Adres ju¿ istnieje w bazie i jest powierdzony");
}
else if ($potw == "n") {
sendmail($mail,false);
}
}
}

?>
Chciałabym się dowiedzieć, jak go mogę rozbudować, żeby dodać następujące pola wyboru (pola input):

Chcę otrzymywać wiadomości z zakresu:

przykład 1.

przykład 2.

przykład 3.

Chciałabym wiedzieć, co powinien zawierać plik Mail.php (proszę o treść).

Bardzo serdecznie dziękuję za wszelką pomoc, ponieważ jestem początkującym webmasterem i dopiero zaczęłam swą prrzygodę z php.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
neneth
post
Post #2





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 21.06.2010

Ostrzeżenie: (10%)
X----


  1. <div id="newsletter" >
  2. <p><font size=4; color="#0000ff"><b>SUBSKRYPCJA</b></font></br></p>
  3. <p><font size=2; color="#0000ff">Zapisz sie, aby otrzymywać newsy <br><br>z serwisu</font></br></p>
  4.  
  5. <form action="zapisz.php" method="post">
  6. <input type="text" style="background-color:white;border:1; border-color:#0000ff; border-style:solid; name="mail" size="30"><br>
  7. <br>
  8. <input type="radio" name="akcja" value="add" checked="checked" /> Zapisz się
  9. <input type="radio" name="akcja" value="del" /> Zrezygnuj<br />
  10. <br>
  11. <input type="submit" value="PotwierdŸ"; /> <br />
  12. </form>
  13. </div>
  14. zapisz.php
  15. <?php
  16. include('Mail.php');
  17. function sendmail($mail,$first) {
  18. $res = mysql_query("SELECT token FROM newsletter where adres = \"".$mail."\" ");
  19. $token = mysql_result($res,0);
  20.  
  21. $msgBody = "Witaj w systemie newsletter portalu smuklasylwetka.com!
  22. Aby potwierdzić swój adres email kliknij w poniższy link do przeglšdarki:
  23. <a href="http://www.mojastrona.pl/newsletter/potwierdz.php?adres=$mail&token=$token" target="_blank">http://www.mojastrona.pl/newsletter/potwie...ken=$token</a>
  24. \n
  25. \n
  26. Je&#339;li to nie Ty zapisywałeœ się w systemie newsletter po prostu zignotuj tš wiadomoœć.
  27. \n
  28. \n
  29. ";
  30. $msgBody.="Prosimy nie odpowiadać na tš wiadomo&#339;ć, została wygenerowana automatycznie";
  31. $msgBody = wordwrap($msgBody, 70);
  32. $headers['From'] = 'newsletter@smuklasylwetka.com';
  33. $headers['To'] = $mail;
  34. $headers['Subject'] = "System newsletter";
  35. $headers['Content-type'] = "text/plain; charset=utf-8";
  36.  
  37. $params = array(
  38. "host"=>"mojserwersmtp.pl",
  39. "port"=>25,
  40. "auth"=>true,
  41. "username"=>"mojlogin",
  42. "password"=>"mojetajnehaslo",
  43. );
  44.  
  45.  
  46. $mail_object =& Mail::factory('smtp', $params);
  47. $mail_object->send($mail, $headers, $msgBody);
  48.  
  49. if (PEAR::isError($mail_object)) {
  50. die($mail_object->getMessage());
  51. }
  52. else {
  53. echo "<hr><br>Potwierdzenie mailowe zostało przesłane";
  54. if ($first ===false)
  55. echo " ponownie";
  56. echo ".";
  57. }
  58.  
  59. }
  60.  
  61. if (!isset($_POST['mail'])){
  62. echo ("Brak maila!");
  63. }
  64. $normal = "^[a-z0-9_\+-]+(\.[a-z0-9_\+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,4})$";
  65. if (!eregi($normal, $_POST['mail'])) {
  66. echo("Niepoprawny adres email");
  67. exit;
  68. }
  69. $mail = $_POST['mail'];
  70. if ($_POST['akcja']=='add')
  71. $akcja = 'add';
  72. else if ($_POST['akcja']=='del')
  73. $akcja = 'del';
  74. else{
  75. echo ("błšd");
  76. }
  77.  
  78. $sql = mysql_connect( (host) , (użytkownik) , (hasło) );
  79. mysql_select_db( (baza danych) );
  80.  
  81.  
  82. if ($akcja == 'del') {
  83. $res = mysql_query("DELETE FROM newsletter WHERE adres='".$mail."'");
  84. if (mysql_affected_rows($sql)=='1') {
  85. echo ("adres usunięty");
  86. }
  87. else {
  88. echo ("Brak adresu w bazie");
  89. }
  90. }
  91.  
  92. if ($akcja == 'add') {
  93. $token = sha1(time());
  94. $res = @mysql_query("INSERT INTO newsletter(adres,token) VALUES (\"".$mail."\", \"".$token."\") ");
  95. if ($res) {
  96. sendmail($mail,true);
  97. }
  98. else {
  99. $res = mysql_query("SELECT potwierdzony FROM newsletter where adres = \"".$mail."\" ");
  100. $potw = mysql_result($res,0);
  101. if ($potw == "t") {
  102. echo("Adres już istnieje w bazie i jest powierdzony");
  103. }
  104. else if ($potw == "n") {
  105. sendmail($mail,false);
  106. }
  107. }
  108. }
  109.  
  110. ?>
  111.  
  112.  
  113.  
  114.  
  115.  


dodałam BBcode
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 19:30