Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]newsletter
Forum PHP.pl > Forum > Przedszkole
czarnaowca777
Witam
Próbuję zrobić do mojej strony newsletter. Ktoś z was może doradzić jaką zasadę działania obrać?
Bo mam taki pomysł ale nie wiem czy dobry (bazujący na formularzu kontaktowym):
1.Z bazy gdzie są użytkownicy pobieram ich maile
2.Zliczam ile ich jest
3.Robię formularz gdzie wpiszę wiadomość do nich i pętlę w której to się będzie wysyłało

Czy to dobry pomysł i realny? Jestem początkująca nie chodzi mi o cuda prędkości wysyłania i czego tylko ale chcę w miarę to zrobić. Dobry to pomysł czy raczej się za to nie brać?
Ruch Radzionków
  1. $pokaz = mysl_query("SELECT * FROM users");
  2. while($pok = mysql_fetch_array($pokaz))
  3. {
  4. //cala tresc ktora ma byc wyslana mailem
  5. //uzyj tego
  6. //http://php.net/manual/en/function.mail.php
  7. }

to jest przykład poczytaj o while oraz wejdz tutaj
http://php.net/manual/en/function.mail.php
czarnaowca777
Kod
<?php
if (empty($_POST['submit'])) {
  echo "<table border=\"0\"><form method=\"post\">
<tr>
<td>Treść wiadomości</td>
<td><textarea name=\"tresc\" style=\"width: 250px; height: 100px\"></textarea></td>
</tr>
<tr>
<td>Imię, nazwisko lub nick</td>
<td><input type=\"text\" name=\"imie\" style=\"width: 250px\"></td>
</tr>
<tr>
<td>Adres e-mail</td>
<td><input type=\"text\" name=\"email\" style=\"width: 250px\"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type=\"submit\" name=\"submit\" value=\"Wyślij\">&nbsp;
<input type=\"reset\" value=\"Od nowa\"></td></form>
</tr>
</table>";
}

elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) {
$zapytanie = 'SELECT * FROM `uzytkownicy`';
$idzapytania = mysql_query($zapytanie);
if(mysql_real_escape_string((!isset($_GET['id'])) or empty($_GET['id'])))
{
while ($wiersz = mysql_fetch_array($idzapytania))
{
    $uzytkownik=$wiersz['uzytkownik'];
    $message = "Treść wiadomości:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]";
    $header = "From: $_POST[imie] <$_POST[email]>";
    mail("$uzytkownik","Wiadomosc ze strony WWW","$message","$header")
    or die('Nie udało się wysłać wiadomości');
    echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
}}
else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!</span>";
}
?>


Mniej więcej tak?
Bo czy funkcja mail mi działa nie sprawdzę na localhost...
Jest inny sposób żeby przetestować bez wrzucania do neta?
Ruch Radzionków
powinno byc dobrze

(daj pomógł za pomoc)
modern-web
Tak, możesz uruchomić usługę Mercury (SMTP) u siebie i wysyłać maile za pomocą zewnętrznej poczty wskazanej w plikach konfiguracyjnych. Wymaga odblokowanego portu 25 (o ile dobrze pamiętam), chyba że skorzystasz z innego.
P.S.
1. nie prosi się o `pomógł` - twórca tematu sam zadecyduje smile.gif
2. używajcie odpowiednich znaczników - po co wsadzacie kod PHP w <quote>, przecież specjalnie istnieje <php> (gdzie < = [ & > = ])
czarnaowca777
A jak się odblokowuje ten port i odpala tą usługę?
modern-web
Poszukaj w google pod hasłem "port forward" / "przekierowanie portów". Dodam, że całą operację wykonuje się w ustawieniach konfiguracyjnych routera.
Usługę musisz sobie zainstalować we własnym zakresie (jest to jeden z pakietów XAMPP-a i radze Ci z tego skorzystać smile.gif). Aby ją potem skonfigurować musisz rzucić okiem na kilka linijek kodu w plikach konfiguracyjnych. Nie będę tworzyć dla Ciebie specjalnego tutorialu, bo tego w necie jest dość sporo... wpisz w google "mail in xampp", a wszystko stanie się jasne smile.gif
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.