HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 02.01.2008, 01:03
Piflit
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
С нами: 10393869

Репутация: 2032


По умолчанию

нужно реализовать капчу. вернее, передачу ее правильного значения между скриптами. я делал так.
в начале страницы с формой
PHP код:
<?php
    session_start
();
    
session_register("pic_val");
?>
потом идет
Код HTML:
<img src="pic.php">
в pic.php рисуется капча и в ней присваивается значение сеансовой переменной $_SESSION["pic_val"] = $captcha;
в скрипте, куда идет пользователь сравниваются значения капчи и введенное
PHP код:
 echo $_SESSION.$_POST 
выводится только $_POST["pic"], т.е. сеансовой переменной значение не присваивается. как сделать, чтобы работало?
 
Ответить с цитированием

  #2  
Старый 02.01.2008, 01:40
NOmeR1
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,187
С нами: 10495046

Репутация: 2642


По умолчанию

Начинай и регистрируй сессию в скрипте капчи.
 
Ответить с цитированием

  #3  
Старый 02.01.2008, 01:59
Piflit
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
С нами: 10393869

Репутация: 2032


По умолчанию

то же самое. может в конфигах что-то подправить?
 
Ответить с цитированием

  #4  
Старый 02.01.2008, 02:11
NOmeR1
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,187
С нами: 10495046

Репутация: 2642


По умолчанию

Цитата:
Сообщение от Piflit  
то же самое. может в конфигах что-то подправить?
Тогда скорее всего $captcha не определена.
 
Ответить с цитированием

  #5  
Старый 02.01.2008, 02:04
-Hormold-
Постоянный
Регистрация: 29.09.2007
Сообщений: 617
С нами: 9798086

Репутация: 999


По умолчанию

Помогите, нужен скрипт...
Вот описание:
Есть определённое количество очков. После скрипт считаем, если больше 50 очков он выводит скрипт по такому принципу:
Цитата:
//$s - очки
if(mt_rand(0,200)%5==0&&$s<50)
{
$text.="Вот тебя девятка!<br>";
$s-=50;//Вычитаем из общего количества очков
}
И так далее, например требования очков: 20,50,120,700,1000
 
Ответить с цитированием

  #6  
Старый 02.01.2008, 02:11
Piflit
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
С нами: 10393869

Репутация: 2032


По умолчанию

if(mt_rand(0,200)%5==0&&$s<50)
в каком порядке будут выполняться действия? расставь скобки

Цитата:
Сообщение от NOmeR1  
Тогда скорее всего $captcha не определена.
PHP код:
$captcha rand(10009999);
$_SESSION["pic_val"] = $captcha
 
Ответить с цитированием

  #7  
Старый 02.01.2008, 02:39
Noiro
Познающий
Регистрация: 01.01.2008
Сообщений: 50
С нами: 9662713

Репутация: 71
По умолчанию

Цитата:
Сообщение от Piflit  
...
Проверь наличие session_start(); во всех скриптах (оно должно быть и в pic.php и в файле с формой, до вывода каких-либо данных) и убери session_register("pic_val");
Ну и проверить сниффером наличие айди сессии в передаваемых браузером данных, может что-то режет куки
 
Ответить с цитированием

  #8  
Старый 02.01.2008, 02:47
Piflit
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
С нами: 10393869

Репутация: 2032


По умолчанию

Цитата:
Сообщение от Noiro  
Проверь наличие session_start(); во всех скриптах (оно должно быть и в pic.php и в файле с формой, до вывода каких-либо данных) и убери session_register("pic_val");
Ну и проверить сниффером наличие айди сессии в передаваемых браузером данных, может что-то режет куки
спасибо =)) дело оказалось в session_start();
почему можно было убрать session_register("pic_val"); ?
 
Ответить с цитированием

  #9  
Старый 02.01.2008, 02:51
Noiro
Познающий
Регистрация: 01.01.2008
Сообщений: 50
С нами: 9662713

Репутация: 71
По умолчанию

Цитата:
Сообщение от Piflit  
почему можно было убрать session_register("pic_val"); ?
Дык оно deprecated, плюс работает только если включено register_globals что вообще идея дурная.
Цитата:
Caution

If you want your script to work regardless of register_globals, you need to instead use the $_SESSION array as $_SESSION entries are automatically registered. If your script uses session_register(), it will not work in environments where the PHP directive register_globals is disabled.
http://ru2.php.net/session_register
 
Ответить с цитированием

  #10  
Старый 02.01.2008, 03:27
Meanor
Познающий
Регистрация: 09.09.2007
Сообщений: 66
С нами: 9826679

Репутация: 41
По умолчанию

Piflit

Не забудь кэшировать md5 значение , которое вставляешь в сессию.

Если капча идет на регистрацию(например) , то не забудь при успешной регистранции сделать $_SESSION["pic_val"]=rand(1000,9999); т.к. если значение этой сессионной переменной не поменять, то юзер сможет регистрировать до бесконечности, вставив однажды нужный код.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.