|
39 / 9 / 10
Регистрация: 19.09.2016
Сообщений: 1,072
|
|
Как изначально задать параметр в адресной строке?15.01.2017, 18:47. Показов 3526. Ответов 22
Метки нет (Все метки)
Сейчас при загрузке с домашней страницы адрес выглядит вот так:
/index.phpВ коде задано условие, что если $_GET['page'] не существует, $page = 'home'. Работает для ссылки на домашнюю и при переходах на эту вкладку.А я хочу, чтобы изначально домашняя страничка загружалась с параметром page=home/index.php?page=home Как сделать?
0
|
|
| 15.01.2017, 18:47 | |
|
Ответы с готовыми решениями:
22
Как убрать GET параметры в адресной строке Как убрать расширение картинки в адресной строке? Как отключить в хроме поиск в адресной строке? |
|
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
|
|
| 15.01.2017, 19:15 | |
|
Редирект, но это кривовато. Главная на практически всех сайт доступна по адресу /
0
|
|
|
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,229
|
||
| 15.01.2017, 20:08 | ||
|
либо внутри index.php дефолтом ставить page=home но вообще дефолт всегда /
0
|
||
|
39 / 9 / 10
Регистрация: 19.09.2016
Сообщений: 1,072
|
||||||
| 17.01.2017, 00:17 [ТС] | ||||||
|
Из за этого параметра не получается второй по условию передать...
Пробовал для стартовой страницы сделать условную проверку на существование параметра page=homeПроверяю регистрационные данные:
Главная загружается с адресом: test.localПосле отправки пустой формы регистрации с главной, получаю адрес: test.local/?error=1При отправке с любой другой страницы Получаю адрес типа: test.local/index.php?page=about?error=1Побовал и с проверкой на наличие строки запроса ($_SERVER['QUERY_STRING']) тоже не работает. Очевидно, в пределах этого скрипта эти переменные не видны...
0
|
||||||
|
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
|
|
| 17.01.2017, 00:38 | |
|
Нормально работать с путями так и не научились? Неправда ли так лучше:
/ /about /?error=1 /about?error=1 При используемом вами подходе тоже все вполне решаемо. Например, накапливайте все значащие параметры в массиве, а потом выписывайте их, если массив не пустой: '?'.implode('&', $array) Добавлено через 5 минут При использовании путей можно вообще обойтись без GET-параметров. Либо создать алиас для страницы с ошибкой, например /about-error, либо добавлять индикатор ошибки в конец, например /about/error, либо завести целый класс неиндексируемых страниц ошибок, например /error/тут_адрес_страницы_с_ошибкой_возможно_да же_с_параметрами (все такие страницы можно закрыть в роботс по маске /error/).
0
|
|
|
39 / 9 / 10
Регистрация: 19.09.2016
Сообщений: 1,072
|
||||
| 17.01.2017, 00:49 [ТС] | ||||
page? А что плохого в том, что он есть? page. Куда он делся и где его накапливать? Какой-то глобальный массив нужен? Сессии не предлагайте.Я половину из того что Вы пишете вообще не понимаю.... У меня уровень самого-самого начинающего
0
|
||||
|
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,229
|
||
| 17.01.2017, 00:50 | ||
|
во1, HTTP_REFERER задаётся пользователем, а не сервером, т.е. может что угодно прислать во2, он вообще может потеряться пишите константу, вы что не знаете, куда вам отправлять надо? header("Location: /?page=auth&error=1"); в крайнем случае REQUEST_URI можно заюзать ну а по-хорошему ошибка авторизации через аякс отдаётся
0
|
||
|
39 / 9 / 10
Регистрация: 19.09.2016
Сообщений: 1,072
|
|
| 17.01.2017, 00:53 [ТС] | |
|
0
|
|
|
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,229
|
|
| 17.01.2017, 00:54 | |
|
0
|
|
|
39 / 9 / 10
Регистрация: 19.09.2016
Сообщений: 1,072
|
||
| 17.01.2017, 00:58 [ТС] | ||
|
0
|
||
|
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,229
|
|
| 17.01.2017, 01:04 | |
|
ну и зачем вам возвращать клиента на любую страничку тогда, если у него в fancybox авторизация
аякс однозначно
0
|
|
|
39 / 9 / 10
Регистрация: 19.09.2016
Сообщений: 1,072
|
|||||||
| 17.01.2017, 01:09 [ТС] | |||||||
0
|
|||||||
|
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,229
|
|
| 17.01.2017, 01:13 | |
|
да пофиг, всё-равно ошибку через аякс лучше отдавать
или разбирайте свой $_GET на $key=>$val, а потом собирайте обратно с добавкой err=1 и implode()
1
|
|
|
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
|
|||||
| 17.01.2017, 02:02 | |||||
|
Добавлено через 10 минут
1
|
|||||
|
39 / 9 / 10
Регистрация: 19.09.2016
Сообщений: 1,072
|
||||
| 17.01.2017, 15:24 [ТС] | ||||
|
Разве HTTP_REFERER не элемент массива $_SERVER? Вообще не понял о чем речь про сервер и пользователя... Разве он не содержит ссылку откуда пришли? И что значит может потеряться в контексте моего вопроса??С аяксом не знаком вообще, поэтому пока только средствами php, даже если это "костыли", иначе вообще не сделаю. Когда дойду до аякса тогда буду аякс использовать. Через редирект главной работает... header.Но почему-то скрипт определяет только для главной, что этого параметра нет, но когда запускаю скрипт с любой другой странички, где параметр page явно существует, скрипт его не видит.Мне принципиально не сделать способом каким мне якобы хочется, а понять почему не работает!
0
|
||||
|
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
|
||
| 17.01.2017, 16:21 | ||
|
Забыл написать... Выше вам все верно сказали: никогда не используйте реферер для редиректа. Если нужно вернуться туда, откуда пришли, заложите «адрес возврата» (только не внешний) в исходную ссылку, например:
/page/dest-page?params -> /dest-page?params или наоборот /page?param -> /error/page?param (error – предопределенный класс, о чем выше писал).
0
|
||
|
39 / 9 / 10
Регистрация: 19.09.2016
Сообщений: 1,072
|
||||||||
| 17.01.2017, 18:56 [ТС] | ||||||||
test.local, параметра page не существует. Из скрипта по условию
?error=1. Все работает, как нужно.Если я запускаю скрипт допустим со страницы about, используя параметр page, я запускаю скрипт с адреса test.local/index.php?page=about, т.е. параметр page существует, и по условию в скрипте при существовании параметра page к адресу уже должно добавиться не ?error=1, а &error=1, но добавляется все так же ?error=1, вроде как параметра page не существует.
0
|
||||||||
|
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
|
||||||||
| 17.01.2017, 21:21 | ||||||||
0
|
||||||||
|
39 / 9 / 10
Регистрация: 19.09.2016
Сообщений: 1,072
|
||
| 17.01.2017, 22:32 [ТС] | ||
$_SERVER['REQUEST_URI']:Сам механизм я понял, только я не понял, как он в моем случае может быть использован. Почему нужно разбирать адрес активной страницы? Активная же страничка - это сам обработчик. У меня обработчик формы в отдельном файле. Может я не все объяснил. Схема такая: В главном файле( index.php) подключается форма авторизации из отдельного файла(auth_form.tpl). Из этого подключаемого файла форма ссылается на обработчик тоже в отдельном файле(auth.php).Вся обработка авторизации происходит в файле auth.php. Значит $_SERVER['REQUEST_URI'] будет содержать /auth.php. А мне же нужен адрес не обработчика, а странички, с которой был запущен обработчик.
0
|
||
|
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
|
|
| 17.01.2017, 23:12 | |
|
Еще раз прочитайте, что я написал по поводу передачи ссылок для возврата. Если вы хотите потом вернуться к странице /index.php?page=home, обращайтесь к обработчику по адресу вроде /auth.php/index.php?page=home, в котором вы можете просто обрезать префикс /auth.php, чтобы получить адрес для редиректа.
Добавлено через 5 минут Не обязательно в точности этому следовать, просто показанный мной вариант в большей степени соответствует тому, как я это делаю. Вы можете использовать единую точку входа в том числе и для обработчика (/index.php?page=auth), а для указания страницы возврата использовать отдельный параметр, например: /index.php?page=auth&retpage=home
0
|
|
| 17.01.2017, 23:12 | |
|
Помогаю со студенческими работами здесь
20
Как сделать, чтобы в адресной строке не отображалось расширение php?
Как при использовании Response.redirect в адресной строке броузера оставить тот УРЛ, который был набран изначально? Параметр в адресной строке Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|