Czy pomógłby mi ktoś wprowadzić
capcha do komentarzy. Pod spodem przesyłam mój plik coment.php
Jeśli jest potrzeba zapłacę za pomoc, za dobrą radę dziękuje. Pozdrawiam
function comm_form() {
global $PHP_SELF, $what, $id, $f_author, $f_mail;
$info = get_user_info();
if(is_user_login()=='yes') {
echo '<form name="comments" method="post" action="'.$PHP_SELF.'"> <table border="0" cellspacing="3" cellpadding="0" align="center">
<tr>
<td class="uni_01" valign="top"><div align="right"><b>pseudonim</b></div></td>
<td class="uni_01">';
if(is_user_login
()=='yes') echo '<b>'.$info[1].'<input type="hidden" name="imie" value="'.$info[1].'">'; else
echo '<input type="text" name="imie" size="30" value="'.$GLOBALS[f_author
].'">';
</tr>
<tr>
<td class="uni_01"z><div align="right"><b>e-mail</div></td>
<td class="uni_01">';
if(is_user_login
()=='yes') echo '<b>'.$info[2].'<input type="hidden" name="mail" value="'.$info[2].'">'; else
echo '<input type="text" name="mail" size="30" value="'.$GLOBALS[f_mail
].'">';
</tr>
<tr>
<td class="uni_01" valign="top"><div align="right"><b>treść</div></td>
<td class="uni_01">
<textarea name="text" rows="10" cols="45"></textarea>
</td>
</tr>
<tr>
<td align="right" class="uni_01"> </td>
<td class="uni_01">
<input style="font-weight: bold;" type="submit" name="ok" value="dopisz">
<input type="reset" name="Reset" value="wyczyść">
<input type="hidden" name="id" value="'.$id.'">
<input type="hidden" name="what" value="'.$what.'">
<input type="hidden" name="act" value="add">
</td>
</tr>
</table>
</center>
</form>
}
if(is_user_login()!='yes') {
echo '<center><span style="color: #3299CC;">Niestety, ale tylko zalogowani użytkownicy mogą dodawać komentarze...</span></center><br>';
}
}
# sprawdza poprawnosc podanych danych we formie
function check_comm() {
global $title, $text, $imie, $mail;
global $aa, $bb, $anty_f_tbl, $REMOTE_ADDR;
$a = 0;
if (spam_cenzor($text)) $a++;
if (spam_cenzor($title)) $a++;
if (spam_cenzor($imie)) $a++;
if($mail=='') {
$mail = 'anonim';
} else {
if (!ereg ("^.+@.+\..+$", $mail)) {
$a++;
$bb = "<br><br>Niepoprawny adres e-mail! Jeżeli nie chcesz go podać,
po prostu zostaw puste pole.";
}
}
if($a<>0) $aa = "Formularz wypełniony niepoprawnie. Musisz wypełnić
wszystkie pola oprócz e-mail! albo próbujesz coś zareklamować co nie zostanie dopisane !!!";
if($a == 0) {
$anty = 0;
$now = time();
$ok_time = time() + 60;
@mysql_query("DELETE FROM $anty_f_tbl WHERE what='komentarze' AND time < '$now'");
$antyflood = @mysql_query("SELECT * FROM $anty_f_tbl WHERE what='komentarze' AND ip='$REMOTE_ADDR'");
$flood = @mysql_num_rows($antyflood);
if($flood <> '0') {
$anty++;
} else {
@mysql_query("INSERT INTO $anty_f_tbl VALUES (NULL,'$REMOTE_ADDR', '$ok_time', 'komentarze', '$id');");
}
}
if($anty<>0) $aa = "Ochrona antyflood! Przed dodaniem kolejnego wpisu prosimy odczekac minute!";
$a = $a + $anty;
if($a==0) return 10;
}
function is_news() {
global $news_tbl, $art_tbl, $id, $what;
global $comm_tbl;
$id = (int)$id;
if($what=='news') $result = mysql_query("SELECT * FROM $news_tbl WHERE id='$id' AND stat <> 3");
if($what=='article') $result = mysql_query("SELECT * FROM $art_tbl WHERE id='$id'");
$r = mysql_num_rows($result);
echo mysql_error();
if($r>0) return 'yes'; else return 'no';
}
function xss_remove($text)
{
$text = str_replace ("/(<(.)script([^>]+)>|<img([^>]+)>|<(.)iframe([^>]+)>)/si", "", $text);
return $text;
}
?>