Форма за обратна връзка

mar56

Registered
Здравейте,

Изключително зле съм с програмирането, така, че ще помоля за малко помощ. Какво трябва да добавя на този код за да проверява дали са пълни полетата и по възможност картинка с код заради спамовете

Това е формата в страницата
<form action="contactscript.php" method="POST">
<table width="500" border="0" align="center" cellspacing="3" cellpadding="3">
<tr>
<td width="140">
Тема:
</td>
<td>
<input type="text" name="zaglavie" size="35" />
</td>
</tr>
<tr>
<td width="140">
Email за контакт:
</td>
<td>
<input type="text" name="email" size="35" />
</td>
</tr>
<tr>
<td width="140" valign="top">
Вашето съобщение:
</td>
<td>
<textarea name="saobshtenie" cols="35" rows="6">
</textarea>
<br />
<input type="submit" value="Изпрати" />
</td>
</tr>
</table>
</form>


А това е кода след като бъде изпратено съобщението:
<?php

$email_na_podatel = $_POST["email"];
$zaglavie_na_saobshtenie = $_POST["zaglavie"];
$saobshtenie = $_POST["saobshtenie"];
$ot_kogo = "From: $email_na_podatel";

mail("marchovski@bg-dograma.com", $zaglavie_na_saobshtenie, $saobshtenie, $ot_kogo);

?>
 
<form action="contactscript.php" method="POST">
<table width="500" border="0" align="center" cellspacing="3" cellpadding="3">
<tr>
<td width="140">
Тема:
</td>
<td>
<input type="text" name="zaglavie" size="35" />
</td>
</tr>
<tr>
<td width="140">
Email за контакт:
</td>
<td>
<input type="text" name="email" size="35" />
</td>
</tr>
<tr>
<td width="140">
Напишете nobot в полето
</td>
<td>
<input type="text" name="bot" size="35" />
</td>
</tr>
<tr>
<td width="140" valign="top">
Вашето съобщение:
</td>
<td>
<textarea name="saobshtenie" cols="35" rows="6">
</textarea>
<br />
<input type="submit" value="Изпрати" />
</td>
</tr>
</table>
</form>

<?php

$email_na_podatel = $_POST["email"];
$zaglavie_na_saobshtenie = $_POST["zaglavie"];
$saobshtenie = $_POST["saobshtenie"];
$ot_kogo = "From: $email_na_podatel";
$bot = $_POST["bot"];

if(empty($email_na_podatel) or empty($zaglavie_na_saobshtenie) or empty($saobshtenie) or empty($ot_kogo)) or ($bot!="nobot") {
echo "Попълнете полетата правилно!"; } else {
mail("marchovski@bg-dograma.com", $zaglavie_na_saobshtenie, $saobshtenie, $ot_kogo); }

?>
 
Код:
 <?php

$email_na_podatel = $_POST["email"];
$zaglavie_na_saobshtenie = $_POST["zaglavie"];
$saobshtenie = $_POST["saobshtenie"];
$ot_kogo = "From: $email_na_podatel";
$bot = $_POST["bot"];

if(empty($email_na_podatel) or empty($zaglavie_na_saobshtenie) or empty($saobshtenie) or empty($ot_kogo) or ($bot != "nobot")) {
echo "Попълнете полетата правилно!"; } else {
mail("marchovski@bg-dograma.com", $zaglavie_na_saobshtenie, $saobshtenie, $ot_kogo); 
}

?>
 
Може би ставам нахален, но въпреки всичко може ли вместо да излиза съобщението да извежда извежда html страница и как трябва да стане

$zaglavie_na_saobshtenie = $_POST["zaglavie"];
$saobshtenie = $_POST["saobshtenie"];
$ot_kogo = "From: $email_na_podatel";
$bot = $_POST["bot"];

if(empty($email_na_podatel) or empty($zaglavie_na_saobshtenie) or empty($saobshtenie) or empty($ot_kogo) or ($bot != "dograma")) {
echo "Попълнете полетата правилно!"; } else {
mail("marchovski@bg-dograma.com", $zaglavie_na_saobshtenie, $saobshtenie, $ot_kogo);
}

?>
 
mar56 каза:
Parse error: syntax error, unexpected T_LOGICAL_OR in /home/bgdogram/public_html/contactscript.php on line 9
Добави след ($bot!="nobot") една скоба, теост ($bot!="nobot")) и махни скобата след послетното empty
Едит: сега видях, че алексчо го е направи. А да извежда хтмл страница - да пренасочва към нея или..? Ако е с пренасочване ще е така:

$zaglavie_na_saobshtenie = $_POST["zaglavie"];
$saobshtenie = $_POST["saobshtenie"];
$ot_kogo = "From: $email_na_podatel";
$bot = $_POST["bot"];

if(empty($email_na_podatel) or empty($zaglavie_na_saobshtenie) or empty($saobshtenie) or empty($ot_kogo) or ($bot != "dograma")) {
Header( "Location: http://site.com/error.html") ; } else {
mail("marchovski@bg-dograma.com", $zaglavie_na_saobshtenie, $saobshtenie, $ot_kogo);
}

?>
Твоят линк към html страница. Дано съм те разбрал.
 
Аз нещо не съм се изразил както трябва

Значи - ако всичко е ОК препраща към някаква страница и съответно ако не е към друга. Това всъщност искам да дооправя
 
$zaglavie_na_saobshtenie = $_POST["zaglavie"];
$saobshtenie = $_POST["saobshtenie"];
$ot_kogo = "From: $email_na_podatel";
$bot = $_POST["bot"];

if(empty($email_na_podatel) or empty($zaglavie_na_saobshtenie) or empty($saobshtenie) or empty($ot_kogo) or ($bot != "dograma")) {
Header( "Location: http://site.com/error.html"); } else {
mail("marchovski@bg-dograma.com", $zaglavie_na_saobshtenie, $saobshtenie, $ot_kogo);
Header( "Location: http://site.com/success.html");
}

?>
Червено - страницата при грешка.
Зелено - страницата при успех.
 

Горе