Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] przekierowanie po komunikacie
kaljaam
post 4.08.2008, 12:36:37
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 4.08.2008

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


witam

mam mały problem.

otóż potrzebuję po wyświetleniu komunikatu z podziękowaniem za wypełnienie formularza przekierować automatycznie użytkowników do konkretnej strony. gdzie wstawić ten parametr?? header ("Location: http://www.xxx.pl/");

pozdrawiam


<?php
if (count($_POST))
{
////////// USTAWIENIA //////////
$email = [email=""]'xxx@xxx.pl'[/email]; // Adres e-mail adresata
$subject = 'Dane kontaktowe dotyczące pobrania specyfikacji przetargowej'; // Temat listu

$message = 'Dziękujemy za wysłanie formularza'; // Komunikat
$error = 'Wystąpił błąd podczas wysyłania formularza'; // Komunikat b__du

$charset = 'iso-8859-2'; // Strona kodowa
//////////////////////////////

$head =
"MIME-Version: 1.0\r\n" .
"Content-Type: text/plain; charset=$charset\r\n" .
"Content-Transfer-Encoding: 8bit";
$body = '';
foreach ($_POST as $name => $value)
{
if (is_array($value))
{
for ($i = 0; $i < count($value); $i++)
{
$body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
}
}
else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
}
echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
}


else
{

}


?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
Ar2r
post 4.08.2008, 12:56:17
Post #2





Grupa: Zarejestrowani
Postów: 140
Pomógł: 16
Dołączył: 12.06.2002
Skąd: Kielce

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


Do automatycznego przekierowania możesz na stronie z podziękowaniami użyć:
  1. <meta http-equiv="refresh" content="5;url=http://www.xxx.xx">
Go to the top of the page
+Quote Post
kaljaam
post 4.08.2008, 13:14:26
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 4.08.2008

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


Ale na serwerze takiej strony nie mam sad.gif

To jest tylko komunikat message.
Czy nie można ustawić inaczej przekierowania??

Nie musi być podziękowania - może być natychmiastowe przekierowanie. To przekierowanie jest dla mnie ważniejsze.

Ten post edytował kaljaam 4.08.2008, 13:21:43
Go to the top of the page
+Quote Post
Ar2r
post 4.08.2008, 13:25:18
Post #4





Grupa: Zarejestrowani
Postów: 140
Pomógł: 16
Dołączył: 12.06.2002
Skąd: Kielce

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


Najprościej jeśli nie chcesz tworzyć dodatkowej strony z podziękowaniami (i przekazywać do niej wartości zmiennej message) dodaj po wyświetleniu komunikatu skrypt JS
  1. function przekieruj()
  2. {
  3. window.location="http://www.xxx.pl";
  4. }
  5.  
  6. setTimeout('przekieruj()',10000);


W przypadku natyhmiastowego przekierowania bez komunikatu zastosuj wspomniany przez Ciebie header
Go to the top of the page
+Quote Post
kaljaam
post 4.08.2008, 13:29:44
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 4.08.2008

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


wlasnie o tego headera mi chodzi - ale ja nie wiem gdzie go wstawić, w które miejscie - bo nie działa mi to przekierowanie. Ponoc header nie działa, gdy używamy właśnie komunikatów w nagłówki, ale jak je wywaliłem i też mi nie działał nie wiem konkretnie, w które miejsce użyć headera.

Chodzi o to, że jak wypełnią formularz i wyślą mi swoje dane na pocztę, to mają mieć przekierowanie do strony z dokumentami.

Koniecznie muszę zrobić przekierowanie w tym kodzie co mam teraz... cala strona oparta jest o PHP Jportal.


Proszę o podanie, w które konkretnie miejsce wstawić komendę header, bo już probowałem na różne sposoby i albo jest ignorowana, albo wyskakuje błąd.
pzdr

Ten post edytował kaljaam 4.08.2008, 13:33:14
Go to the top of the page
+Quote Post
Ar2r
post 4.08.2008, 14:33:04
Post #6





Grupa: Zarejestrowani
Postów: 140
Pomógł: 16
Dołączył: 12.06.2002
Skąd: Kielce

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


Przed nagłówkiem nie można wysyłać tekstu na ekran.
Zmodyfikuj linie wysyłającą email:
  1. <?php
  2. if(mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head)) header("Location: xxxxxx");
  3. ?>


Ten post edytował Ar2r 4.08.2008, 14:35:42
Go to the top of the page
+Quote Post
kaljaam
post 4.08.2008, 19:45:06
Post #7





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 4.08.2008

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


Bardzo dziękuję.

Właśnie o to mi chodziło.

Pozdrawiam serdecznie
Go to the top of the page
+Quote Post
-gox-
post 4.08.2008, 19:57:23
Post #8





Goście







po co javascript? zeby nie zadzialalo jak ktos ma wylaczony?

header("refresh: 5; url=lala.php");
Go to the top of the page
+Quote Post
kaljaam
post 5.08.2008, 11:10:59
Post #9





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 4.08.2008

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


Jak już pisałem ten header jest już w porządku i działa bez problemu.
Jeżeli to możliwe w tym kodzie, który mam proszę o podanie komendy, która umożliwi mi zablokowanie wszystkich komórek w taki sposób, aby musieli wpisywać chociażby głupoty. Ważne żeby je wypełnili, żeby przycisk nie działał do póki nie wypełnią pól.

Chodzi o to, że cwaniaczki klikają na to i wysyłają mi puste maile, a ja musze mieć wykaz osób nawet jeżeli ten wykaz będzie fałszywy. Związane jest to z wymogami UE dotyczącymi przetargu finansowanego przez UE. Pomimo, że to idiotyzm i każdy może wpisać fałszywe dane to jednak konieczne jest, aby cokolwiek tam było wpisane, żeby się do mnie nie czepiali. Proszę o pomoc.
Go to the top of the page
+Quote Post
Kicok
post 5.08.2008, 11:30:42
Post #10





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


  1. <?php
  2.  
  3. if( empty( $_POST['pole1'] ) || empty( $_POST['pole2'] ) || empty( $_POST['pole3'] ) /* ... */ )
  4. {
  5. echo 'Nie wypełniłeś(aś) wszystkich pól.';
  6. }
  7. else
  8. {
  9. // procedura słania maila
  10. }
  11.  
  12. ?>




[EDIT]
Cytat
Przekopiuj mój kod i wklej od razu w konkretne miejsce proszę sad.gif...

Chyba śnisz ;]

Ten post edytował Kicok 5.08.2008, 11:40:04


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
kaljaam
post 5.08.2008, 11:37:51
Post #11





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 4.08.2008

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


szkoda sad.gif

Bo nie do końca wiem jak to ma być wklejona ważniejsze jest dla mnei przekierowanie , a boje się, że je rozwalę.

Ten post edytował kaljaam 5.08.2008, 11:49:32
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 20:47