Witam,
Chciałem zrobić prosty formularz na stronę, który by zarówno wymusił uzupełnienie wszystkich pól (znalazłem do tego skrypt js) oraz żeby ten formularz wysłany był bez programu pocztowego tylko bezpośrednio ze strony (znalazłem skrypt przy użyciu php). Nie wiem jak te dwa skrypty połączyć, żeby zadziałały. Wypełniłem je odpowiednio, podałem w php swój mail, miałem też pola formularza wypełnione, a całość chciałem połączyć wspólną linijką kodu:
<form action="?" method="post" enctype="text/plain" onsubmit="if (sprawdz(this)) return true; return false">
Nie zadziałało. Na stronie wykonuje mi tylko js. Jak wyrzuciłem js, i zamieściłem pierwotny skrypt php zadziałał poprawnie. Jak zastosować dwa skrypty na raz? Wklejam oba i proszę o pomoc.
PHP
<?php
if (count($_POST))
{
////////// USTAWIENIA //////////
$email = 'ja@gmail.com'; // 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
{
?>
<form action="?" method="post">
Tutaj umieść wszystkie pola formularza
</form>
<?php
}
?>
JS
<script type="text/javascript">
// <![CDATA[
function sprawdz(formularz)
{
for (i = 0; i < formularz.length; i++)
{
var pole = formularz.elements[i];
if (!pole.disabled && !pole.readonly && (pole.type == "text" || pole.type == "password" || pole.type == "textarea") && pole.value == "")
{
alert("Proszę wypełnić wszystkie pola!");
return false;
}
}
return true;
}
// ]]>
</script>
<form action="mailto:adres e-mail?subject=temat" method="post" enctype="text/plain" onsubmit="if (sprawdz(this)) return true; return false">
Tutaj umieść wszystkie pola formularza
</form>