[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Скрипт проверки человека :)
johniek_comp
Знакомые попросили написать что-то подобное, вот с вчерашнего вечера сижу, что получилось: ТЫЦ

Сказали что то что нужно! Прошу оценить и предложить как его можно разнообразить(расширить) .
Работает на сессиях, вот обработчик:
Свернутый текст
<?php
if(isset($_POST['sub'])){
$_SESSION['q'] = 0;

if($_POST['one'] == 'Белый') {
$_SESSION['q'] = $_SESSION['q'] + 10; }

if($_POST['two'] == 'Ромашка') {
$_SESSION['q'] = $_SESSION['q'] + 20; }

if($_POST['tri'] == 'Весна') {
$_SESSION['q'] = $_SESSION['q'] + 30; }
if($_POST['foo'] == 'Зеленый с голубым') {
$_SESSION['q'] = $_SESSION['q'] + 40; }
if($_POST['five'] == '3') {
$_SESSION['q'] = $_SESSION['q'] + 40; }
if($_POST['six'] == 'История') {
$_SESSION['q'] = $_SESSION['q'] + 40; }

echo '<p>

<body class="experiment">
<div id="wrapper">
<a href="#example" class="openModal"><h4>Просмотреть результаты</h4></a>
<aside id="example" class="modal">
<div>
<h2>Набрано баллов:<b>'
.$_SESSION['q'].'</b> </h2>
<p>'
;
if($_SESSION['q'] == 180)
echo 'Набрано максимальное кол-во баллов! ';
if($_POST['one'] != 'Белый')
echo 'Не правильный ответ на вопрос №1<br>';
if($_POST['two'] != 'Ромашка')
echo 'Не правильный ответ на вопрос №2<br>';
if($_POST['tri'] != 'Весна')
echo 'Не правильный ответ на вопрос №3<br>';
if($_POST['foo'] != 'Зеленый с голубым')
echo 'Не правильный ответ на вопрос №4<br>';
if($_POST['five'] != '3')
echo 'Не правильный ответ на вопрос №5<br>';
if($_POST['six'] != 'История')
echo 'Не правильный ответ на вопрос №6<br>';

echo '</p><a href="#close" title="Закрыть">Закрыть</a>
</div>
</aside>'
;

}
?>


стили и js опускаю. кому надо пишите в лс вышлю исходники.

ага, ещё вопрос:
if($_POST['six'] != 'История') 

и

if($_POST['six'] !== 'История') 


работают одинаково, почему?



Спустя 11 минут, 5 секунд (19.01.2012 - 19:46) Invis1ble написал(а):
Цитата
Прошу оценить и предложить как его можно разнообразить(расширить)

если это защита от ботов такая - то хрень полная, почитай предыдущий конкурс
Цитата
работают одинаково, почему?

потому что true в обоих случаях, очевидно
А должно не одинаково?

Спустя 7 минут, 32 секунды (19.01.2012 - 19:53) vital написал(а):
код не правильно отфарматирован.

Спустя 1 минута, 26 секунд (19.01.2012 - 19:55) UnWind написал(а):
Пока что расширить незнаю чем, но посмотрю обязательно - может что и подскажу.
Но скажу так, элементы классно оформлены (Со стороны дизайна форм) !)
Обязательно возьму к себе на заметку, если конечно не против! smile.gif

Спустя 3 минуты, 54 секунды (19.01.2012 - 19:59) UnWind написал(а):
Вопрос такой вот, зачем сравнивать русский текст, если можно сравнить цифры ?)))

А вот почему "!=" и "!==" работают одинаково, к сожалению не знаю, хотелось бы тоже узнать smile.gif
Вообще ведь правильно "!=" smile.gif

P.S.:> А что из себя вообще скрипт представляет ? Похоже и на анти-бот и так же похоже на какое то анкетирование. Какая цель вообще скрипта ?

Спустя 2 минуты, 22 секунды (19.01.2012 - 20:01) johniek_comp написал(а):
Цитата
Вопрос такой вот, зачем сравнивать русский текст, если можно сравнить цифры ?)))


что бы узнать на какой вопрос ответ не верный

Спустя 3 минуты, 3 секунды (19.01.2012 - 20:04) Invis1ble написал(а):
Цитата
А что из себя вообще скрипт представляет ? Похоже и на анти-бот и так же похоже на какое то анкетирование. Какая цель вообще скрипта ?

в том то и дело, что непонятно

Спустя 36 секунд (19.01.2012 - 20:05) UnWind написал(а):
johniek_comp
Ну это то понятно) Но ведь ответы на вопросы вводятся через выпадающий список, соответственно как вопросы так и ответы можно пронумеровать.

И еще раз повторюсь. Т.е. это скрипт защиты от ботов по сути ?

Спустя 2 минуты, 35 секунд (19.01.2012 - 20:07) johniek_comp написал(а):
UnWind
Invis1ble

один человек проверяет как его знает другой, как я понял там кто-то поженился и вот они хотели проверить как они друг друга знают smile.gif

Спустя 49 секунд (19.01.2012 - 20:08) johniek_comp написал(а):
UnWind
не удобно какая цифра за каким вопросом стоит смотреть, а так все просто и ясно

Спустя 44 секунды (19.01.2012 - 20:09) Invis1ble написал(а):
Цитата
один человек проверяет как его знает другой, как я понял там кто-то поженился и вот они хотели проверить как они друг друга знают

а, тады ладно smile.gif

Спустя 3 минуты, 44 секунды (19.01.2012 - 20:12) UnWind написал(а):
Цитата
один человек проверяет как его знает другой, как я понял там кто-то поженился и вот они хотели проверить как они друг друга знают

Ок) Хм) Сейчас придумаю что нибудь, интересный проект)
Тебе нужно добавить со стороны вопросов, или может вообще какой то скриптик написать прикольный ? Например "Выдели часть фотографии, которую на твой взгляд человек в себе ценит и ярко демонстрирует" ?

Спустя 2 часа, 21 минута, 43 секунды (19.01.2012 - 22:34) Winston написал(а):
Цитата (johniek_comp @ 19.01.2012 - 18:35)
работают одинаково, почему?

Запусти скрипт:
$a = 1;
$b = '1';

if($a == $b)
echo 'a == b <br/>';
if($a === $b)
echo 'a === b <br/>';
else
echo 'a !== b <br/>';

Подумай над полученным результатом. Понял что-то? Нет?
Если нет, иди читай про оператор эквивалентности или еще называется строгое равно

Спустя 8 часов, 38 минут, 20 секунд (20.01.2012 - 07:13) Ramzil_Nixon написал(а):
Это Не равно
if($_POST['six'] != 'История')


А это Тождественно не равно
if($_POST['six'] !== 'История')


В обоих случаях одинаково, потому что в обеих случаях TRUE. И у тебя в коде может быть синтактическая ошибка в случае если у тебя $_POST['six'] будет пуст

if(isset($_POST['six']) && $_POST['six'] !== 'История')


Еще можно так:

if(isset($_POST['six']) ? $_POST['six'] != 'История' : '')

Спустя 2 часа, 39 минут, 47 секунд (20.01.2012 - 09:52) Эли4ка написал(а):
А не проще ли просто сделать каптчу? unsure.gif

Спустя 4 минуты, 3 секунды (20.01.2012 - 09:56) sharki написал(а):
Ramzil_Nixon
А чем точнее отличается этот оператор != от этого !== ? Чтобы до конца уже добить эту тему

Спустя 1 час, 37 минут, 8 секунд (20.01.2012 - 11:34) Winston написал(а):
Цитата (Эли4ка @ 20.01.2012 - 08:52)
А не проще ли просто сделать каптчу

А капча причем тут? laugh.gif

Спустя 11 минут, 40 секунд (20.01.2012 - 11:45) walerus написал(а):
sharki - Ну ты бы хоть прочел )), наверно после праздников всем лень почитать ). Как написал Winston, только с пояснениями:


$a = 1; // Это "чисто" число
$b = '1'; // Это число, только в виде текста

if( $a == $b )
{
// Если переменные равны, а они равны ( 1 , 1 )

echo 'a == b <br/>'; // ОТОБРАЗИТСЯ
}

if( $a === $b )
{
// Если переменные Тождественно равны !!!, т.е. $a равно $b и имеет тот же тип,
// смотрим:
// переменная $a - у нас это "чисто" число = 1 ,
// переменная $b - это число, но только в виде текста = '1'
// следовательно переменные ТОЖДЕСТВЕННО НЕ равны


echo 'a === b <br/>'; // НЕ ОТОБРАЗИТСЯ
}

if( $a != $b )
{
// Если переменные НЕ равны, а они равны ( 1 , 1 )

echo 'a != b <br/>'; // НЕ ОТОБРАЗИТСЯ
}

if( $a !== $b )
{
// Если переменные Тождественно НЕ равны !!!, т.е. $a может быть равно $b НО, !!! имеет РАЗНЫЙ тип,
// смотрим:
// переменная $a - у нас это "чисто" число = 1 ,
// переменная $b - это число, но только в виде текста = '1'
// следовательно переменные ТОЖДЕСТВЕННО НЕ равны


echo 'a !== b <br/>'; // ОТОБРАЗИТСЯ
}

как то так :huh:

Спустя 11 минут, 31 секунда (20.01.2012 - 11:57) sharki написал(а):
walerus
Кодировку исправь) Да я то это знаю, я хотел услышать ответ от Ramzil_Nixon т.к он , как мне показалось, не понял сути этих операторов smile.gif

Спустя 3 минуты, 40 секунд (20.01.2012 - 12:00) Игорь_Vasinsky написал(а):
Ramzil_Nixon
if(isset($_POST['six']) ? $_POST['six'] != 'История' : '')


какой то сомнительный тернарный оператор....

!= Истина - если значения не равны
!== ! Истина - если и значения и их типы разные

Спустя 25 минут, 58 секунд (20.01.2012 - 12:26) walerus написал(а):
sharki
Цитата
Кодировку исправь)
, где? что? когда? ohmy.gif

Игорь_Vasinsky

Цитата
!= Истина - если значения не равны
!== ! Истина - если и значения и их типы разные
не, немного не так

!= Истина - если значения не равны
!== Истина - если значения не равны ( могут быть вдруг РАВНЫ ), НО типы РАЗНЫЕ

Спустя 51 минута, 40 секунд (20.01.2012 - 13:18) sharki написал(а):
walerus

Спустя 11 минут, 25 секунд (20.01.2012 - 13:29) walerus написал(а):
sharki - У себя проверяй )

Спустя 13 минут, 30 секунд (20.01.2012 - 13:43) sharki написал(а):
))

Спустя 3 минуты, 3 секунды (20.01.2012 - 13:46) Winston написал(а):
biggrin.gif laugh.gif

Спустя 15 минут, 57 секунд (20.01.2012 - 14:02) Эли4ка написал(а):
ну пошло-поехало..

Спустя 35 минут, 52 секунды (20.01.2012 - 14:38) walerus написал(а):
sharki
Winston
Эли4ка

Это все отзвуки празнегов laugh.gif biggrin.gif

Спустя 6 минут, 43 секунды (20.01.2012 - 14:44) Winston написал(а):
Цитата (walerus @ 20.01.2012 - 13:38)
Это все отзвуки празнегов

Ну да..., на них можно все спихнуть biggrin.gif

Спустя 19 часов, 59 минут, 52 секунды (21.01.2012 - 10:44) Jack_White написал(а):
Цитата (johniek_comp @ 19.01.2012 - 16:35)
if($_POST['six'] != 'История')

и

if($_POST['six'] !== 'История')


Запусти
if(11 != '11')
echo '!=';
if(11 !== '11')
echo '!==';
!= не учитывает тип, а !== учитывает


_____________
user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.