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

Форум PHP

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

 

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

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

тема: print <<<HERE
 
 автор: *m*   (23.06.2009 в 15:53)   письмо автору
 
 

Всем привет!)

Столкнулся с такой проблемой, никакие данные не отображаются вместе с кодом где идет print <<<HERE

тоесть например такой код:

<?
session_start
();
// допустим
$a это какоенибудь числонапример 2
$b это какойнибудь текст
например "Текст<br />"

$_SESSION['a'] = $a;
$_SESSION['b'] = $b;

if (
//что нибудь) {// делаем это;}
else {

echo (
$_SESSION['a']);
echo (
$_SESSION['b']);

print <<<HERE
//и так далее
HERE;
}
?>

Поясню: я специально привожу пример используя переменные сессии, поскольку, проискодит обновление скрипта.

итак соль вопроса:

echo ($_SESSION['a']); выводиться.., только вместо "2" выводит "0" и вместо любова другова числа все равно будет выводить НОЛЬ.

echo ($_SESSION['b']); ничего не отображает, хотя если посмотреть исходный код, тег <br /> присутствует.

почему, куда деваются данные??

пробовал через include, тоесть записывал данные в файл и подключал его перед print <<<HERE данные в файл записывались а все равно не отображались. А если в подключаемом файле удалить все, все теги и проч и просто чтонибудь написать например слово "текст", то оно отображается.

Вопрос почему так??? и как это обойти.
Заранее благадарю, за помощь.

  Ответить  
 
 автор: winflip   (23.06.2009 в 16:05)   письмо автору
 
   для: *m*   (23.06.2009 в 15:53)
 

Вроде всё верно, но по отрывку тяжело судить. После echo скобки не обязательны. echo в PHP выступает больше в роли именованного оператора

  Ответить  
 
 автор: serjinio   (28.06.2009 в 19:38)   письмо автору
 
   для: *m*   (23.06.2009 в 15:53)
 

Нет такой конструкции
print <<<HERE
//и так далее
HERE; 

есть
print " ";

и
<<<HERE
//и так далее
HERE;

притом в последней, перед <<< не должно быть ничего даже пробела(с новой строчки)..ИМХО очень капризная и тормозная конструкция...

  Ответить  
 
 автор: nikita2206   (28.06.2009 в 21:36)   письмо автору
 
   для: serjinio   (28.06.2009 в 19:38)
 

бред, можно даже так написать:
<?
echo htmlspecialchars(
<<<HTML
<b>Всякий хтмл код</b>
HTML
);

  Ответить  
 
 автор: SaIdEr   (28.06.2009 в 23:09)   письмо автору
 
   для: nikita2206   (28.06.2009 в 21:36)
 

незнаю как выт ам делаете, но это все я делаю примерно так

<?
$text
=<<<EOF
<b>Всякий хтмл код</b>
EOF;

$code_text=htmlspecialchars($text);

echo 
$code_text."\r\n";
?>

  Ответить  
 
 автор: nikita2206   (28.06.2009 в 23:13)   письмо автору
 
   для: SaIdEr   (28.06.2009 в 23:09)
 

я лишь показал, насколько сложная может быть структура кода с применением heredoc

  Ответить  
 
 автор: DSaint   (21.07.2009 в 12:10)
 
   для: serjinio   (28.06.2009 в 19:38)
 

Спасибо за разъяснение. И правда структура в качестве оформления не совсем удобная (портит внешний вид кода). Но вот другого способа представления форм к сожалению не вижу (что бы не менять ковычки)

  Ответить  
 
 автор: Кавычкомэн   (22.07.2009 в 03:37)
 
   для: DSaint   (21.07.2009 в 12:10)
 

"КОВЫЧКИ" aka "кавычечки"

  Ответить  
 
 автор: Trianon   (22.07.2009 в 03:39)   письмо автору
 
   для: serjinio   (28.06.2009 в 19:38)
 

вот зачем?

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

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