@sddvxd

Почему не срабатывает условие?

Добрый вечер

На странице, по нажатию на картинку методом POST посылается аргумент, допустим - "login"

Посылает форма этот аргумент на эту же самую страницу, где она стоит:

print ('<form action="?login" method="post">
        <input type="image" src="style/img/sign.png"/>
        </form>');


Вопрос: почему скрипт ловит login, если условие записать в начале страницы:

<?php
  session_start();
  require_once("config.php");


if(isset($_GET['login']))
{

    $obj->logIN($_COOKIE['PHPSESSID']);
}

<!DOCTYPE html>
...


А если в конец скрипта перед закрывающим тегом body поместить эту проверку, то она никогда не выполнится

UPD: решение моей проблемы в комментариях
  • Вопрос задан
  • 167 просмотров
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Манипуляции с куками и сессией могут быть осуществлены только до отправки заголовков(упрощено до вывода первой строчки в браузер), по этому условие выполняется, но код внутри исполнен не будет если перенести его ниже под хтмл. Легко проверить поменяв код на такой:
<?php
  session_start();
  require_once("config.php");


if(isset($_GET['login']))
{
    echo "хрен вам, а не куки!";
    $obj->logIN($_COOKIE['PHPSESSID']);
}

<!DOCTYPE html>
...

теперь и до и после хтмл тегов ечо будет выводиться, и работать код не будет уже в обоих местах )
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы