![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 11.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Jest skrypt służący do wysyłania wiadomości w PHP z wykorzystaniem AJAX. W pliku konfiguracyjnym (plik zawierał definicję oraz jej wartość - ręcznie wpisywany adres e-mail, został zastąpiony owy plikiem) jest taki kod.
Plik wczytywany zawiera jedynie adres e-mail i nic więcej. Plik odpowiedzialny za przesyłanie wiadomości dołącza do siebie plik konfiguracji przez include. W miejscu użycia definiowanego WEBMASTER_EMAIL wygląda tak:
Wartość z pliku jest odczytywana poprawnie i trafia do głównego pliku. Sprawdzane za pomocą echo. Problem jest taki: Jeżeli WEBMASTER_EMAIL będzie posiadać wartość wpisaną ręcznie (adres) to wiadomość zostanie wysłana poprawnie. Jeżeli WEBMASTER_EMAIL będzie miał wartość odczytywaną z pliku wiadomość nie zostanie wysłana ale serwer nie zwróci żadnego błędu (ani błędu, ani potwierdzenia wysłania wiadomości). Sprawdzałem wartość zmiennej wpisanej ręcznie i z pliku i obie wyświetlają się poprawnie (w pliku nie ma niepotrzebnych pustych znaków, enterów przed czy po wartości tip. czysty ciąg znaków zawierający e-mail). Pytanie brzmi - co może być przyczyną i jak można to naprawić lub jakakolwiek wskazówka pomagająca ten problem rozwiązać. Pozdrawiam PS. Dodam tylko iż bardzo rozbudowanej wiedzy o PHP nie posiadam. Wykorzystuję je tylko chwilami do niektórych zadań. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 91 Pomógł: 15 Dołączył: 3.03.2009 Skąd: Włocławek Ostrzeżenie: (0%) ![]() ![]() |
Sprawdź czy w email.txt nie masz żadnych znaków specjalnych (spacji, tabulacji...)
Po za tym odczytywanie tego pliku tekstowego i podstawienie do stałej, możesz trochę skrócić. Np. tak:
Możesz też włączyć raportowanie wszystkich błędów i ostrzeżeń dla php, może jednak zwraca jakiś komunikat. -------------------- www.swiths.com
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 11.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
W pliku jest tylko ciąg znaków zawierający email. Zero pustych itp. Kodowanie UTF-8 bez BOM
Na serwerze offline nie wypluwa błędów. Mam raportowanie włączone, lecz nie wysyła.
Jedyny kompunikat dotyczy funkcji mail. Na online nie mam jak włączyć lub wyłączyć funkcji za bardzo. 1&1 ma bardzo ogranoczony PA. Z uproszczenim też próbowałem (od tego zaczynałem) i nic nie daje. Nie rozumiem po prostu gdzie leży problem. Wyświetla wartość zmiennej poprawnie (sprawdzane echem) więc i powinno poprawnie wysyłać. Problem polega na braku jakiejkolwiek akcji na serwerze. Notyfikacji włączyć nie mam jak, ale na domowym nie mam żadnych informacji innych niż powyższa. PS. Jedyne co mogę zmienić w ustawieniach PHP to PHP5 na PHP dev. Nie przynosi widocznych efektów. nie pojawiają się żadne nowe komunikaty Ten post edytował zearid 11.03.2012, 14:48:18 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 91 Pomógł: 15 Dołączył: 3.03.2009 Skąd: Włocławek Ostrzeżenie: (0%) ![]() ![]() |
a daj na początku skryptu
i powiedz też czy funkcja mail zwraca true czy false przy próbie wysłania -------------------- www.swiths.com
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 11.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dodałem na samym początku pliku odpowiedzialnego za przesłanie wiadomości.
Nic się nie wyświetla. Jak sprawdzić funkcję mail (jaką ma wartość) ? Zawartość pliku contact.php - plik inicjowany przy wysyłaniu wiadomości:
Ten post edytował zearid 11.03.2012, 15:13:03 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 91 Pomógł: 15 Dołączył: 3.03.2009 Skąd: Włocławek Ostrzeżenie: (0%) ![]() ![]() |
Jak sprawdzić funkcję mail (jaką ma wartość) ? Sprawdzasz ją na to wychodzi w miejscu if($mail)... skrypt odpowiada OK ? No i skasuj skoro wcześniej dałeś (-1) -------------------- www.swiths.com
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 11.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Skasowałem zaraz po zatwierdzeniu posta (edycji) i nie zwróciło żadnego błedu. Skrypt odpowiada.
Jeżeli podstawię zamiast zmiennej (treść pliku) ręcznie wpisaną wartość wiadomość zostaje wysłana poprawnie. Wcześniej dla testu miałem na końcu pliku echo w celu sprawdzenia czy przekazywany jest poprawnie email z pliku. Po kliknieciu wyświetlało go nad formularzem i był poprawny (ani przed ani za nim nie było spacji itp). Teraz bez tego nie widać reakcji choć odpowiada skrypt. Żadnych błędów nie zwraca, po prostu nie wysyła wiadomości. Zależało mi na zewnętrzym przechowywaniu adresu e-mail. Ten post edytował zearid 11.03.2012, 15:25:47 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 91 Pomógł: 15 Dołączył: 3.03.2009 Skąd: Włocławek Ostrzeżenie: (0%) ![]() ![]() |
Wrzuciłem sobie ten skrypt na serwer 1and1 i wszystko działa. Nie wiem, o co chodzi. ;D
-------------------- www.swiths.com
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 11.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
A przekazujesz wartość z pliku ?
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 91 Pomógł: 15 Dołączył: 3.03.2009 Skąd: Włocławek Ostrzeżenie: (0%) ![]() ![]() |
skróciłem to do:
mail.php:
config.php:
email.txt:
-------------------- www.swiths.com
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 11.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ja z ciekawości wrzuciłem katalog kontakt na samą góre struktury i usunąłem niepotrzebne include.
Jedyny efekt działanie jest komunikat o sukcesie. ![]() Nic poza tym. Co ciekawsze nawet po wpisaniu e-maila ręcznie przestało wysyłać. Teraz już totalnie nie kumam. Ten post edytował zearid 11.03.2012, 15:43:41 |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 91 Pomógł: 15 Dołączył: 3.03.2009 Skąd: Włocławek Ostrzeżenie: (0%) ![]() ![]() |
może wiadomości wylądowały w spamie czy coś?
![]() -------------------- www.swiths.com
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 11.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Widać co wyżej i nic poza tym ;]
Na bank spam nie ;] oznaczone mam jako nie SPAM ![]() W oryginalnym położeniu działa poprawnie tylko ze zdefiniowaną ręcznie wartością WEBMASTER_EMAIL. Jeżeli jest w "" wysyła bez komunikatu. Jeżeli bez "" to:
Generalnie problem stanowią zmienne. Jeżeli zamiast uzytej pierwotnie wartości dam zmienną i określę jej wartość ręcznie (email) to działa. Jeżeli wezmę tą samą zmienną i jako jej wartość podam otwierany plik i jego zawartość to nie działa. Ten post edytował zearid 11.03.2012, 15:49:13 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 20:37 |