Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: если условие выполняется то редирект

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
Pirat
Отправлено: 30 Июля, 2009 - 12:41:53
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2007  
Откуда: Украина, Одесса


Помог: 0 раз(а)




столкнулся с такой проблемой... сделал передачу переменных методом POST (спасибо кто помог) ... а теперь яндекс присылает на эти страницы...естественно не зная этих переменных...
так вот в чем вопрос....

CODE (text):
скопировать код в буфер обмена
  1.  
  2. if (isset ($_POST['name']) == '') { редирект к примеру на главную}
  3. else {$name = $_POST['name'];}
  4.  


облазил весь форум... ответа не нашел....

и еще вопросик... со временем яндекс переиндексирует с учетом этих переменных ???

(Отредактировано автором: 30 Июля, 2009 - 12:42:26)



-----
Вообще я продаю автозапчасти... оптом
А PHP - это хобби...
 
 Top
Мелкий Супермодератор
Отправлено: 30 Июля, 2009 - 12:47:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




PHP:
скопировать код в буфер обмена
  1. if (isset ($_POST['name']) == '') {
  2.                 header ("Location: index.php"); //или куда там надо
  3.                 die;
  4.                 }
  5. else {$name = $_POST['name'];}


Pirat пишет:
и еще вопросик... со временем яндекс переиндексирует с учетом этих переменных ???

Не думаю... Робот вроде по URL'ам работает...


-----
PostgreSQL DBA
 
 Top
Neirol
Отправлено: 30 Июля, 2009 - 12:48:28
Post Id



Новичок


Покинул форум
Сообщений всего: 27
Дата рег-ции: Июнь 2009  
Откуда: Россия, Москва


Помог: 0 раз(а)




Я так понял, ты не знаешь как сделать редирект?
Если правильно я тебя понял, то редирект можно сделать с помощью html и javascript
HTML:
<meta http-equiv='refresh' content='{1}; URL={2}'>
Вместо {1} пиши время в секундах, а вместо {2} адрес.
JavaScript:
<script type="text/javascript" language="javascript">
document.href.location = "{1}";
</script>
Вместо {1} пиши адрес.

Кстати, у тебя ошибка в скрипте.
isset возвращает булевое значение, поэтому == '' не нужно.


-----
Рожденные ползать - везде пролезет.
 
 Top
Pirat
Отправлено: 30 Июля, 2009 - 12:51:59
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2007  
Откуда: Украина, Одесса


Помог: 0 раз(а)




Neirol пишет:
Кстати, у тебя ошибка в скрипте.
isset возвращает булевое значение, поэтому == '' не нужно.


т.е. if (isset ($_POST['name'])) {}

еще вопросик....
а почему у меня так не получается ?
CODE (text):
скопировать код в буфер обмена
  1. {header ('location: http://my_site/index.php'); exit;}

(Добавление)
как обычно не получается вставить яву в пхп

