Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: капча
Форумы портала PHP.SU » » Вопросы новичков » капча

Страниц (1): [1]
 

1. Pipka - 18 Октября, 2011 - 12:36:24 - перейти к сообщению
Привет всем такая проблема почему то не закидывает в базу данных данные из за капчи даже не пишет правильно ввёл или нет вот код


PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. include_once("conn.php");
  4. include_once("funcbib.php");
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11. // Проверка форм =)
  12.  
  13.  
  14. if (isset($_POST['submit']))
  15. {
  16. if(empty($_POST['login']))
  17. {
  18. echo 'Вы не ввели логин';
  19. }
  20. elseif(empty($_POST['password']))
  21. {
  22. echo 'Вы не ввели пароль';
  23. }
  24. elseif(empty($_POST['password2']))
  25. {
  26. echo 'Вы не ввели подтверждение пароля';
  27. }
  28. elseif($_POST['password'] != $_POST['password2'])
  29. {
  30. echo 'Введенные пароли не совпадают';
  31. }
  32. elseif(empty($_POST['email']))
  33. {
  34. echo 'Вы не ввели E-mail';
  35. }
  36. else
  37. {
  38. $login = clearData($_POST['login']);
  39. $password = clearData($_POST['password']);
  40. $password2 = clearData($_POST['password2']);
  41. $icq = clearData($_POST['icq']);
  42. $email = clearData($_POST['email']);
  43. $name = clearData($_POST['name']);
  44. $famili = clearData($_POST['famili']);
  45. $otche = clearData($_POST['otche']);
  46. $city = clearData($_POST['city']);
  47.  
  48. $query = "SELECT `id` FROM `users` WHERE `login`='{$login}' OR `email`='{$email}'
  49. ";
  50. $sql = mysql_query($query) or die(mysql_error());
  51. if (mysql_num_rows($sql) > 0)
  52. {
  53. echo 'Такой логин или почта уже существует';
  54.  
  55. }
  56.  
  57. else
  58. {
  59. // капча
  60. $result = "";
  61. if ($_SERVER["REQUEST_METHOD"] == "POST")
  62. {
  63.         if ($_SESSION["randStr"])
  64.         {
  65.                 $randStr = $_POST["str"];
  66.                 if ($randStr == $_SESSION["randStr"])
  67.                 {
  68.  
  69.  
  70. $query = "INSERT INTO users(login , pass , icq , email , city , name , famili , otche)
  71. VALUES ('$login', '$password', '$icq', '$email', '$city', '$name', '$famili', '$otche')";
  72. $result = mysql_query($query) or die(mysql_error());
  73. echo 'Регистрация успешно прошла';
  74. echo '<meta http-equiv="refresh" content="3; URL=index.php">';
  75.  
  76. }
  77.                 else
  78.                 {
  79.                         $result = "Не верный код ";
  80.                 }
  81.         }
  82. ////////////////////////////////////////
  83. }
  84.  
  85. }
  86. }
  87. }
  88. ?>
  89.  
  90.  
  91. <table border="1">
  92. <form action="reg.php" method="POST">
  93. <tr>
  94. <td>Логин</td>
  95. <td><input type="text" name="login" ></td>
  96. </tr>
  97. <tr>
  98. <td>Пароль</td>
  99. <td><input type="password" name="password" ></td>
  100. </tr>
  101. <tr>
  102. <td>Повторите пароль</td>
  103. <td><input type="password" name="password2"></td>
  104. </tr>
  105. <tr>
  106. <td>Email</td>
  107. <td><input type="text" name="email"></td>
  108. </tr>
  109. <tr>
  110. <td>icq</td>
  111. <td><input type="text" name="icq"></td>
  112. </tr>
  113. <tr>
  114. <td>Имя</td>
  115. <td><input type="text" name="name"></td>
  116. </tr>
  117. <tr>
  118. <td>Фамилия</td>
  119. <td><input type="text" name="famili"></td>
  120. </tr>
  121. <tr>
  122. <td>Отчество</td>
  123. <td><input type="text" name="otche"></td>
  124. </tr>
  125. <tr>
  126. <tr>
  127. <td>Город</td>
  128. <td><input type="text" name="city"></td>
  129. </tr>
  130. <tr>
  131. <td>Введите строку</td>
  132. <td>    <div>
  133.                 <img src="noise-picture.php">
  134.         </div>
  135.         <div>
  136.                 <input type="text" name="str" size="6">
  137.         </div>
  138.     <?PHP if ($result) echo "<div>", $result, "</div>"?>
  139.     </td>
  140. </tr>
  141. <td colspan="2"><input type="submit" value="OK" name="submit" ></td>
  142. </tr>  
  143. </form>
  144.  
  145. </table>
