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