CODE (text):
скопировать код в буфер обмена
  1. {'<script type="text/javascript" language="javascript">
  2. document.href.location = "1.php";
  3. </script>';}


Не понял
(Добавление)
собственно HTML тоже не получается

CODE (text):
скопировать код в буфер обмена
  1. {'<meta http-equiv='refresh' content='{3}; URL={1.php}'>';}


-----
Вообще я продаю автозапчасти... оптом
А PHP - это хобби...
 
 Top
Мелкий Супермодератор
Отправлено: 30 Июля, 2009 - 13:09:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Pirat пишет:
а почему у меня так не получается ?
CODE (text):
скопировать код в буфер обмена
  1. {header ('location: http://my_site/index.php'); exit;}

Не сказал, header'ы работают только если перед ними не выводился никакой текст.

По остальным двум - вставляться-то должно как обычный текст, т.е. между "?>" и "<?php" или в функции echo либо print. А у вас скобочки с кавычками странные какие-то...


-----
PostgreSQL DBA
 
 Top
Neirol
Отправлено: 30 Июля, 2009 - 13:11:17
Post Id



Новичок


Покинул форум
Сообщений всего: 27
Дата рег-ции: Июнь 2009  
Откуда: Россия, Москва


Помог: 0 раз(а)




Нужно выводить их, а не просто писать в кавычках.
Т.е. print "<meta и т.д.


-----
Рожденные ползать - везде пролезет.
 
 Top
Pirat
Отправлено: 30 Июля, 2009 - 13:19:20
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2007  
Откуда: Украина, Одесса


Помог: 0 раз(а)




все равно не получается Не понял

CODE (text):
скопировать код в буфер обмена
  1. {echo '<meta http-equiv="refresh" content="3; URL=1.php">';}

(Добавление)
Не сказал, header'ы работают только если перед ними не выводился никакой текст.

поподробнее можно ???,.. у меня не выводится перед ним никакой текст


-----
Вообще я продаю автозапчасти... оптом
А PHP - это хобби...
 
 Top
Мелкий Супермодератор
Отправлено: 30 Июля, 2009 - 13:30:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




А что в итоге пишите? PHP ни на что не ругается? Куда в HTML виде вставляется тэг meta? Должен вставляться в шапку <head>.

Pirat пишет:
поподробнее можно ???,.. у меня не выводится перед ним никакой текст

header


-----
PostgreSQL DBA
 
 Top
Pirat
Отправлено: 30 Июля, 2009 - 13:33:55
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2007  
Откуда: Украина, Одесса


Помог: 0 раз(а)




еще и как ругается.....

я бы хотел на яве сделать....
но почему то не могу вставить в пхп ((

CODE (text):
скопировать код в буфер обмена
  1.  
  2. {echo '<script type="text/javascript" language="javascript">
  3. document.href.location = "1.php";
  4. </script>';}
  5.  

(Добавление)
Мелкий пишет:

CODE (text):
скопировать код в буфер обмена
  1. if (isset ($_POST['name']) == '') {
  2.         header ("Location: index.php"); //или куда там надо
  3.         die;
  4.         }
  5. else {$name = $_POST['name'];}




вот что получается: Warning: Cannot modify header information - headers already sent by


-----
Вообще я продаю автозапчасти... оптом
А PHP - это хобби...
 
 Top
Мелкий Супермодератор
Отправлено: 30 Июля, 2009 - 13:53:43
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Pirat пишет:

Мелкий пишет:

CODE (text):
скопировать код в буфер обмена
  1. if (isset ($_POST['name']) == '') {
  2.         header ("Location: index.php"); //или куда там надо
  3.         die;
  4.         }
  5. else {$name = $_POST['name'];}




вот что получается: Warning: Cannot modify header information - headers already sent by

То и чувствую, какая-то текстовая информация к данному моменту скриптом уже отправлена. Заметьте, пробел, табуляция, переход на новую строку - уже передача информации.
Смотрите код перед этим текстом на предмет всяких выводов и открытия/закрытия тегов пхп. "?> <?php" - уже header'ы работать небудут.

Pirat пишет:
я бы хотел на яве сделать....

лучше не надо. А если отключён JS?

Pirat пишет:
но почему то не могу вставить в пхп ((

Внимание: не вставляет в результирующий документ или не перенаправляет?

Neirol пишет:
<script type="text/javascript" language="javascript">
document.href.location = "{1}";
</script>

интереса ради проверил: document.href - Null, document.location = "адрес" перенаправляет. У меня использовался window.location для перезагрузки страницы.


-----
PostgreSQL DBA
 
 Top
Viper
Отправлено: 30 Июля, 2009 - 13:55:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




ну а что на жабаскрипте мешает ?

echo '<script type="text/javascript">window.location=(\'URL\');</script>';
вместо URL ваш адрес

(Отредактировано автором: 30 Июля, 2009 - 13:56:05)



-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
JustUserR
Отправлено: 30 Июля, 2009 - 14:14:29
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Вы все запутали Улыбка
PHP:
скопировать код в буфер обмена
  1. <?PHP $your_url="/abc.php"; $your_time=100; // В миллисекундах - 100 в самый раз
  2. echo "<script>
  3. window.reloc=function() {window.location.href=\"".$your_url."\"}
  4. window.setTimeout(\"reoc()\",".$your_time.")
  5. </script>"; ?>


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Viper
Отправлено: 30 Июля, 2009 - 14:52:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




JustUserR зато правильное решение вы отписали Улыбка)


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Pirat
Отправлено: 31 Июля, 2009 - 11:02:21
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2007  
Откуда: Украина, Одесса


Помог: 0 раз(а)




Viper пишет:


CODE (text):
скопировать код в буфер обмена
  1. echo '<script type="text/javascript">window.location=(\'URL\');</script>';





Так работает.... так... и только так )))

Спасибо огромное.....


CODE (text):
скопировать код в буфер обмена
  1. <?PHP  $your_url="/abc.php"; $your_time=100; // В миллисекундах - 100 в самый раз
  2. echo "<script>
  3. window.reloc=function() {window.location.href=\"".$your_url."\"}
  4. window.setTimeout(\"reoc()\",".$your_time.")
  5. </script>"; ?>


так не заработало... да и честно говря задержка не особо нужна....

а скажите мне еще пожалуйста.....
со временем яндекс переиндексирует сайт... так вот он уже учтет переменные передаваемые методом ПОСТ ???.... это просто важно... я минимум одной переменной указываю какой include делать...
(Добавление)
Мелкий пишет:
То и чувствую, какая-то текстовая информация к данному моменту скриптом уже отправлена. Заметьте, пробел, табуляция, переход на новую строку - уже передача информации.


вот самое начало кода

CODE (text):
скопировать код в буфер обмена
  1.  
  2. <html>
  3. <head>
  4.  
  5. <?
  6. $id = $_GET['id'];
  7.         if (isset ($_POST['name']) == '') {
  8.  


так что вроде ничего еще нет до header


-----
Вообще я продаю автозапчасти... оптом
А PHP - это хобби...
 
 Top
Мелкий Супермодератор
Отправлено: 31 Июля, 2009 - 11:14:26
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Pirat пишет:

вот самое начало кода
так что вроде ничего еще нет до header

А это что по вашему?

Самое что ни на есть отправка текста клиенту. Header'ы должны отправляться до любой отсылки данных клиенту.


-----
PostgreSQL DBA
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB