• Объявления

    • Victor

      Вход на форум   02.11.2016

      В связи с обновлением форума были упразднены логины для входа в свою учетную запись. Теперь в качестве логина необходимо использовать ваше имя (то, что высвечивается при публикации сообщений).

31 сообщение в этой теме

if(!empty($_POST)) {...} (или isset) т.е. просто проверить наличие

Здесь проверяется наличие переменных переданных методом POST, я правильно понял??? А нельзя использовать тогда if($_POST) {...}?

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Здесь проверяется наличие переменных переданных методом POST, я правильно понял??? А нельзя использовать тогда if($_POST) {...}?

я вроде написал. Можно проверить на существование конкретного ключа, например if(!empty($_POST['submit'])) {}, либо проверять так сказать в целом, пришли ли к нам данные через POST if(!empty($_POST)) {}

Зависит от конкретного случая. Можно и if($_POST) {}, но это не по феншую. Обычно так проверяются true или false,тип того:

$a = true;

if ($a) {}

а еще проще - взять готовый скрипт, разобрать его и с новыми познаниями нарисовать свой. Но, если хочется с нуля, то это всегда можно свои теоретические знания материализовать, тоже полезное дело. :)

Лучший вариант - открыть документацию и следовать ей. На "гoвнoкодe", что чаще всего попадается, хорошему не научишься.

PS извиняюсь за слово, если его антимат пропустит )))

Изменено пользователем Mil-ast

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

редирект не работал, или работал, на ссылался на ту же страницу

ссылался на ту же страницу, так как в параметре content указывается время

через которое произойдет перенаправление ; собственно URL куда редиректить

<html><head><meta http-equiv="Refresh" content="0" URL="readblog.php?id'.$p_id.'"></head></html> - не верно параметр URL игнорируется, соответственно через 0 секунд Refresh этой страницы, со всеми вытекающими.

<html><head><meta http-equiv="Refresh" content="0;URL=readblog.php?id'.$p_id.'"></head></html> - верно

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

ссылался на ту же страницу, так как в параметре content указывается время

через которое произойдет перенаправление ; собственно URL куда редиректить

<html><head><meta http-equiv="Refresh" content="0" URL="readblog.php?id'.$p_id.'"></head></html> - не верно параметр URL игнорируется, соответственно через 0 секунд Refresh этой страницы, со всеми вытекающими.

<html><head><meta http-equiv="Refresh" content="0;URL=readblog.php?id'.$p_id.'"></head></html> - верно

по правде говоря, я оба варианта считаю не верными ))) любые заголовки, в том числе и редирект, должен отдавать сервер клиенту. Единственное, можно в JS, в зависимости от условий, сделать перенаправление, но никак не тегами в документе.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

JS можно отключить. А мету ?

Если найдете хитрый брузер который сможет отключить редирект по мете, я найду такой (или сам соберу :)) который не будет реагировать на заголовок "Location" :)

Прикопаться можно ко всему, да :rolleyes:

Если нужна статическая страница перенаправляющая на другой урл, тоже php будете использовать ?

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

А в чём смысл статической страницы, которая делает перенаправление?

Через js имеет смысл использовать перенаправление только в том случае, когда есть логика на клиенте. Например, используя тот же Backbone и где практически вся страница формируется на клиенте.

В остальных случаях только через заголовки. Вообще, эти коды ответов сервера, которых около 4-5 десятков, дают большие возможности.

Например, при добавлении чего-либо, предположим, этого поста в форуме, комментария, новости и т.д., можно возвращать 201 ответ и без тела. А на клиенте, получив такой ответ, мы уже понимаем, что всё прошло успешно и данные сохранены и после выполнить какие-либо действия.

Либо, как я как-то делал, если неавторизированный пользователь обращается на закрытую страницу, то он перенаправляется на страницу с авторизацией, а если это ajax-запрос, то получает ответ 401, говорящий, что пользователь не имеет необходимых полномочий.

Согласитесь, зачем возвращать всегда 200 ответ, даже когда на сервере произошла ошибка, но в теле выдавать что-то вроде {"error" : true} и по этому флагу выявлять наличие ошибки..., ведь всё может сказать сервер.

Тем более, это уже много лет как стандартизировано и работает везде и всегда. Да и поисковики смотрят на них.

А решение с тегами - уж крайне "костыльное".

Ps: не обязательно только php, существуют и другие серверные языки.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!


Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.


Войти