Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Formularz E-mail w php
Forum PHP.pl > Forum > Przedszkole
szybki9002
Witam, na języku php nie znam się prawie wogóle stąd moje możebanalne pytanie:
Posiadam na swojej stronie formularz kontaktowy w php
<?php
if (count($_POST
))
{
////////// USTAWIENIA //////////
$email = 'jakisadres@gmail.com';
// Adres e-mail adresata
$subject = 'Kontaktowy';
// 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
{
?>
<form action="?" method="post">
.
.Pozostała tresc
.
.
.
<?php
}
?>



Moje pytania: Co zrobic aby zamiast komunikatu: "$message = 'Dziękujemy za wysłanie formularza';" wyswietlała się wybrana przezemnie podstrona

Wiadomości z tego formularza nie mają polskich liter co może byc tego przyczyną?

Z góry dziękuje za odpowiedz.
Pozdrawiam
Bobek1910
CODE
$charset = 'iso-8859-2'; // Strona kodowa


zmień to na 

CODE
$charset = 'UTF-8'; // Strona kodowa


a co do pierwszego pytania nie jestem pewien...
szybki9002
dzięki za rozwiązanie jednego problemu, prosiłbym bardzo o pomoc przy tym pierwszym pytaniu...
Bobek1910
spróbuj może zrobić
  1. <?php
  2. $message = header("Location: wybrana_strona.php");
  3. ?>

Ale nie jestem na 100% pewien
szybki9002
niestety nie działa wyskakuje błąd 404 - nieznaleziono pliku
Bobek1910
Ale w miejsce "wybrana_strona.php" wpisujesz stronę, która ma się wyświetlić po wysłaniu wiadomości smile.gif
szybki9002
hehehe wiem, zmieniłem smile.gif wpisałem normalną ścieżke i próbowałem z protokołem http://... ale nie działa, formularz ani nie wysyła wiadomości ani nie wyświetla się ta podstrona
Fishu
Nie wiem czy o to chodzi, ale inny plik można wczytać za pomocą include("plik.php");
czyli:
  1. <?php
  2. $plik = "plik.php";
  3. [...]
  4. echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? include($plik) : $error;
  5. ?>
szybki9002
Ten sam błąd... ale może robię gdzieś błąd... oto kod:

<?php
if (count($_POST))
{
////////// USTAWIENIA //////////
$email = [email=""]'killerss10@gmail.com'[/email]; // Adres e-mail adresata
$subject = 'Kontaktowy'; // Temat listu
$plik = "dziekujemy.php"; // 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) ? include($plik) :$error;
}
else
{
?>
erix
  1. <?php
  2. $message = file_get_contents("wybrana_strona.php");
  3. ?>

A jeśli przeparsowana, to podaj po prostu URL.
TheaSiX
ja zawsze używam HTML'a do tego
  1. <meta http-equiv="refresh" content="czas_po_jakim_ma_nastąpić_przekierowanie;URL=adres_twojej_strony_na_którą_m
    a_Cię
  2. przenieść">
szybki9002
niestety nic nie działa...;/ może ktos zna jakiś inny skrypt ktory wywyła e-mail ze strony www? podobny do tego tylko że po wysłaniu wyświtla daną podstrone a nie komunikat tylko.

erix - DZIĘKI WIELKIE Twój sposób jednak działa:)
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.