2. illy - 18 Октября, 2011 - 13:23:58 - перейти к сообщению
<?PHP if ($result) echo "<div>$result</div>"; ?>
3. Pipka - 18 Октября, 2011 - 15:31:02 - перейти к сообщению
мальца исправил но теперь если я ввожу правильно цифры то он пишет не правильный код а если не правильно ввожу вот такая ошибка

Incorrect integer value: '' for column 'icq' at row 1



PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include_once("conn.php");
  3. include_once("funcbib.php");
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10. // Проверка форм =)
  11.  
  12.  
  13. if (isset($_POST['submit']))
  14. {
  15. if(empty($_POST['login']))
  16. {
  17. echo 'Вы не ввели логин';
  18. }
  19. elseif(empty($_POST['password']))
  20. {
  21. echo 'Вы не ввели пароль';
  22. }
  23. elseif(empty($_POST['password2']))
  24. {
  25. echo 'Вы не ввели подтверждение пароля';
  26. }
  27. elseif($_POST['password'] != $_POST['password2'])
  28. {
  29. echo 'Введенные пароли не совпадают';
  30. }
  31. elseif(empty($_POST['email']))
  32. {
  33. echo 'Вы не ввели E-mail';
  34. }
  35. else
  36. {
  37. $login = clearData($_POST['login']);
  38. $password = clearData($_POST['password']);
  39. $password2 = clearData($_POST['password2']);
  40. $icq = clearData($_POST['icq']);
  41. $email = clearData($_POST['email']);
  42. $name = clearData($_POST['name']);
  43. $famili = clearData($_POST['famili']);
  44. $otche = clearData($_POST['otche']);
  45. $city = clearData($_POST['city']);
  46.  
  47. $query = "SELECT `id` FROM `users` WHERE `login`='{$login}' OR `email`='{$email}'
  48. ";
  49. $sql = mysql_query($query) or die(mysql_error());
  50. if (mysql_num_rows($sql) > 0)
  51. {
  52. echo 'Такой логин или почта уже существует';
  53.  
  54. }
  55.  
  56. else
  57. {
  58. // капча
  59.  
  60. if ($_SERVER["REQUEST_METHOD"] == "POST")
  61. {
  62.         $randStr = $_POST["str"];
  63.              if ($randStr == $_SESSION["randStr"])
  64.                 {
  65.  
  66.  
  67. $query = "INSERT INTO users(login , pass , icq , email , city , name , famili , otche)
  68. VALUES ('$login', '$password', '$icq', '$email', '$city', '$name', '$famili', '$otche')";
  69. $result = mysql_query($query) or die(mysql_error());
  70. echo 'Регистрация успешно прошла';
  71. echo '<meta http-equiv="refresh" content="3; URL=index.php">';
  72.  
  73. }
  74.                 else
  75.                 {
  76.                         echo  "Не верный код ";
  77.                 }
  78.        
  79. ////////////////////////////////////////
  80. }
  81.  
  82. }
  83. }
  84. }
  85. ?>
  86.  
  87.  
  88. <table border="1">
  89. <form action="reg.php" method="POST">
  90. <tr>
  91. <td>Логин</td>
  92. <td><input type="text" name="login" ></td>
  93. </tr>
  94. <tr>
  95. <td>Пароль</td>
  96. <td><input type="password" name="password" ></td>
  97. </tr>
  98. <tr>
  99. <td>Повторите пароль</td>
  100. <td><input type="password" name="password2"></td>
  101. </tr>
  102. <tr>
  103. <td>Email</td>
  104. <td><input type="text" name="email"></td>
  105. </tr>
  106. <tr>
  107. <td>icq</td>
  108. <td><input type="text" name="icq"></td>
  109. </tr>
  110. <tr>
  111. <td>Имя</td>
  112. <td><input type="text" name="name"></td>
  113. </tr>
  114. <tr>
  115. <td>Фамилия</td>
  116. <td><input type="text" name="famili"></td>
  117. </tr>
  118. <tr>
  119. <td>Отчество</td>
  120. <td><input type="text" name="otche"></td>
  121. </tr>
  122. <tr>
  123. <tr>
  124. <td>Город</td>
  125. <td><input type="text" name="city"></td>
  126. </tr>
  127. <tr>
  128. <td>Введите строку</td>
  129. <td>    <div>
  130.                 <img src="noise-picture.php">
  131.         </div>
  132.         <div>
  133.                 <input type="text" name="str" size="6">
  134.         </div>
  135.    
  136.     </td>
  137. </tr>
  138. <td colspan="2"><input type="submit" value="OK" name="submit" ></td>
  139. </tr>  
  140. </form>
  141.  
  142. </table>
