09-04-2010, 22:01
Kod:
<html>
<body><?php
if(empty($_POST['submit'])){
?>
<table class="kontakt">
<form method="post">
<tr><td>Nick:</td>
<td><input type="text" name="nick" style="width:300px;background-color: black; color: white"/></td>
</tr><tr>
<td>Temat:</td>
<td><input type="text" name="topic" style="width:300px;background-color: black; color: white"/></td>
</tr><tr>
<td>E-Mail:</td>
<td><input type="text" name="email" style="width:300px;background-color: black; color: white"/></td>
</tr><tr>
<td>Treść wiadomości:</td>
<td><textarea name="trescwiadomosci" style="height:150px;width:300px;background-color: black; color: white"></textarea></td>
</tr><tr>
<td> </td>
<td><input class="login" type="submit" name="submit" value="Wyślij"/></td>
</form></tr>
</table>
<?php
}elseif(!empty($_POST['nick']) && !empty($_POST['topic']) && !empty($_POST['email']) && !empty($_POST['trescwiadomosci'])){
/* Funkcja sprawdzająca poprawność E-Maila */
function SprawdzEmail($email) {
if (!eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$" , $email)){
return false;
}
return true;
}
if(SprawdzEmail($_POST['email'])){
/* Tworzymy szkielet wysyłanej wiadomości */
$adresemail="[email protected]";
$ip=$_SERVER['REMOTE_ADDR'];
$host=gethostbyaddr($_SERVER['REMOTE_ADDR']);
$wiadomosc="Od: $_POST[nick] ($_POST[email])\nIP: $ip, HOST: $host\n($_POST[topic])\n\n$_POST[trescwiadomosci]";
$nadawca="From: $_POST[email]";
@mail($adresemail, "Formularz kontaktowy", "$wiadomosc", "$nadawca") or die('Formularz nie został wysłany');
echo "Dziękujemy, formularz został wysłany.";
}else{ echo "<font color=\"red\">Wprowadzony adres E-Mail jest niepoprawny"; }
}else{ echo "<font color=\"red\">Wypełnij wszystkie pola formularza"; }
?>
</body>
</html>
Tak wyglada moj skrypt formularza kontaktowego, chcialem sie dowiedziec jak zrobic zeby ewentualny blad pojawial sie natej samej stronie na ktorej jest formularz a nie zeby strona po przeladowaniu dopiero pokazywala ewentualny blad. Z gory dzieki