Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Formularz wysyłki maila ze strony
carpov
post
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;
}
?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
cornholio666
post
Post #2





Grupa: Zarejestrowani
Postów: 472
Pomógł: 8
Dołączył: 14.03.2004
Skąd: Rzeszów

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


Cytat(dadexix @ 9.01.2008, 13:39:52 ) *
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) pierwsze piszesz posta nie czytając calej wypowiedzi


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ę..." ?
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 12.10.2025 - 19:07