Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Formularz bez programu pocztowego
Forum PHP.pl > Forum > Przedszkole
Mefiuu
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.
than
  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
Mefiuu
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...
than
Masz zastąpić linijkę z funkcją mail() tym co podałem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.