Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]skrypt formularza na stronę www
anderson20
post 25.11.2008, 08:50:05
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 25.11.2008

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


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.

Ten post edytował anderson20 25.11.2008, 08:54:40
Go to the top of the page
+Quote Post
nitek
post 25.11.2008, 09:20:28
Post #2





Grupa: Zarejestrowani
Postów: 209
Pomógł: 37
Dołączył: 27.02.2008
Skąd: Kwidzyn

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


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

Ten post edytował nitek 25.11.2008, 09:24:54


--------------------
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 Wersja Lo-Fi Aktualny czas: 15.07.2025 - 16:48