Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
5 / 5 / 5
Регистрация: 15.07.2012
Сообщений: 773
1

Правильное перенаправление

12.09.2012, 16:34. Показов 1728. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет всем. У меня возник вопрос с перенаправлением. У меня есть некая формадля нее написано условия для ввода (Количество символов превышае , поля не совпадают и тд) и вот когда эти условия выполняются я пытаюсь перенаправит пользователя на другую страничку вот такиь способом
PHP
1
2
3
4
 if(!count($info)) 
         {
Header("Location: ");
}
Все перенаправило нармально, но как только я попробывал в браузере вернутся обратно на страничку с формой, меня постоянно браузер возврвщал обратно. Может кто нибудь знает как сделать перенаправление на другую страничку, что бы пользователь смог спакойно возвращатся на страничку с формой.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.09.2012, 16:34
Ответы с готовыми решениями:

Как сделать правильное перенаправление с алиаса на нужную страницу
Добрый день! Подскажите есть сайт: http://okeanperm.ru/ сделал алиас: http://abc.okeanperm.ru/ ...

Правильное swprintf, правильное wprintf ?
Вродеж бы по ,,инструкции,,.... ..... wchar_t str = L"tanya"; // обозначает, что строка не...

Перенаправление
В корне прописано такое перенаправление: Options -Indexes RewriteEngine on RewriteCond...

Перенаправление
Есть два домена "1" и "2" Например, я нахожусь на каком-либо сайте и нажимаю на нем ссылку, как...

