![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 8.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jestem zielony w temacie PHP ...więc z góry przepraszm za lamerskei problemy ...ale liczę na pomoc.
W czym problem? otóż postanowiłem na stronce zrobić prosty formularz do wysyłania zapytań na maila (3 pola użytkownik, adres zwrotny i treść) Od providera dostałem gotowe rozwiązanie w postaci skryptu PHP omijającego problem zablokowanej funkcji mail(). Zaimplementowałem to na stronce i git.......... działa. Maile lądują tam gdzie trzeba tylko coś nie tak jest z przekierowaniem na stronki w przypadku powodzenia lub niepowodzenia. Poniżej zamieszczam kod. Co tu neleży zmienić żeby po poprawnym wyslaniu maila przeszedł na zadaną stronke? Proszę o pomoc Kod <?php
# tutaj nalezy podac odpowiednie parametry zmiennych: $serwer_poczty_wychodzacej = 'smtp.domena.pl'; $nasza_skrzynka_email = 'mail@domena.pl'; $haslo_do_skrzynki = '123456'; $temat_wiadomosci = 'Formularz kontaktowy'; $nazwa_naszej_firmy = 'Firma; $strona_bledu = 'blad.html'; $strona_wyslana = 'ok.html'; if($_POST['kto'] != '' && $_POST['mail'] != '' && $_POST['tresc'] != '') { require_once 'Mail.php'; $params['host'] = $serwer_poczty_wychodzacej; $params['port'] = 25; $params['auth'] = true; $params['username'] = $nasza_skrzynka_email; $params['password'] = $haslo_do_skrzynki; $headers['Subject'] = $temat_wiadomosci; $headers['From'] = $_POST['mail']; $headers['To'] = $nazwa_naszej_firmy; $headers['Content-type']='text/plain; charset=utf-8'; $body = $_POST['kto'].' napisał/a: '.$_POST['tresc']; $recipients = $nasza_skrzynka_email; $mail = Mail::factory('smtp', $params); if (PEAR::isError($mail)) { print $mail->getMessage(); } else { $error = $mail->send($recipients, $headers, $body); if (PEAR::isError($error)) { $host = $_SERVER['HTTP_HOST']; header("Location: http://$host/$strona_bledu"); exit; } else { $host = $_SERVER['HTTP_HOST']; header("Location: http://$host/$strona_wyslana"); exit; } } } else { $host = $_SERVER['HTTP_HOST']; header("Location: http://$host/$strona_bledu"); exit; } ?> |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 472 Pomógł: 8 Dołączył: 14.03.2004 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
tutaj możesz wpisać z palca dowolny adres np:
dostosuj do swoich potrzeb. Witaj na forum ![]() PS: cos BBcode wykrzacza Ten post edytował cornholio666 8.01.2008, 21:44:45 -------------------- I need TP for my bunghole!!!
Mój nowy przyjaciel - tytanowa płytka na stałe ------------------------------------------------------ AEGEE, kwiaciarnia rzeszów , notariusz rzeszów, zakład krawiecki rzeszów, paweł jakubowicz |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 8.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
NIe wiem czy dobrze Cię zrozumiałem....w html tez coś mam zmienić? (mylące są te nagłówki PHP I HTML)
Już wcześniej próbowałem zaproponowanego rozwiązania. Zmieniłem w kodzie php w miejscach header (Location:..... na jakieś tam stronki i dalej to samo. Zatrzymuje się na skrypcie formularz.php (biała strona i tyle) Dlatego napisałem ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 561 Pomógł: 75 Dołączył: 19.08.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Ten fragment kodu sprawi, że przeglądarka zmieni adres na wskazany w tej funkcji. Zauważ, że są tu wsadzone 2 zmienne: $host i $strona_wysłana. Nie masz ich nigdzie w skrypcie, więc ta funkcja tak naprawdę wygląda tak:
Czyli nieprawidłowo, bo PHP nic nie wstawił w miejsce zmiennych. Ale nie musisz sugerować się wzorem, możesz na sztywno sam wpisać adres:
Ten post edytował Grzyw 8.01.2008, 22:18:10 -------------------- Idąc po czyichś śladach, nie zajdziesz ani kroku dalej...
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 8.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Tak już wcześniej napisałem.....adresy wpisywane na sztywno tez nie działają.....skrypt się "wiesza" i tyle
a co do zmiennych: hosta załatwia $_SERVER['HTTP_HOST'] a strona_wysłana jest zdeklarowana powyżej..........i teraz pytanie czy aby na pewno dobrze a co powodują te "exit'y" po każdym "header" ![]() ![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 472 Pomógł: 8 Dołączył: 14.03.2004 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Wstaw die() tak jak ja wstawilem i zobacz jaki komunikat ci sie pokazuje
a exity znaczą to exit() Ten post edytował cornholio666 8.01.2008, 23:21:18 -------------------- I need TP for my bunghole!!!
Mój nowy przyjaciel - tytanowa płytka na stałe ------------------------------------------------------ AEGEE, kwiaciarnia rzeszów , notariusz rzeszów, zakład krawiecki rzeszów, paweł jakubowicz |
|
|
--carpov-- |
![]()
Post
#7
|
Goście ![]() |
Ki diaboł ?
![]() nie bangla.....ktoś to testował u siebie? staje na skrypcie php i nie przechodzi dalej -> biały ekran z napisem "mail wysłany" i nie przechodzi dalej. Nie zależnie od tego czy zostawie w headerze zmienne host i strona_wysłana...czy wklepie na sztywną jakąś stronę. W teorii powinno iść....jednak jest inaczej i pytanie dlaczego? Może jakieś inne propozycje przekierowań |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 472 Pomógł: 8 Dołączył: 14.03.2004 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Przed skryptem umieść
Zamien kod na ten:
Ten post edytował cornholio666 9.01.2008, 09:35:25 -------------------- I need TP for my bunghole!!!
Mój nowy przyjaciel - tytanowa płytka na stałe ------------------------------------------------------ AEGEE, kwiaciarnia rzeszów , notariusz rzeszów, zakład krawiecki rzeszów, paweł jakubowicz |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 439 Pomógł: 21 Dołączył: 28.06.2007 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
Cytat Kod else { header("Location: http://www.onet.pl/"); die("mail wyslany"); } Cytat Kod } else { die("mail wyslany"); $host = $_SERVER['HTTP_HOST']; header("Location: http://$host/$strona_wyslana"); exit; } } -------------------- "Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...] Grins: mów normalnie do mnie a nie po polsku Ja: normalnie to znaczy jak? Grins: No w PHP... inaczej mój parser ledwo kuma:) |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 472 Pomógł: 8 Dołączył: 14.03.2004 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
hm? po co pisać że wysłany jak i tak wcześniej przekieruje:D? no gratuluje:) najpierw kończysz wykonywanie skryptu a potem próbujesz wysłać nagłówek(chodz skrypt już nie wysyła się... no gratuluje ![]() carpov pisal ze mu przekierowanie "nie dziala", wiec chciałem sprawdzić czy rzeczywiście skrypt "dochodzi" do miejsca gdzie owo przekierowanie się znajduje. Teraz mam pewność że tak. Więc jest coś nie tak z przekierowaniem BTW co to znaczy że "skrypt już nie wysyła się..." ? -------------------- I need TP for my bunghole!!!
Mój nowy przyjaciel - tytanowa płytka na stałe ------------------------------------------------------ AEGEE, kwiaciarnia rzeszów , notariusz rzeszów, zakład krawiecki rzeszów, paweł jakubowicz |
|
|
--carpov-- |
![]()
Post
#11
|
Goście ![]() |
Więc tak......stosując sie do Twoich zaleceń cornolio
kod wyglada tak:
i mamy odpowiedz
oczywiscie maila w skrzynce NIE WIDAĆ ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 29.06.2025 - 10:26 |