Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Капча приравнивается, capcha session 
:(
    Опции темы
fleetboss
Дата 23.9.2009, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 150
Регистрация: 30.7.2009

Репутация: нет
Всего: нет



У меня проблема с капчей... После отправки сообщения $_POST['secpic'] становится такимже как $_SESSION['secpic']... и скрипт проходит проверку капчи... Можно набрать что угодно в поле для капчи и прорка будет показывать одинаковый POST и SESSION... помогите... что-то я нетак сделал в коде...

Страница отправки
Код

<?php
session_start();

include("../config.php");

    $name = $_POST['name'];
    $phone = $_POST['phone'];
    $message = $_POST['message'];
    $email = $_POST['email'];
    $secpic = $_POST['secpic'];
    
    if ($name == "" || $message == "" || $email == "" || $secpic == "") {
     echo "<br><br><b><center><font color='#d53c00'>".l_c_empty."</font></center></b>";
    }

    elseif ($_SESSION['secpic']==$secpic) {
        $result2 = dbquery("INSERT INTO contacts_site (name,telefon,email,message,time_date) VALUES ('$name','$phone','$email','$message','$date')");
        echo "<br><br><b><center><font color='#14ae3c'>".l_c_ok."</font></center></b>";
    }

   else { echo "<br><br><b><center><font color='#d53c00'>".l_c_badcode."</font></center></b>";
    }
}
?>
<br><br>

<form name="sendmail" method="post" action="">
<table width="600" border="0" align="center">
    <tr>
        <td colspan="2" align="left"><?php echo l_c_name; ?>:<br><input size="40" name="name" type="text" maxlength="50"><font color="#d10816"> *</font></td>
    </tr>
    <tr>
        <td colspan="2"><?php echo l_c_phone; ?>:<br><input size="40" name="phone" type="text" maxlength="30"></td>
    </tr>
    <tr>
        <td colspan="2"><?php echo l_c_email; ?>:<br><input size="40" name="email" type="text" maxlength="50"><font color="#d10816"> *</font></td>
    </tr>
    <tr>
        <td colspan="2"><?php echo l_c_message_site; ?>:<font color="#d10816"> *</font><br></td>
    </tr>
    <tr>
        <td colspan="2"><textarea rows="6" cols="50" name="message"></textarea><br><?php echo l_c_left_simbols; ?>: <br>&bull; <?php echo l_c_message_info; ?></td>
    </tr>
    <tr>
        <td width="130"><?php echo l_c_code; ?>: <input name="secpic" type="text" id="secpic" style="width: 40px; text-align: center" maxlength="4"></td>
        <td width="380" align="left"><img src="../inc/secpic.php" alt="<?php echo l_c_altcode; ?>" title="<?php echo l_c_altcode; ?>" style="padding-right: 75px;"></td>        
    </tr>
    <tr>
        <td colspan="2" align="center"><br><div align="left"><font color="#d10816">*</font> <?php echo l_c_message_info4; ?></div><br><br><input type="submit" name="sendmail" class="edbut" onclick="SetCookie(); return false;" value="<?php echo l_c_send; ?>" id="rulles_read"></td>
    </tr>
</table>
</form>
<?
echo $_SESSION['secpic'];
echo $_POST['secpic'];
?>


Это сообщение отредактировал(а) fleetboss - 23.9.2009, 17:59
PM MAIL   Вверх
Ипатьев
Дата 23.9.2009, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



код не читал, но рекомендую для начала дать переменным разные имена.
PM MAIL   Вверх
Gold Dragon
Дата 23.9.2009, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



в очередной раз (я бы сказал что очень странно) я согласен с Ипатьевым, самый верный способ искать ошибку, это дать разные имена.. Хотя для поиска ошибки попробуй избавляться от лишнего кода.. уж очень он у тебя запутан и перемешан (PHP и HTML), т.е.  сделай тупо копию проекта и попробуй вычленить "чистую" функцию. Ошибка найдётся smile


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
fleetboss
Дата 23.9.2009, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 150
Регистрация: 30.7.2009

Репутация: нет
Всего: нет



Я так и думал что будете это говорить. Я менял POST на $_POST['secpic2']; - ничего не менялось...
Попробуем уменьшить код...
PM MAIL   Вверх
Simpliest
Дата 23.9.2009, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: 1
Всего: 3



Цитата(fleetboss @  23.9.2009,  13:25 Найти цитируемый пост)
После отправки сообщения $_POST['secpic'] становится такимже как $_SESSION['secpic']... 

Быть такого не может

Вот это воткни в 37ю и 43ю строку первого скрипта.
Код

var_dump($_SESSION['secpic']);
echo "<br>";
var_dump($_POST['secpic']);


В 44й строке поставь 

Код

exit();




--------------------
user posted image
PM   Вверх
Gold Dragon
Дата 23.9.2009, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



попробуй просто избавится от HTML,. ну т.е. чисто форма и вывод $_POST/$_SESSION... и убери однозначно все подключаемые модули.. Из моей практики: я обзываю переменные в подключаемых модулях (файлах) именами которые содержат ключевые названия файлов. Так я избегаю изначально случайного повторения имени переменной


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Ипатьев
Дата 23.9.2009, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Цитата(Simpliest @  23.9.2009,  14:46 Найти цитируемый пост)
Быть такого не может

при регистер глобалс - запросто. только наоборот.
PM MAIL   Вверх
Simpliest
Дата 23.9.2009, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: 1
Всего: 3



Цитата(Ипатьев @  23.9.2009,  15:10 Найти цитируемый пост)
при регистер глобалс - запросто. только наоборот. 

Да.

Я про него постоянно забываю :(


--------------------
user posted image
PM   Вверх
fleetboss
Дата 23.9.2009, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 150
Регистрация: 30.7.2009

Репутация: нет
Всего: нет



Цитата(Simpliest @ 23.9.2009,  14:46)
Цитата(fleetboss @  23.9.2009,  13:25 Найти цитируемый пост)
После отправки сообщения $_POST['secpic'] становится такимже как $_SESSION['secpic']... 

Быть такого не может

Вот это воткни в 37ю и 43ю строку первого скрипта.
Код

var_dump($_SESSION['secpic']);
echo "<br>";
var_dump($_POST['secpic']);


В 44й строке поставь 

Код

exit();

string(4) "1111" 
string(4) "1111" 


Я написал в поле 1111 а капча совсем другая была...


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

Это сообщение отредактировал(а) fleetboss - 23.9.2009, 17:05
PM MAIL   Вверх
Simpliest
Дата 23.9.2009, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: 1
Всего: 3



Тебе Ипатьев уже говорил

Сделай 

$_POST['secpicpost'] // это надо поправить форму
$_SESSION['secpicsession'] // это надо поправить скрипты.
$secpic

И выведи все 3 переменных в скрипте.


--------------------
user posted image
PM   Вверх
fleetboss
Дата 23.9.2009, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 150
Регистрация: 30.7.2009

Репутация: нет
Всего: нет



Действительно.... блин я вроде это пробывал самым первым делать.... только название поста сменил на secpic2... жесть ))
Спасибо всем за ответы
PM MAIL   Вверх
Simpliest
Дата 23.9.2009, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: 1
Всего: 3



Цитата(fleetboss @  23.9.2009,  17:00 Найти цитируемый пост)
register_globals = On стоит

И выключи его


--------------------
user posted image
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0536 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.