Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Formularz bez programu pocztowego
Mefiuu
post
Post #1





Grupa: Zarejestrowani
Postów: 371
Pomógł: 18
Dołączył: 23.11.2008

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


Witam. Mam pytanie (jestem początkujący). Mam stronę w html'u. Zrobiłem sobie formularz i nie chciałem aby był wysyłany przez program pocztowy. Znalazłem taki skrypt na stronie
CODE
if (count($_POST))
{
////////// USTAWIENIA //////////
$email = 'adres e-mail gdzie wysłać formularz'; // Adres e-mail adresata
$subject = 'temat'; // 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
{
?>


Tutaj umieść wszystkie pola formularza


}
?>


Ale mam takie pytanie. Jak zrobić, aby po wysłaniu formularza nie wyświetlało napisu : "dziękujemy za wypełnienie formularza" tylko aby przeniosło na daną stronę? Np. na www.mojastrona.pl/dziękujemy.html ? Z góry dziękuję za pomoc.
Go to the top of the page
+Quote Post
than
post
Post #2





Grupa: Zarejestrowani
Postów: 32
Pomógł: 4
Dołączył: 22.01.2008

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


  1. <?php
  2. echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? header('Location: adres') : $error;
  3. ?>


Jeśli wcześniej wysłałeś już nagłówki (jakikolwiek kod html do przeglądarki) to zmienną message daj tak:

  1. <?php
  2. $message = ' <meta http-equiv=Refresh content="0, adres"> Dziękujemy za wysłanie formularza';    // Komunikat
  3. ?>


Meta jest 'troszkę' niezgodne ze standardami ale działa bardzo dobrze.

Edit:
Kurcze, mieszało mi forum w poście zamieniając html smile.gif

Ten post edytował than 23.12.2008, 20:50:55
Go to the top of the page
+Quote Post
Mefiuu
post
Post #3





Grupa: Zarejestrowani
Postów: 371
Pomógł: 18
Dołączył: 23.11.2008

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


Hmmm... Poczekaj bo ja tu mam taki odcinek :

CODE

<?phpi
f (count($_POST))
{
////////// USTAWIENIA //////////
$email = 'adres e-mail gdzie wysłać formularz'; // Adres e-mail adresata
$subject = 'temat'; // 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
//////////////////////////////


I zamiast tego początku "<?php" mam wstawić to co mówisz? To jest właśnie to że ja nie rozumiem nic... Mi chodzi o to, aby się ten komunikat nie wyświetlił wogóle ale żeby przeniosło na inną stronę użytkownika...
Go to the top of the page
+Quote Post
bobo168
post
Post #4





Grupa: Zarejestrowani
Postów: 201
Pomógł: 9
Dołączył: 23.08.2006

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


header" title="Zobacz w manualu PHP" target="_manual
Go to the top of the page
+Quote Post
than
post
Post #5





Grupa: Zarejestrowani
Postów: 32
Pomógł: 4
Dołączył: 22.01.2008

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


Masz zastąpić linijkę z funkcją mail() tym co podałem.
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 Aktualny czas: 20.08.2025 - 04:51