Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przypomnienie mailowe
Forum PHP.pl > Forum > PHP
Lethys
Witam,

W moim serwisie dziala kilka funkcji ktore uzywaja maila (rejestracja, kontakt i przypomnienie o oplatach). Rejestracja i kontakt dziala bez zarzutow, natomiast ne wysyla maili przypomnienia o oplacie.

Dziala to dzieki cronowi, codzienie jest ujmowana liczba z tabeli abonament. Kiedy uzytnikowi pozostalo 7 dni, powinno razem z cronem wyslac powiadomienie o zblizajacym sie wygasnieciu konta ale tego nie robi.

Kod crona znajduje sie tutaj : http://pokazywarka.pl/shxuj8-2/

Aha, cron dziala dobrze smile.gif
neverever
Jeju, a nie prościej było by w bazie zapisać datę ważności jako Teraz + X opłaconych dni?

-potem już tylko operujesz na datach. na poziomie zapytania sprawdzasz czy data aktualna > od tej zapisanej - jeśli tak, abonament się skończył

ile dni zostało? data zapisana - teraz
zostało 7 dni? zapisana-7=teraz albo teraz+7=zapisana

proste operacje na datach, nie potrzeba żadnych dziwacznych liczników dni.





Lethys
Nie jestem programista, skrypt kupilem i staram sie sam poprawiac bledy bo autor nagle zapadl sie pod ziemie kiedy potrzebujesz pomocy. Skrypt ten powinien dzialac sam z siebie ale jak widac sa niedoskonalosci wiec prosilbym o pomoc w przypadku tego skryptu a nie 'jak napisac lepiej'.

co moze tutaj nie dzialac ?
piotr94
Tak to jest, jak kupujesz od ludzi niewiadomego pochodzenia ;-)
Ja na wszystkie swoje skrypty daję 6 mies. gwarancji i 1 miesiąc na bezpłatne dokonywanie drobnych zmian ;-)
A co do skryptu, to strasznie zabałaganiony...
Lethys
@ up

No prawda jest taka ze gdybym wiedzial jak bedzie wygladala pomoc autora to teraz bym skryptu nie kupil. Skrypt jest wiadomego pochodzenia, sprzedawany przez fimre.

A co do twoich skryptow to zobaczylem Twoja strone i mowie dziekuje ...

Wracajac do tematu, jest ktos to wie co moze byc zle ? co poprawic ? czemu nie dziala ?
Blame
Cytat(Lethys @ 23.01.2010, 19:52:46 ) *
@ up
[...]A co do twoich skryptow to zobaczylem Twoja strone i mowie dziekuje ...


Pwnd! <- Sory nie mogłem się powstrzymać.

Wracając do tematu: na twoim miejscu atakowałbym tego gościa, w związku z niedziałaniem skryptu. Co ci mogę doradzić? Włącz wyświetlanie błędów w php, sprawdź czy coś nie wyrzuca. Do tego możesz podglądnąć czy skrypt nie dostaje pustych zmiennych, szczególnie zawierające e-mail'e. Co prawda mówiłeś że cron działa dobrze, ale sprawdź mimo wszystko jeszcze raz czy nie ma jakieś literówki. No i przejrzyj folder SPAM tongue.gif
Lethys
Co do atakowania goscia to probowalem, nie odpisal na 4 maile a podany nr. tel nie istnieje. Jak tylko naprawie "skrypt" pozastanie mi tylko wystawienie mu komentarza na allegro.

Wlaczylem wyswietlanie bledow i w cronie wyskoczylo:

Cytat
Notice: Undefined variable: headers in /srv/www/vhosts/vnoclegi.pl/httpdocs/mojcron.php on line 52


A 52 linia to :

  1. $headers .= "Return-Path: <".$zmienne['admin_email'].">\r\n";
  2. $headers .= "MIME-Version: 1.0 \r\n";
  3. $headers .= "Content-type: text/html; charset=iso-8859-2 \r\n";
  4. $headers .= 'From: "Administrator" <'.$zmienne['admin_email'].'>\r\n';
  5. $headers .= 'Reply-To: "'.$zmienne['admin_email'].'" \r\n';
  6. $headers .= 'X-Priority: 1\r\n';
  7. $headers .= 'X-MSMail-Priority: High\r\n';


Blad wyskakuje wlasnie przy wysylaniu maila. Jak zinterpretowac ten blad ? Co zmienic ?
askone
Najprawdopodobniej nie istnieje zmienna:
$zmienne['admin_email']

Zrób var_dump($zmienne) i zobacz czy masz tam indeks 'admin_email' - jeśli nie to masz winowajcę smile.gif

Pozdrawiam
piotr94
Cóż, ja jestem programistą, a nie grafikiem i wiem, że nie wszystkie moje strony wyglądają ładnie.
Ale aktualnie rozpoczynam współpracę z grafikiem, który będzie tworzył layouty
Lethys
Troche ekserymentowalem z tym kodem i doszedlem do wniosku ze nie ma w nic w $zmienne, a np. adres admina jest wlasnie w formie $zmienne[email_admin]. Wiec dodalem email admina sztywno w funkcje. Teraz jest tak ze nie wywala bledow ale mimo to nie wysyla tez maila.

Nawet nie pokazuje echo ktore umiescilem tuz po funkcji mail

Tutaj jak wyglada teraz kod : http://pokazywarka.pl/shxuj8-2/

Blame
W takim razie zmienna $email jest pusta, więc albo nie ma użytkownika o id który jest przekazywany do zapytania albo nie ma go zapisanego w polu "email" w bazie.
Lethys
Ani zmienna $email nie jest pusta ani to nie fakt pustego miejsca w polu email w bazie. Bo wczesniej przy innej przerobce kodu wyswietlalo echo te dane. I wszystko bylo ok, nie wyswietlalo tylko $zmienne[admin_email]
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.