17
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
12.09.2012, 16:39 2
Никак.
0
5 / 5 / 5
Регистрация: 15.07.2012
Сообщений: 773
12.09.2012, 17:08  [ТС] 3
Цитата Сообщение от KOPOJI Посмотреть сообщение
Никак.
Наверное я недоговорил, есть форма пользователь вводит свои данные и жмет кнопку идет праверка введеных данных и тогда идет перенаправление. Ведь как тогда делают регистрации и т.д и назад спокойно можно вернуться
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
12.09.2012, 17:46 4
если прописано header('Location ....) - никак. Если прописан тег мета или header+refresh - можно, на указанное время
1
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
12.09.2012, 17:49 5
Цитата Сообщение от Братуха Посмотреть сообщение
но как только я попробывал в браузере вернутся обратно на страничку с формой, меня постоянно браузер возврвщал обратно.
Непраивльный какой-то у Вас браузер (или Вы что-то не так делаете, или описываете не так, как делаете).
Цитата Сообщение от Братуха Посмотреть сообщение
Может кто нибудь знает как сделать перенаправление на другую страничку, что бы пользователь смог спакойно возвращатся на страничку с формой.
Так и должно происходить по умолчанию.
1
2 / 41 / 10
Регистрация: 12.09.2012
Сообщений: 334
12.09.2012, 18:13 6
У тебя "формы"->"обработчик"->"результат" Это все разные страницы?
В принципе если это не один скрипт принимающий разные параметры, то браузер должен нормально реагировать "как и везде" .
1
5 / 5 / 5
Регистрация: 15.07.2012
Сообщений: 773
12.09.2012, 19:12  [ТС] 7
Вместо
PHP
1
2
3
4
 if(!count($info)) 
         {
Header("Location: ");
}
я сделал вот так
PHP
1
2
3
4
5
if(!count($info)) 
         {
if(isset($_SESSION['user_data']))   
 Header("Location: /register/office"); 
}
И все нармально переходит назад, только вот не знаю нармально ли так?
0
198 / 166 / 23
Регистрация: 20.04.2011
Сообщений: 750
Записей в блоге: 1
12.09.2012, 21:08 8
вы ещё можете проверять откуда пользователь перешол на данную страницу и в зависимости от этого делать определённые действия
1
21 / 20 / 1
Регистрация: 01.05.2012
Сообщений: 93
14.09.2012, 12:28 9
При нажатии на кнопку "Назад", вы обращаетесь к обработчику, но не посылаете ему никаких данных. Естественно, вес снова будет кидать по редиректу, ведь у вас проверка в начале стоит. Логически ваш скрипт работает правильно.
1
238 / 235 / 43
Регистрация: 16.03.2011
Сообщений: 750
14.09.2012, 13:03 10
Братуха После Header должно быть обязательно exit;
2
5 / 5 / 5
Регистрация: 15.07.2012
Сообщений: 773
14.09.2012, 13:17  [ТС] 11
Цитата Сообщение от r36 Посмотреть сообщение
Братуха После Header должно быть обязательно exit;
А как же вот такая конструкция
PHP
1
2
3
4
5
6
7
8
9
10
switch($GET['rem'])
    {
        case 'read':
          if(!isset($_SESSION['user_data']))
                 Header("Location: /register/office");
                 exit;
            else
                   include './skins/tpl/category/show.tpl';         
        break;
        ..........
Выводит ошибку
0
238 / 235 / 43
Регистрация: 16.03.2011
Сообщений: 750
14.09.2012, 13:28 12
Заключить код в {}, пример:
Так ошибка:
PHP
1
2
3
4
5
if(true)
echo 1;
echo 2;
else
echo 3;
Исправляем:
PHP
1
2
3
4
5
6
if(true){
echo 1;
echo 2;
}else{
echo 3;
}
После Header(Location должен быть exit потому что код будет продолжать выполнятся, это может вызвать ошибку.
0
5 / 5 / 5
Регистрация: 15.07.2012
Сообщений: 773
14.09.2012, 13:43  [ТС] 13
Цитата Сообщение от r36 Посмотреть сообщение
После Header(Location должен быть exit потому что код будет продолжать выполнятся, это может вызвать ошибку.
Вот так я сделал
PHP
1
2
3
4
5
6
7
 case 'read':
          if(!isset($_SESSION['user_data'])){
                 Header("Location: /register/office");
                 exit;
            else
                  { include './skins/tpl/category/show.tpl';}   }       
        break;
Но все равно ничего не выходит
0
21 / 20 / 1
Регистрация: 01.05.2012
Сообщений: 93
14.09.2012, 13:46 14
Цитата Сообщение от Братуха Посмотреть сообщение
Вот так я сделал
PHP
1
2
3
4
5
6
7
 case 'read':
          if(!isset($_SESSION['user_data'])){
                 Header("Location: /register/office");
                 exit;
            else
                  { include './skins/tpl/category/show.tpl';}   }       
        break;
А скобку фигурную кто ставить будет после exit?

PHP
1
2
3
4
5
6
7
 case 'read':
          if(!isset($_SESSION['user_data'])){
                 Header("Location: /register/office");
                 exit;}
            else
                  { include './skins/tpl/category/show.tpl';}       
        break;
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
14.09.2012, 13:49 15

PHP
1
2
3
4
5
6
7
8
9
if(условие) {
.....
....
.....
}
else {
...
....
}
у вас:
PHP
1
2
3
4
5
6
7
if(условие) {
....
.....
 else {
  ....
 }
}
Добавлено через 2 минуты
это же азы синтаксиса.. учите синтаксис для начала, чтобы хотя бы такие ошибки не делать
1
238 / 235 / 43
Регистрация: 16.03.2011
Сообщений: 750
14.09.2012, 13:53 16
Братуха если не хочется добавлять скобки то лучше тогда создать отдельную функцию:
PHP
1
2
3
4
5
function loc($url){
Header("Location: $url");
exit;
}
loc('/register/office');
1
2 / 41 / 10
Регистрация: 12.09.2012
Сообщений: 334
16.09.2012, 10:32 17
Цитата Сообщение от r36 Посмотреть сообщение
Братуха После Header должно быть обязательно exit;
Не обязательно
0
KOPOJI
16.09.2012, 11:41     Правильное перенаправление
  #18

Не по теме:

lestat89, естественно, не обязательно. Только тот, кто думает о прекращении дальнейшего продолжения кода в случае ошибки заголовков - тот поставит.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.09.2012, 11:41

Перенаправление i/o
Вопрос наверное дурацкий, за что простите, и видимо теоретический. Задача. DVD-проигрыватель....

Перенаправление
Здраствуйте! Вопрос: Что нужно прописать в web.config, чтоб при заходе на закрытую для...

Перенаправление
RewriteCond %{HTTP_HOST} ^(www\.)?site\.ru$ RewriteCond %{HTTP_HOST} ^(www\.)?site1\.ru$...

Перенаправление
Всем привет! У меня вопрос: Как средствами JS перенаправить пользователя на другую страницу при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru