проверка преди submit

val4o0o0

Registered
Код:
if(empty($contact_name) || empty($contact_email) || empty($contact_subject) || empty($contact_message)) { 
echo '<p>Използвайте тази контактна форма за да се свържете с нас или skype: <b><a href="skype:wow.multimedia?chat">wow.multimedia</a></b> !</p> 
<form method="post" action=""> 
<table id="Form-Details"> 
<tbody> 
<tr><td>Вашето име:<br /> </td><td><input type="text" name="FullName" size="20" /></td></tr>
<tr><td>Вашият е-mail:<br /> </td><td colspan="3"><input type="text" name="EmailAddress" size="20" /></td></tr>
<tr><td>Тема:</td><td><input type="text" name="Subject" size="20" /></td></tr> 
<tr><td colspan="4">Съобщение:</td></tr> 
<tr><td colspan="4"><textarea rows="6" name="Message" cols="47" class="input"></textarea></td></tr> 
<tr><td>Колко е 4+3 ? (Анти-спам): </td><td><input type="text" name="bot" /></td></tr>
<tr><td colspan="4" class="right1"><input type="submit" name="submit" value="Изпрати" /><input type="reset" value="Изчисти" /></td></tr> 
</tbody> 
</table> 
</form>'; 
} elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $contact_email)) { 
echo "<p>Грешка: Моля въведете валиден e-mail.</p>"; 
} else { 
mail( $to, $subject, $message, $headers ); 
echo "<h3>Съобщението беше успешно изпратено!</h3><p> $contact_name,<br /><br />Възможно най - скоро ще отговорим на вашето съобщение на e-mail $contact_email."; 
} 

if($_POST['bot'] != 7);
Успешно си бях направил проверка за антиботове на една чат форма, обаче на контакт формата нестава, със същата проверка пробвах, но не стана и с няколко други виждате има дефинирано поле "bot" и отдолу съм написал отговора на въпроса: if($_POST['bot'] != 7); , но проверката е проблема, някои може ли да я добави ?
 
Просто правиш една проверка
Код:
<?php
if(isset($_POST['submit'])){
//останалите проверки+изпълняване на скрипта
}
else{
//формата
}
?>
Ако правилно съм те разбрал това ти трябва.
 
Код:
<?php 
// declare values 
$contact_email = $_POST['EmailAddress']; 
$contact_subject = $_POST['Subject']; 
$contact_name = $_POST['FullName']; 
$contact_message = $_POST['Message']; 
$mydate = date ( 'l, F d Y g:i A',time()+240 ); 
// where to send e-mail to 
$to = 'wow.multimedia@abv.bg'; //тук въведете вашия e-mail (на който искате потребителите да изпращате e-mail) 
// e-mail subject 
$subject = "Съобщение от потребител на wow-multimedia"; //тук на мястото на domain въведете името (не url-a) на вашия сайт 
// e-mail message 
$message = "Съобщение от потребител на wow-multimedia:\r\n" //тук на мястото на domain отново въведете името (не url-a) на вашия сайт 

."----------------------------------------------------------------\r\n" 
."Име: $contact_name\r\n" 
."Тема: $contact_subject\r\n" 
."Дата: $mydate\r\n" 
."От IP: {$_SERVER['REMOTE_ADDR']}\r\n\r\n" 
."<b>Съобщение:</b> $contact_message\r\n" 
."Form Address: {$_SERVER['SERVER_NAME']}{$_SERVER['REQUEST_URI']}"; 

$headers = "From: $contact_name <$contact_email>\n" 
."Reply-To: $contact_email\n" 
."Content-Type: text/html; charset=utf-8\n" 
."X-Mailer: PHP/".phpversion();

// check for validation, then send the e-mail 
if(empty($contact_name) || empty($contact_email) || empty($contact_subject) || empty($contact_message)) { 
echo '<p>Използвайте тази контактна форма за да се свържете с нас или skype: <b><a href="skype:wow.multimedia?chat">wow.multimedia</a></b> !</p> 
<form method="post" action=""> 
<table id="Form-Details"> 
<tbody> 
<tr><td>Вашето име:<br /> </td><td><input type="text" name="FullName" size="20" /></td></tr>
<tr><td>Вашият е-mail:<br /> </td><td colspan="3"><input type="text" name="EmailAddress" size="20" /></td></tr>
<tr><td>Тема:</td><td><input type="text" name="Subject" size="20" /></td></tr> 
<tr><td colspan="4">Съобщение:</td></tr> 
<tr><td colspan="4"><textarea rows="6" name="Message" cols="47" class="input"></textarea></td></tr> 
<tr><td>Колко е 4+3 ? (Анти-спам): </td><td><input type="text" name="bot" /></td></tr>
<tr><td colspan="4" class="right1"><input type="submit" name="submit" value="Изпрати" /></td></tr> 
</tbody> 
</table> 
</form>'; 
} elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $contact_email)) { 
echo "<p>Грешка: Моля въведете валиден e-mail.</p>"; 
} else { 
mail( $to, $subject, $message, $headers ); 
echo "<h3>Съобщението беше успешно изпратено!</h3><p> $contact_name,<br /><br />Възможно най - скоро ще отговорим на вашето съобщение на e-mail $contact_email."; 
} 

if($_POST['bot'] != 7); 
?>

проверка правех, като слагах след if($_POST['bot'] != 7);

if (!empty($_POST["bot"])) $bot = htmlspecialchars($_POST["bot"]);
else $errMsg = "<font color=\"#ff4c00\">Моля въведете антибот въпроса!</font><br />";
if (empty($errMsg)) ;

но, не става..
 
След като си започнал с
Код:
if($_POST['bot'] != 7);
...
Код:
if($_POST['bot'] != 7) {
echo "Отговорът е грешен.";
} else {
//изпълнението на скрипта
}
 

Back
Горе