Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z newsletterem
Forum PHP.pl > Forum > PHP
neneth
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.
wookieb
Wiesz że jedn± która już dostałe¶ to używanie bbcode do której się nie zastosowałe¶. Tego się nie da sensownie czytać...
neneth
Cytat(wookieb @ 20.07.2010, 11:37:54 ) *
Wiesz że jedn± która już dostałe¶ to używanie bbcode do której się nie zastosowałe¶. Tego się nie da sensownie czytać...

<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);
}
}
}

?>

Proszę o pomoc w modyfikacji pól imput, żeby była możliwo¶ć opcji wyboru jakiego rodzaju newsletter chce użytkownik otrzymać oraz co powinien zawierać plik Mail.php
pedro84
Dodaj BBCODE!

Mów do słupa, a słup...
neneth
  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
pedro84
1. Do formularza dodajesz odpowiednie inputy (powiedzmy name="typ")
2. W pliku zapisz.php dodajesz je do bazy (w miejscu gdzie dodajesz do bazy dodajesz $_POST['typ'], w tym kodzie co dała¶, jest to 98 linia)
3. W pliku wysyłania newslettera po prostu sprawdzasz, do jakiego typu newslettera user się zapisał i w zależnio¶ci od tego jaki newsletter wysyłasz, wy¶lesz mu wiadomo¶ć, b±dĽ nie.
neneth
  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></p>
  4. <hr align="center" color="#0000ff" width="200"/>
  5. <p><b><font size=2; color="#0000ff">Podaj swj adres e-mail</font></br></b></p>
  6. <form action="zapisz.php" method="post">
  7. <input type="text" style="background-color:white;border:1; border-color:#0000ff; border-style:solid; name="mail" size="30"><br>
  8. <br>
  9. <br>
  10. <b>Wybierz tematykę newslettera:</b><br><br><select size="1" name="Promocje">
  11. <option selected value="diety">Porady dietetyka-specjalisty</option>
  12. <option value="medycyna">Nowinki medyczne</option>
  13. <option value="wszystko">Wszystkie artykuły</option>
  14. <input type="radio" name="akcja" value="add" checked="checked" /> Zapisz się
  15. <input type="radio" name="akcja" value="del" /> Zrezygnuj<br />
  16. <br>
  17. <br>
  18. <input type="submit" value="PotwierdĽ"; /> <br />
  19. </form>
  20.  
  21. </div>zapisz.php
  22. <?php
  23. include('Mail.php');
  24. function sendmail($mail,$first) {
  25. $res = mysql_query("SELECT token FROM newsletter where adres = \"".$mail."\" ");
  26. $token = mysql_result($res,0);
  27.  
  28. $msgBody = "Witaj w systemie newsletter portalu smuklasylwetka.com!
  29. Aby potwierdzić swój adres email kliknij w poniższy link do przeglądarki:
  30. <a href="http://www.mojastrona.pl/newsletter/potwierdz.php?adres=$mail&token=$token" target="_blank">http://www.mojastrona.pl/newsletter/potwie...ken=$token</a>
  31. \n
  32. \n
  33. Je&#339;li to nie Ty zapisywałeœ się w systemie newsletter po prostu zignotuj tą wiadomoœć.
  34. \n
  35. \n
  36. ";
  37. $msgBody.="Prosimy nie odpowiadać na tą wiadomo&#339;ć, została wygenerowana automatycznie";
  38. $msgBody = wordwrap($msgBody, 70);
  39. $headers['From'] = 'newsletter@smuklasylwetka.com';
  40. $headers['To'] = $mail;
  41. $headers['Subject'] = "System newsletter";
  42. $headers['Content-type'] = "text/plain; charset=utf-8";
  43.  
  44. $params = array(
  45. "host"=>"mojserwersmtp.pl",
  46. "port"=>25,
  47. "auth"=>true,
  48. "username"=>"mojlogin",
  49. "password"=>"mojetajnehaslo",
  50. );
  51.  
  52.  
  53. $mail_object =& Mail::factory('smtp', $params);
  54. $mail_object->send($mail, $headers, $msgBody);
  55.  
  56. if (PEAR::isError($mail_object)) {
  57. die($mail_object->getMessage());
  58. }
  59. else {
  60. echo "<hr><br>Potwierdzenie mailowe zostało przesłane";
  61. if ($first ===false)
  62. echo " ponownie";
  63. echo ".";
  64. }
  65.  
  66. }
  67.  
  68. if (!isset($_POST['mail'])){
  69. echo ("Brak maila!");
  70. }
  71. $normal = "^[a-z0-9_\+-]+(\.[a-z0-9_\+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,4})$";
  72. if (!eregi($normal, $_POST['mail'])) {
  73. echo("Niepoprawny adres email");
  74. exit;
  75. }
  76. $mail = $_POST['mail'];
  77. if ($_POST['akcja']=='add')
  78. $akcja = 'add';
  79. else if ($_POST['akcja']=='del')
  80. $akcja = 'del';
  81. else{
  82. echo ("błąd");
  83. }
  84.  
  85. $sql = mysql_connect( (host) , (użytkownik) , (hasło) );
  86. mysql_select_db( (baza danych) );
  87.  
  88.  
  89. if ($akcja == 'del') {
  90. $res = mysql_query("DELETE FROM newsletter WHERE adres='".$mail."'");
  91. if (mysql_affected_rows($sql)=='1') {
  92. echo ("adres usunięty");
  93. }
  94. else {
  95. echo ("Brak adresu w bazie");
  96. }
  97. }
  98.  
  99. if ($akcja == 'add') {
  100. $token = sha1(time());
  101. $res = @mysql_query("INSERT INTO newsletter(adres,token) VALUES (\"".$mail."\", \"".$token."\") ");
  102. if ($res) {
  103. sendmail($mail,true);
  104. }
  105. else {
  106. $res = mysql_query("SELECT potwierdzony FROM newsletter where adres = \"".$mail."\" ");
  107. $potw = mysql_result($res,0);
  108. if ($potw == "t") {
  109. echo("Adres już istnieje w bazie i jest powierdzony");
  110. }
  111. else if ($potw == "n") {
  112. sendmail($mail,false);
  113. }
  114. }
  115. }
  116.  
  117. Czy kto¶ mógłby zerkn±ć na ten kod i sprawdzić, czy wszystko jest w porz±dku. Wyskakuje mi następuj±cyy bł±d
  118.  
  119. Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\Odchudzanie\zapisz.php on line 67
  120. ?>
  121.  
ADeM
  1. $msgBody = "Witaj w systemie newsletter portalu smuklasylwetka.com!
  2. Aby potwierdzić swój adres email kliknij w poniższy link do przeglądarki:
  3. <a href=\"http://www.mojastrona.pl/newsletter/potwierdz.php?adres=$mail&token=$token\" target=\"_blank\">http://www.mojastrona.pl/newsletter/potwie...ken=$token</a>
  4. \n
  5. \n
  6. Jeœli to nie Ty zapisywałeœ się w systemie newsletter po prostu zignotuj tą wiadomoœć.
  7. \n
  8. \n
  9. ";
To jest wersja lo-fi głównej zawarto¶ci. Aby zobaczyć pełn± wersję z większ± zawarto¶ci±, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.