| Author |
Message |
goldenhand
Jestem tu już dłuższą chwilę


Joined: Aug 02, 2008
Posts: 114
Status: Offline
|
| Posted:
Dec 28, 2009 - 02:26 PM |
|
Witam,
Chciałbym żeby po wysłaniu formularza otwierała się inna strona (strona z podziękowaniem).
Chciałem w skrypcie użyć czegoś takiego:
Code:
$redirectURL = "http://www.costam.pl/kontakt/index.html";
Ale nie wiem gdzie to umieścić żeby zadziałało, może podam kod php formularza:
Code:
<?php
if(isset($_POST['send'])){
$emailFrom = "costam@wp.pl";
$emailTo = "costam@wp.pl";
$subject = "Wiadomosc do costam";
$name = strip_tags($_POST['name']);
$nazwisko = strip_tags($_POST['nazwisko']);
$ulica = strip_tags($_POST['ulica']);
$city = strip_tags($_POST['city']);
$email = strip_tags($_POST['email']);
$kod = strip_tags($_POST['kod']);
$tel = strip_tags($_POST['tel']);
$message = strip_tags(stripslashes($_POST['message']));
$body = "Name: ".$name."\n";
$body .= "Nazwisko: ".$nazwisko."\n";
$body .= "Ulica: ".$ulica."\n";
$body .= "City: ".$city."\n";
$body .= "Email: ".$email."\n";
$body .= "Kod poczt: ".$kod."\n";
$body .= "Telefon: ".$tel."\n";
$body .= "Message: ".$message."\n";
$headers = "From: ".$emailFrom."\n";
$headers .= "Reply-To:".$email."\n";
$success = mail($emailTo, $subject, $body, $headers);
if ($success){
echo '<p class="feedback ok">Dziękujemy, wiadomość została wysłana.</p>';
}
else{
echo '<p class="feedback nook">Coś jest nie wporządku, sprawdź wpisane dane.</p>';
}
;}
?>
|
|
|
|
 |
januzi
Mega GURU


Joined: Oct 18, 2002
Posts: 1452
Status: Offline
|
| Posted:
Dec 29, 2009 - 02:45 AM |
|
przy prawidłowym warunku
Code:
header( "Location: $adres" ) ;
exit() ;
|
|
|
|
 |
goldenhand
Jestem tu już dłuższą chwilę


Joined: Aug 02, 2008
Posts: 114
Status: Offline
|
| Posted:
Dec 29, 2009 - 01:30 PM |
|
Dzięki Januzi znowu mi skórę ratujesz
Coś mi z tym świtało, ale nie wiem dalej gdzie to umieścić, ponieważ jak wysyłam, to wyskakuje na białej stronie to:
Code:
if ($success){
echo '<p class="feedback ok">Dziękujemy, wiadomość została wysłana.</p>';
}
else{
echo '<p class="feedback nook">Coś jest nie w porządku, sprawdź wpisane dane.</p>';
}
Powiedzmy że w ogóle tego nie chcę więc to usuwam i teraz będzie tak:
Code:
if ($success){
header( "Location: $adres" );
exit();
}
Code:
$adres .="http://www.costam.pl/index.htm";
Jest ok teraz??? |
|
|
|
 |
goldenhand
Jestem tu już dłuższą chwilę


Joined: Aug 02, 2008
Posts: 114
Status: Offline
|
| Posted:
Jan 02, 2010 - 12:47 PM |
|
No dobra chociaż nie bardzo rozumiem ten język to jednak udało się mi wykonać to co chciałem, ale w jeszcze inny sposób.
Formularz , który był zawarty w pliku htm potrzebował zewnętrznego skryptu, który go przetworzy - w wyniku czego pojawiał się komunikat o sukcesie na białej stronie.
Zrobiłem zatem tak, skrypt php umieściłem w pliku htm zaraz nad formularzem, potem zamieniłem:
Code:
form action="/kontakt/index.php"
na
Code:
form action="<?php echo $_SERVER['PHP_SELF']; ?>
A na końcu zmieniłem też rozszerzenie (pliku) z .htm na .php - ponieważ w .htm wywalało błąd.
W rezultacie komunikat o sukcesie pojawia się teraz nad formularzem, a nie na białej stronie. |
|
|
|
 |
jaredj
Zanim zapytam poszukam odpowiedzi

Joined: May 05, 2010
Posts: 6
Status: Offline
|
| Posted:
May 06, 2010 - 05:46 PM |
|
No to obejmij cały blok formularza warunkiem na wyświetlenie - jeśli zmienne z formularza były ustawione i skrypt je przetworzył - to po prostu nie wyświetlaj formularza. |
|
|
|
 |
lucas
Specjalista


Joined: Sep 30, 2002
Posts: 787
Location: 44-105 Gliwice
Status: Offline
|
| Posted:
May 13, 2010 - 12:47 PM |
|
Na mój gust jest tu już coś za bardzo namieszane. Proponuję zebrać doświadczenie, przemyśleć i zacząć jeszcze raz od początku.
po pierwsze proponuję przyjrzeć się takim instrukcjom php jak: include, file i print , a najlepiej zaznajomić się z systemem szablonów - osobiście polecam smarty. Prosty łatwy i przyjemny a przy tym pełen możliwości. |
_________________ GG: 1424201
http://www.lucas.net.pl
http://lucas-web-studio.blogspot.com/
Promocja dla Małych i Średnich Firm |
|
|
 |
goldenhand
Jestem tu już dłuższą chwilę


Joined: Aug 02, 2008
Posts: 114
Status: Offline
|
| Posted:
May 16, 2010 - 02:16 PM |
|
To tu jeszcze ktoś pisze? Nie otrzymałem żadnej wiadomości na maila. Nie ważne i tak już przecież napisałem, że problem jest rozwiązany - formularz działa poprawnie (waliduje i wysyła).
Korzystając z okazji mam jednak jeszcze pytanie:
Dlaczego ten sam formularz (działający poprawnie) umieszczony na innej stronie, ale na tym samym serwerze nie chce już wysyłać wiadomości?
Tzn. waliduje poprawnie, po czym wysyłam wiadomość, ale wiadomość nie dociera do odbiorcy.
Oczywiście adres odbiorcy zmieniłem ( i nic więcej!). |
|
|
|
 |
januzi
Mega GURU


Joined: Oct 18, 2002
Posts: 1452
Status: Offline
|
| Posted:
May 17, 2010 - 02:55 AM |
|
Funkcja mail zablokowana. Lokalny filtr antyspamowy zablokował. Docelowy filtr antyspamowy zablokował. Docelowy serwer odmówił przyjęcia maila. Reguły w programie pocztowym odbiorcy zadziałały. |
|
|
|
 |
|
|
|