Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Безусловный переход
 
 автор: Владимир55   (03.01.2011 в 23:06)   письмо автору
 
 

Код такой:
    header('Location: format-3.php?nomstr=" . ($list + 1) . "');
    exit;


Здесь переменная $list имеет целочисленные значения, а адрес в строке той страницы, на которую осуществляется переход, такой:
http://form-text/format-3.php?nomstr="%20.%20($list%20+%201)%20.%20"


Похоже, что такой способ переадресации в принципе работать не может?

  Ответить  
 
 автор: neadekvat   (03.01.2011 в 23:12)   письмо автору
 
   для: Владимир55   (03.01.2011 в 23:06)
 

Вы че оО
<?php
    header
('Location: format-3.php?nomstr=' $list 1); 
    exit;


Неужели редактор без подсветки?

P.S. В location следует указывать полный адрес, т.е. http://...

  Ответить  
 
 автор: Владимир55   (03.01.2011 в 23:25)   письмо автору
 
   для: neadekvat   (03.01.2011 в 23:12)
 

Относительно необходимости полного адреса я весьма сильно сомневаюсь. Проблема, конечно же, не в нем. Проблема в динамической части адреса, формируемой РНР переменной. И что-то мне подсказывает, что динамический адрес здесь сформировать вообще невозможно...

  Ответить  
 
 автор: neadekvat   (03.01.2011 в 23:28)   письмо автору
 
   для: Владимир55   (03.01.2011 в 23:25)
 

Как у вас со зрением? Еще раз перечитайте мой пост. Там даже код приведен.

Причем тут ваши сомнения? Есть rfc 2616.

  Ответить  
 
 автор: Владимир55   (03.01.2011 в 23:37)   письмо автору
 
   для: neadekvat   (03.01.2011 в 23:28)
 

Да, я был неправ.

Спасибо!

  Ответить  
 
 автор: Владимир55   (03.01.2011 в 23:44)   письмо автору
 
   для: Владимир55   (03.01.2011 в 23:37)
 

Парадокс, однако, в том, что работает вот так (и без http://):
<?php 
    header
('Location: format-3.php?nomstr=3');
    exit;


Но не работает с Вашим вариантом:
<?php 
    header
('Location: format-3.php?nomstr=' $list 1);  
    exit; 

  Ответить  
 
 автор: neadekvat   (04.01.2011 в 00:00)   письмо автору
 
   для: Владимир55   (03.01.2011 в 23:44)
 

Обож. Какой парадокс? Посмотрите, что подставляете.
$url = 'format-3.php?nomstr=' . $list + 1;
echo $url;

  Ответить  
 
 автор: Лена   (04.01.2011 в 00:18)   письмо автору
 
   для: Владимир55   (03.01.2011 в 23:44)
 

А так работает? Что print $list_ выводит?

<?php 
$list_ 
=  $list 1;
    
header('Location: format-3.php?nomstr=' $list_);  
    exit;  

  Ответить  
 
 автор: Tonik992   (04.01.2011 в 00:19)   письмо автору
 
   для: Владимир55   (03.01.2011 в 23:44)
 

Внимательней изучите различия между одинарными кавычками и двойными
В вашем случае, строка
'Location: format-3.php?nomstr=" . ($list + 1) . "' А теперь:
переменные и экранирующие последовательности для специальных символов, встречающиеся в строках, заключенных в одинарные кавычки, не обрабатываются(с)
Ваша строка в одинарных ковычках => меняйте ковычки на двойные

  Ответить  
 
 автор: neadekvat   (04.01.2011 в 00:22)   письмо автору
 
   для: Tonik992   (04.01.2011 в 00:19)
 

То есть
<?php
$list 
1;
echo 
"$list + 1";

выведет два, по-вашему?

  Ответить  
 
 автор: Tonik992   (04.01.2011 в 00:27)   письмо автору
 
   для: neadekvat   (04.01.2011 в 00:22)
 

Че придраться хотите? Эта строка не выведет вам 2.
<?php
$list 
3;
$str 'Location: format-3.php?nomstr=" . ($list + 1) . "';
echo 
$str;
//Location: format-3.php?nomstr=" . ($list + 1) . "

/*
* Двойные кавычки:
*/
$list 3;
$str "Location: format-3.php?nomstr=" . ($list 1);
echo 
$str;
//Location: format-3.php?nomstr=4

?>


так понятно что имелось ввиду?

  Ответить  
 
 автор: neadekvat   (04.01.2011 в 00:35)   письмо автору
 
   для: Tonik992   (04.01.2011 в 00:27)
 

А автору что нужно было?

Нет, непонятно.
Что выведет
<?php
$list 
3;
$str 'Location: format-3.php?nomstr=' . ($list 1);
echo 
$str;

?
уж не то же ли самое?

Так что ваше замечание по поводу кавычек были лишним, т.к. к тому времени автор уже отошел от первоначального варианта.

  Ответить  
 
 автор: Владимир55   (04.01.2011 в 00:30)   письмо автору
 
   для: neadekvat   (04.01.2011 в 00:22)
 

Относительно двойных кавычек я тоже подумал...

В конце концов работоспособное решение найдено. Даже два - и с двойными кавычками, и с одинарными.

Вот так:
header("Location: format-3.php?nomstr=" . ($list+1));


И вот так:
header('Location: format-3.php?' . 'nomstr=' . ($list+1));


Спасибо!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования