Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Каптча к комментариям
 
 автор: lex555   (21.04.2009 в 14:30)   письмо автору
 
 

У меня на сайте что б добавить комментарий стоит самая простенькая каптча.Я скачал новую каптчу http://seoutils.net/download/captcha090120.zip но вот соединить их не получаеться подскажите.


<table><tr>
        <td align='left' class='ind_ssilk'>
         <p>Добавить комментарий:</p>
         <form action="comment.php" method="post" name="form_com">
         <p><label>Ваше имя: </label><input name="author" type="text" size="28" maxlength="30"></p>
         <p width="30"><label>Текст комментария: <br> <textarea name="text" cols="30" rows="4"></textarea></label></p>
         <p>Введите сумму чисел с картинки<br><br><img src="img/sum.jpg"><input style='margin-bottom:12px;' name="pr" type="text" size="5" maxlength="5"></p>
         <input name="id" type="hidden" value="<? echo $id?>">
                  <p><input name="sub_com" type="submit" value="Комментировать"></p>
         </form>
         
<br><br><br><br>         <div>


</div>
        </td></tr></table>        


в comment.php

<?php  include ("blocks/db.php");
if (isset(
$_POST['author']))
{
$author $_POST['author'];}
if (isset(
$_POST['text']))
{
$text $_POST['text'];}
if (isset(
$_POST['pr']))
{
$pr $_POST['pr'];}
if (isset(
$_POST['sub_com']))
{
$sub_com $_POST['sub_com'];}
if (isset(
$_POST['id']))
{
$id $_POST['id'];}
if (isset(
$sub_com))
{if (isset(
$author)) {trim($author);   }
else {
$author "";}
if (isset(
$text)) {trim($text);   }
else {
$text "";}
if (empty(
$author) or empty($text))
{exit (
"<p>Вы ввели не всю информацию, вернитесь назад и заполните все поля. <br> <input name='back' type='button' value='Вернуться назад' onclick='javascript:self.back();'>");}
$author stripslashes($author);
$text stripslashes($text);
$author htmlspecialchars($author);
$text htmlspecialchars($text);
$result mysql_query ("SELECT sum FROM comments_setting",$db);
$myrow mysql_fetch_array($result);
if (
$pr == $myrow["sum"])
{
$date date("Y-m-d");
$time date("H:i:s");
$result2 mysql_query ("INSERT INTO comments (post,author,text,date,time)
VALUES ('
$id','$author','$text','$date','$time')",$db);
echo 
"<html><head>
<meta http-equiv='Refresh' content='0; URL=view_post.php?id=
$id'>
</head></html>"
;
exit();}
else {exit (
"<p>Вы ввели неверную сумму цифр с картинки на предыдущей странице. <br> <input name='back' type='button' value='Вернуться назад' onclick='javascript:self.back();'>");}}
?>

  Ответить  
 
 автор: Miha_Kregov   (21.04.2009 в 14:57)   письмо автору
 
   для: lex555   (21.04.2009 в 14:30)
 

А если так попробовать:

$result2 = mysql_query ("INSERT INTO comments (post,author,text,date,time)
VALUES ('".$id."','".$author."','".$text."','".$date."','".$time."')",$db);

  Ответить  
 
 автор: lex555   (21.04.2009 в 15:48)   письмо автору
 
   для: Miha_Kregov   (21.04.2009 в 14:57)
 

Неа все так же.По отдельности все работает а вот вместе че то никак.

  Ответить  
 
 автор: sim5   (21.04.2009 в 15:51)   письмо автору
 
   для: lex555   (21.04.2009 в 15:48)
 

У вас тут каптчей и близко не пахнет.

  Ответить  
 
 автор: lex555   (21.04.2009 в 16:07)   письмо автору
 
   для: sim5   (21.04.2009 в 15:51)
 

Так я написал, что я их скачал http://seoutils.net/download/captcha090120.zip

  Ответить  
 
 автор: sim5   (21.04.2009 в 16:21)   письмо автору
 
   для: lex555   (21.04.2009 в 16:07)
 

Ну каптча, это нечто динамическое, а у вас запрос к статической картинке. У вас на ней, что код на всю оставшуюся жизнь? Не знаю что вы там качали, но это не каптча, а бог знает что.

  Ответить  
 
 автор: lex555   (21.04.2009 в 16:39)   письмо автору
 
   для: sim5   (21.04.2009 в 16:21)
 

Выводиться картинка и поле для ввода цифр с этой картинки и если они совпадают то правильно если же нет тогда не правильно.Это разве не каптча!!!

  Ответить  
 
 автор: Trianon   (21.04.2009 в 16:45)   письмо автору
 
   для: lex555   (21.04.2009 в 16:39)
 

Не видно, что картинка формируется скриптом. Если таки скриптом - капча.
Но тогда неясно, почему Вы не приводите код этого скрипта.

  Ответить  
 
 автор: lex555   (21.04.2009 в 16:53)   письмо автору
 
   для: Trianon   (21.04.2009 в 16:45)
 

Я могу выложить код только он не будет работать т.к. что б он заработал нужно 2 файла test.php и captcha.php и папка fonts.

  Ответить  
 
 автор: sim5   (21.04.2009 в 16:47)   письмо автору
 
   для: lex555   (21.04.2009 в 16:39)
 

Кто у вас ее готовит, и почему это сумму ее необходимо в базу прятать? Что сумма намертво привязана к определенным комментариям?

  Ответить  
 
 автор: lex555   (21.04.2009 в 16:55)   письмо автору
 
   для: sim5   (21.04.2009 в 16:47)
 

Так я и хочу эту сумму заменить

  Ответить  
 
 автор: Trianon   (21.04.2009 в 16:59)   письмо автору
 
   для: lex555   (21.04.2009 в 16:55)
 

Так покажите, каким образом у Вас генерируется картинка.

>... <p>Введите сумму чисел с картинки<br>
>..else {exit ("<p>Вы ввели неверную сумму цифр с картинки на предыдущей странице.

Между прочим, всё ж таки сумма цифр или сумма чисел?

  Ответить  
 
 автор: lex555   (21.04.2009 в 17:06)   письмо автору
 
   для: Trianon   (21.04.2009 в 16:59)
 

Я хочу что б получилось примерно так:

<table align="center" width="100%" cellpadding="0" cellspacing="0">
  <tbody>

    <tr colspan="2" width="80%" height="24" valign="middle">
      <td style="padding-left: 0px; padding-right: 0px; text-indent: 0px; line-height: 22px;" align="left" bgcolor="#5d92d2" valign="middle"><div id="window_mlpwinid962367873">
        <div align="left">
<br>        <div align="center">
 <FORM name="form1" method="post" action="comment.php">
      <TABLE cellSpacing=1 cellPadding=3 width="85%" border=0>
        <TBODY>
        <TR>
          <TD align=right><B>Ваше имя:</B></TD>
          <TD><INPUT maxLength=30 name="nik"></TD></TR>

        <TR>
          <TD vAlign=top align=right><B>Комментарий:</B></TD>
          <TD><TEXTAREA name="text" rows=3 cols=30></TEXTAREA></TD></TR>
                <TR>
          <TD align=right><img src="captcha.php"><br></TD>
          <TD><INPUT maxLength=30 name="nik"></TD></TR>
        <TR>
          <TD align=center colSpan=2><INPUT title="Добавить комментарий" type=image alt=Добавить src="imeges/komment.gif"></TD>
        </TR>
                </TBODY>
    </TABLE>

    <input type="hidden" name="id" value="1155">
</FORM>
</div>


        </div>
      </div></td>
    </tr>
    <tr>
      <td colspan="2"></td>
    </tr>
  </tbody>
</table>

  Ответить  
 
 автор: Trianon   (21.04.2009 в 17:29)   письмо автору
 
   для: lex555   (21.04.2009 в 17:06)
 

сократите текст по этой ссылке.
Он не лезет в ширину окна.

Впрочем, ну его.

  Ответить  
 
 автор: sim5   (21.04.2009 в 17:07)   письмо автору
 
   для: lex555   (21.04.2009 в 16:55)
 

<br><img src="path/scriptname.php"> - где, path/scriptname.php путь и имя срипта генерирующего каптчу. А скрипт код (сумму) ее будет скорее всего хранить в сессионной переменной, вот от туда ее получайте и сравнивайте с приходящим.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования