- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Что делает eval в этом коде.
Почему здесь проверка на $_GET и $_POST?
$register_poll_vars = array("poll_ident","option_id","action");
for ($i=0;$i<sizeof($register_poll_vars);$i++) {
if (isset($_POST[$register_poll_vars[$i]])) {
eval("\$$register_poll_vars[$i] = \"".trim($_POST[$register_poll_vars[$i]])."\";");
} elseif (isset($_GET[$register_poll_vars[$i]])) {
eval("\$$register_poll_vars[$i] = \"".trim($_GET[$register_poll_vars[$i]])."\";");
} else {
eval("\$$register_poll_vars[$i] = '';");
}
имхо дурацкая функция ...
eval записывает в массив $register_poll_vars[] значения переданные из формы, независимо от метода передачи этих параметров (пост или гет)
чтоб увидеть в каком виде будет массив после выполнения этой функции сделайте:
А вообще если вам нужны параметры берите их в массиве $_REQUEST там есть и гет и пост.
Большое спасибо за объяснение,
посмотрел я массив :-)
и понял, что этот кусок кода мне совершенно не нужен.
Удалил я этот кусок кода и ничего не поменялось, т.к. в коде больше
массив $register_poll_vars[] нигде не фигурирует. :-)
Его совершенно не нужно было заполнять.
Оказалось, что после удаления этого куска в двух местах скрипта, он перестал работать. Причем именно перестала работать передача
poll_ident, option_id и action с соответствующими значениями и на проверку равенству их соответствующим значениям var_dump стал говорить false. Вот что для меня не ясно, почему нигде больше не употребляется массив register_poll_vars, но функция данная необходима для работы форм? Возможно, здесь более широкйи смысл функции eval?
вероятно плохо искали.
Если код работает, зачем его переделывать? Оставьте как есть. У меня местами есть такой код, что глаза могут лопнуть - писал его когда только учился. Так до сих пор работает, уж много лет прошло :) Есть проекты даже на перле написаннные :))
Главное чтоб ошибок не было.
Cmit, спасибо за комментарии.
Я разобрался. Несмотря на то, что сам массив register_poll_vars больше нигде не употребляется - употребляются значения из этого массива, например здесь:
... if ($action=="results" && $poll_id==$poll_ident) ...
Вот такое дело.
Я, оказывается, не знал, что результаты заполнения массива можно использовать без названия самого массива, т.е. не нужно писать
$register_poll_vars['$poll_ident'], а достаточно работать с самой переменной $poll_ident. Я этого раньше не знал.