Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]skrypt formularza na stronę www
Forum PHP.pl > Forum > Przedszkole
anderson20
To mój skrypt formularza:

Cytat
<script language="JavaScript">

<!-- Hide

function sprawdz(form) {
if (form.email.value == "")
{
alert("Podaj adres e-mail!");
return false;
}
else {
alert("Wiadomość została wysłana!");
return true;
}
}
// -->
</script>
<?php
if (!empty($_POST['tresc']) && !empty($_POST['email']))
{
$message = "Od: <{$_POST['email']}>\nTreść wiadomości:\n{$_POST['tresc']}";
$header = "Od: <{$_POST['email']}>";
mail("mojadres@o2.pl","Wiadomość ze strony www","$message","$header");
this.email.value == ""; <!--zerowanie by milion razy nie wysyłał-->
this.tresc.value == ""; <!--to samo-->
}
?>
<form action="?" method="post" enctype="text/plain" onsubmit="if (sprawdz(this)) return true; return false">
<b>Twój e-mail: </b><input type="text" name="email" size="40"><br /><br />
<b>TREŚĆ:</b><br />
<textarea name="tresc" cols="50" rows="15"></textarea><br /><br />
<input type="submit" value="Wyślij">
<input type="reset" value="Wymaż">
</form>
No i wyświetlają się komunikaty sprawdz(this) ale nie wysyła wiadomości! Nic nie przychodzi na maila. Strona ma odblokowaną funkcję mail, uprawnienia pliku skryptu są 755. No i mogę powiedzieć tyle, że działało mi, ale pod inna postacią kodu tylko, że jak sie odświeżało stronę to milion razy wysyłało wiadomość na maila no i wobec tego zacząłem przerabiać kod, przerabiałem i tamto co działało znikło i jestem załamany szczerze. Można prosic o pomoc.
nitek
pierwsza uwaga - jak w kodzie php możesz stosować kod js? I do tego html'owe komentarze winksmiley.jpg
Kod
this.email.value == "";  <!--zerowanie by milion razy nie wysyłał-->
                                      this.tresc.value == "";  <!--to samo-->


jak już, to nadaj nazwe formularzowi i odwołuj się do tego po ludzku.
Kod
echo "<script>document.nazwa_formularza.email.value ='';</script>";


w ogóle błędów jest sporo więcej. za każdym odświeżeniem strony próbujesz wysłać maila, a pewnie chciałbyś zrobić to po naciśnięciu przycisku 'wyślij'? sprawdzaj if($_POST['wyslij']) - oczywiście submitowi też nadaj name.. Do tego może czegoś nie wiem, ale co oznacza ? w action formularza? Jeśli strona ma się odnosić sama do siebie, to wystarczy że dasz action=''..
Ogólnie polecam poczytanie jakiegoś tutoriala do PHP i analizę jakiegoś gotowego przykładu formularza wysyłającego maile winksmiley.jpg
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.