4. illy - 18 Октября, 2011 - 15:34:59 - перейти к сообщению
в ICQ цифры вводишь? посмтори в базе параметры ячейки icq
5. Pipka - 18 Октября, 2011 - 15:36:37 - перейти к сообщению
там INT
(Добавление)
да цифры
6. illy - 18 Октября, 2011 - 15:41:26 - перейти к сообщению
а ты попробуй зайди базу и так добавь данные через "Вставка"
7. Pipka - 18 Октября, 2011 - 15:43:01 - перейти к сообщению
дык нет дело в то что он как бы без капчи добавляет всё нормально я её влепил и понеслась я вроде условие правильно написал а делает он на оборот
8. Pipka - 18 Октября, 2011 - 19:36:58 - перейти к сообщению
ну что кто нить видит проблему
9. illy - 18 Октября, 2011 - 20:54:30 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $randStr = $_POST["str"];
  2.              if ($randStr == $_SESSION["randStr"])
  3.                 {

PHP:
скопировать код в буфер обмена
  1. $randStr = $_POST["str"];
  2. echo $randStr.'<br>'.$_SESSION["randStr"];
  3.              if ($randStr == $_SESSION["randStr"])
  4.                 {
10. Pipka - 18 Октября, 2011 - 21:01:44 - перейти к сообщению
и что это) он тупо мне выдаёт то что я ввёл в капчу а не регестрирует
(Добавление)
меня больше убивает что это за ошибка????
Incorrect integer value: '' for column 'icq' at row 1

это если я ваще не ввожу данные для проверки в капче =)
11. illy - 18 Октября, 2011 - 21:17:22 - перейти к сообщению
echo $randStr.'<br>'.$_SESSION["randStr"];
выводит только капчу введённую, а сессионную нет?
12. Pipka - 18 Октября, 2011 - 21:18:29 - перейти к сообщению
да
13. illy - 18 Октября, 2011 - 21:23:38 - перейти к сообщению
VALUES ('$login', '$password', '$icq',
VALUES ('$login', '$password',$icq,
так как icq число то кавычки не нужны
(Добавление)
ещё может в icq поле стоит NOT NULL хотя...
14. Pipka - 18 Октября, 2011 - 21:25:59 - перейти к сообщению
ну так он без капчи всё добавляет если убрать код причём тут это)
(Добавление)
аааааааа жесть теперь такая штука если я ввожу правильно символы то он пишет не правильный код а если не ввожу ваще то он добавляет и регистрирует типо всё успешно







PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include_once("conn.php");
  3. include_once("funcbib.php");
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10. // Проверка форм =)
  11.  
  12.  
  13. if (isset($_POST['submit']))
  14. {
  15. if(empty($_POST['login']))
  16. {
  17. echo 'Вы не ввели логин';
  18. }
  19. elseif(empty($_POST['password']))
  20. {
  21. echo 'Вы не ввели пароль';
  22. }
  23. elseif(empty($_POST['password2']))
  24. {
  25. echo 'Вы не ввели подтверждение пароля';
  26. }
  27. elseif($_POST['password'] != $_POST['password2'])
  28. {
  29. echo 'Введенные пароли не совпадают';
  30. }
  31. elseif(empty($_POST['email']))
  32. {
  33. echo 'Вы не ввели E-mail';
  34. }
  35. else
  36. {
  37. $login = clearData($_POST['login']);
  38. $password = clearData($_POST['password']);
  39. $password2 = clearData($_POST['password2']);
  40. $icq = clearData($_POST['icq']);
  41. $email = clearData($_POST['email']);
  42. $name = clearData($_POST['name']);
  43. $famili = clearData($_POST['famili']);
  44. $otche = clearData($_POST['otche']);
  45. $city = clearData($_POST['city']);
  46.  
  47. $query = "SELECT `id` FROM `users` WHERE `login`='{$login}' OR `email`='{$email}'
  48. ";
  49. $sql = mysql_query($query) or die(mysql_error());
  50. if (mysql_num_rows($sql) > 0)
  51. {
  52. echo 'Такой логин или почта уже существует';
  53.  
  54. }
  55.  
  56. else
  57. {
  58. // капча
  59.  
  60. if ($_SERVER["REQUEST_METHOD"] == "POST")
  61. {
  62.             $randStr = $_POST["str"];
  63.  
  64.    
  65.                  if ($randStr == $_SESSION["randStr"])
  66.                     {
  67.  
  68. $query = "INSERT INTO users(login , pass , icq , email , city , name , famili , otche)
  69. VALUES ('$login', '$password', '$icq', '$email', '$city', '$name', '$famili', '$otche')";
  70. $result = mysql_query($query) or die(mysql_error());
  71. echo 'Регистрация успешно прошла';
  72. echo '<meta http-equiv="refresh" content="3; URL=index.php">';
  73.  
  74. }
  75.                 else
  76.                 {
  77.                         echo  "Не верный код ";
  78.                 }
  79.        
  80. ////////////////////////////////////////
  81. }
  82.  
  83. }
  84. }
  85. }
  86. ?>
  87.  
  88.  
  89. <table border="1">
  90. <form action="reg.php" method="POST">
  91. <tr>
  92. <td>Логин</td>
  93. <td><input type="text" name="login" ></td>
  94. </tr>
  95. <tr>
  96. <td>Пароль</td>
  97. <td><input type="password" name="password" ></td>
  98. </tr>
  99. <tr>
  100. <td>Повторите пароль</td>
  101. <td><input type="password" name="password2"></td>
  102. </tr>
  103. <tr>
  104. <td>Email</td>
  105. <td><input type="text" name="email"></td>
  106. </tr>
  107. <tr>
  108. <td>icq</td>
  109. <td><input type="text" name="icq"></td>
  110. </tr>
  111. <tr>
  112. <td>Имя</td>
  113. <td><input type="text" name="name"></td>
  114. </tr>
  115. <tr>
  116. <td>Фамилия</td>
  117. <td><input type="text" name="famili"></td>
  118. </tr>
  119. <tr>
  120. <td>Отчество</td>
  121. <td><input type="text" name="otche"></td>
  122. </tr>
  123. <tr>
  124. <tr>
  125. <td>Город</td>
  126. <td><input type="text" name="city"></td>
  127. </tr>
  128. <tr>
  129. <td>Введите строку</td>
  130. <td>    <div>
  131.                 <img src="noise-picture.php">
  132.         </div>
  133.         <div>
  134.                 <input type="text" name="str" size="6">
  135.         </div>
  136.    
  137.     </td>
  138. </tr>
  139. <td colspan="2"><input type="submit" value="OK" name="submit" ></td>
  140. </tr>  
  141. </form>
  142.  
  143. </table>

(Добавление)
всё решил проблему не дописал старт сессии спасибо illy
15. illy - 18 Октября, 2011 - 22:01:10 - перейти к сообщению
Pipka пишет:
всё решил проблему не дописал старт сессии спасибо illy

Кхэ! Ну типа рад был помочь и всё такое Ха-ха

 

Powered by ExBB FM 1.0 RC1