Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Formularz subskrypcji z potwierdzeniem
altar
post 15.09.2009, 14:34:36
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 10.05.2008

Ostrzeżenie: (0%)
-----


Witam,

Chodzi o formularz zamówienia newslettera z potwierdzeniem subskrypcji w postaci wiadomości email z linkiem do kliknięcia(lub inne rozwiązanie).
Czy mógłby ktoś podpowiedzieć jak się za to zabrać?
Mam program do wysyłania newslettera, program dodaje dane, czyli imie, adres email itp. itd. do swojej bazy na podstawie wiadomosci wysłanej na konto pocztowe które przeznaczyłem do wysyłania newslettera. Czyli jeśli na to konto przyjdzie wiadomość o danym temacie to program pobiera sobie z treści potrzebne informacje i zapisuje je w bazie danych.

Ale jak zrobić żeby gdy wypełnimy formularz, skrypt wysłał prośbę o potwierdzenie, a potem gdy potwierdzimy, czyli klikniemy w link zeby ponownie wysłał email z tymi danymi z formularza.
Go to the top of the page
+Quote Post
thek
post 15.09.2009, 15:05:36
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




A po co? blinksmiley.gif Chcesz zasypać usera prośbami o mailowe potwierdzenie chęci otrzymania na maila newslettera? Źle podchodzisz do tego smile.gif Newsletter się wysyła z częstotliwością określoną (raz na dzień lub kilka) i sprawdza czy aby nie ma nowych informacji z interesującego usera zakresu. Jeśli tak mail idzie. Jeśli nie to olewasz w tym przebiegu usera. Jedynie w samym newsletterze dajesz mu możliwość rezygnacji z otrzymywania go.
Ja swój rozwiązałem tak, że tworzę plik XML z nowościami tego dnia w konkretnych kategoriach i co 24h puszcza się cronem sprawdzanie userów zapisanych do newslettera. Jeśli user ma datę ostatniego mailingu inną od aktualnej i jest zapisany do jakiejś kategorii to sprawdzam czy są w niej nowości. Jesli tak formatuję maila i wysyłam. Jeśli nie to sprawdzam następnego usera. Każdemu sprawdzonemu (nieważne czy posłałem mail czy nie! )aktualizuję datę na aktualną. Dzięki temu nie multiplikuje wywołań do bazy, bo tabelę z nowościami mam zawsze "pod ręką", nawet jeśli coś przerwie mi skrypt. Poza tym jeśli się sypnie skrypt to jego wznowienie nie obejmie już userów do których poszedł mailing bo sprawdzę czy data (dzień i miesiąc) ostatniego mailingu i aktualna nie są takie same winksmiley.jpg I tylko takich biorę pakietami do wysyłki.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
altar
post 15.09.2009, 15:21:32
Post #3





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 10.05.2008

Ostrzeżenie: (0%)
-----


Ale tutaj chodzi tylko o jednorazowe potwierdzenie subskrypcji, na poczatku gdy internauta sie zapisuje na newsletter, a potem wysylanie newsletterow to juz inna sprawa.
Go to the top of the page
+Quote Post
Crozin
post 15.09.2009, 17:21:21
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Po wysłaniu formularza zapisania się nie zapisujesz maila bezpośrednio do tabeli newslettera tylko do jakieś pomocniczej tabeli "na wersyfikację". Zapisujesz tam: adres email, losowo wygenerowany token.
Następnie na maila wysyłasz link postaci: aktywaca/adres@email/ewentualnie/jakies/id/wczesniej_wygenerowany_token_(ten_z_bazy)

Po kliknięci na ten link wykonuje się skrypt, który dodaje do tabeli newslettera kolejnego maila.
Go to the top of the page
+Quote Post
thek
post 15.09.2009, 22:30:30
Post #5





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Trzeba było od razu mówić/pisać że tu chodzi o "link aktywacyjny" smile.gif I pod taką frazą przeszukaj, ewentualnie zwroty bliskoznaczne. Problem poruszany na naprawdę wielu forach. Można to zrobić tak jak kolega poniżej opisał lub ustawić przy danym mailu flagę aktywności. Tak czy inaczej bez dodatkowej tabeli z tokenem się nie obejdzie.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
altar
post 16.09.2009, 09:01:58
Post #6





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 10.05.2008

Ostrzeżenie: (0%)
-----


juz wymyslilem ze zrobie to na zasadzie tymczasowego pliku ktory jest tworzony podczas wysylania formularza i kasowany po kliknieciu w link aktywacyjny, oczywiscie po dodaniu danych internauty do bazy.

dzieki za pomoc i pozdarawiam.
Go to the top of the page
+Quote Post
Larges
post 16.09.2009, 10:51:20
Post #7





Grupa: Zarejestrowani
Postów: 333
Pomógł: 16
Dołączył: 13.05.2008
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Można też zrobić w bazie na zasadzie manipulowania wartością kolumny np. "aktywny".
Jesli ktoś kliknie link aktywacyjny w mailu, kolumna aktywny z jego wierszem dostaje wartość np. "tak". Jeśli nie, dostaje wartość "nie".
Później śmiało możesz za pomocą Crona ustawić sobie powiadomienia powtórne. Np. Jak ktoś nie aktywuje przez tydzień, dostanie powtórnego maila po 7 dniach.
Inna zaś funkcja może co jakiś czas usuwać nieaktywne maile bez weryfikacji po powtórnym powiadomieniu (np. po kolejnych 7 dniach).
winksmiley.jpg

Sposobów jest cała masa (;

Pozdrawiam.


--------------------
Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 23.06.2025 - 01:31