Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Formularz email
Forum PHP.pl > Forum > Przedszkole
michal13031986
Witam. Znalazłem pewien skrypt do wysyłania e-mail ze strony. Zamieściłem go na stronie skrypt działa, ale jak nie wypełni się jakiegoś pola kliknie wyślij to pojawia się:

Wypełnij wszystkie pola formularza!
Kliknij TUTAJ aby wrócić do formularza

Po kliknięciu w napis TUTAJ powraca do formularza ale wszystko trzeba od nowa wpisywać, dane kasują się. Co w kodzie trzeba dodać żeby nie kasowały się dane:

Tutaj jest ten skrypt:
CODE

<?php
// sprawdzamy, czy zmienna $submit jest pusta
if (empty($_POST['submit'])) {
// wyświetlamy formularz
echo "<table border=\"0\"><form method=\"post\">
<tr>
<td>Temat:</td>
<td><input type=\"text\" name=\"temat\" style=\"width: 250px\"></td>
</tr>
<tr>
<td>Twój Email:</td>
<td><input type=\"text\" name=\"email\" style=\"width: 250px\"></td>
</tr>
<tr>
<td>Wpisz tutaj swoje imię lub nick:</td>
<td><input type=\"text\" name=\"imie\" style=\"width: 250px\"></td>
</tr>
<tr>
<td>Wiadomość:</td>
<td><textarea name=\"tresc\" style=\"width: 250px; height: 100px\"></textarea></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type=\"submit\" name=\"submit\" value=\"Wyślij\">&nbsp;
<input type=\"reset\" value=\"Od nowa\"></td></form>
</tr>
</table>";
}
// sprawdzamy, czy zmienne przesłane z formularza nie są puste
elseif (!empty($_POST['temat']) && !empty($_POST['email']) && !empty($_POST['imie']) && !empty($_POST['tresc'])) {
// jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
// zmienna $message zawiera treść wiadomości
$message = "Temat: $_POST[temat]\ne-mail: $_POST[email]\nWysłał: $_POST[imie]\nWiadomość: $_POST[tresc]";
// zmienna $header zawiera przede wszystkim adres zwrotny
$header = "From: $_POST[imie] <$_POST[email]>";
// funkcja mail() za pomocą której wiadomość zostanie wysłana
@mail("tutaj wpisujemy e-mail","Wiadomość ze strony","$message","$header")
or die('Nie udało się wysłać wiadomości');
// wyświetlenie komunikatu w przypadku powodzenia
echo "<div align=\"center\">Wiadomośc została wysłana. Dziękujemy.<br />
Kliknij <a href=\"?st=glowna\">TUTAJ</a> aby przejść do strony głównej<br /></div>";
}
// lub w przypadku nie wypełnienia formularza do końca
else echo "<span style=\"color: #FF0000; text-align: center;\"><center>Wypełnij wszystkie pola formularza!</span><br />Kliknij <a href=\"?st=kontakt\">TUTAJ</a> aby wrócić do formularza</center><br />";

?>


Oraz czy jest możliwość że po wysłaniu e-mail za kilka sekund sam będzie powracać do strony
bemol
w inputach dodać:
  1. <?php
  2. value="'.$_POST['input_name'].'" // zamiast input name wpisz sobie wartość pola name tego inputa.
  3. ?>
pifarek
zamiast

Kod
?st=kontakt


Kod
<span id="post_1066472">javascript.history.back();</span>

?
michal13031986
mam prośbę wstaw to w kod skryptu i podaj gotowy skrypt
Wicepsik
Cytat(michal13031986 @ 5.07.2009, 20:17:35 ) *
mam prośbę wstaw to w kod skryptu i podaj gotowy skrypt

Sam to zrób
michal13031986
gdzie dokładniej mam to wkleić: value="'.$_POST['input_name'].'"
lolek92
W każdym inpucie np.:
  1. <?php
  2. echo '<input name="asd" value="'.$_POST['asd'].'" />'
  3. ?>


tylko żeby to zadziałało musisz usunąć pierwszy warunek, czyli:

if (empty($_POST['submit'])) {
kod furmularza
}

- pozostawić sam kod formularza, bo inaczej po kliknięciu w odnośnik ?st=kontakt nie będzie to działać (brak przekazania danych metodą POST czy nawet GET)
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.