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 :: Синтаксис <<<HTML HTML;

 PHP.SU

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


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

> Без описания
Bios
Отправлено: 11 Ноября, 2009 - 21:29:31
Post Id



Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Нояб. 2009  


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




Возникла проблемка

PHP:
скопировать код в буфер обмена
  1.         function config_adm_php($charset,$skin,$key,$config_web,$config_la2,$config_mail,$mail_massenges){
  2.                 $config_adm_php = <<<HTML
  3. <?PHP
  4. if(!defined(Guard)) {die("<meta http-equiv='refresh' content='0; URL=http://{$_SERVER['HTTP_HOST']}'>");}
  5.  
  6. $cfg_adm['charset']="$charset";
  7. $cfg_adm['title']="Управление сайтом";
  8. $cfg_adm['templates']="$skin";
  9. $cfg_adm['web_mysql']=array("localhost","3306","root","root","web_la2","cp1251");
  10. $cfg_adm['key']="$key";
  11.  
  12. $cfg_adm['config.web']="$config_web";
  13. $cfg_adm['config.la2']="$config_la2";
  14. $cfg_adm['config.mail']="$config_mail";
  15. $cfg_adm['mail_massenges']="$mail_massenges";
  16. ?>
  17.                  HTML;
  18.  
  19.         $file = fopen ('config.php',"w+");
  20.         if ( !$file ){
  21.                 print ("Ошибка открытия файла");
  22.         }else{
  23.                 flock ($file , LOCK_EX );
  24.                 fputs ($file, $config_adm_php);
  25.                 flock ($file , LOCK_UN );
  26.         }
  27.         if($file) fclose ($file);
  28.         }


пишет Parse error: syntax error, unexpected T_SL in index.php on line 117

что я хочу сделать ,в эту функцию приходят новые настройки ,они вносятся и дальше идет обновление файла

подскажите как правильно записать

(Отредактировано автором: 11 Ноября, 2009 - 21:34:45)

 
 Top
JROUD
Отправлено: 12 Ноября, 2009 - 00:01:07
Post Id


Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Нояб. 2009  


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




Не понял Что это за конструкция такая?
CODE (text):
скопировать код в буфер обмена
  1. $config_adm_php = <<<HTML

Это робот писал?
Зачем берёте переменные в кавычки?
Что это такое:
CODE (text):
скопировать код в буфер обмена
  1.                  HTML;

Где строка 117, здесь их всего только 28?
Почитайте это http://php.su/lessons/?lesson_13
 
 Top
Bios
Отправлено: 12 Ноября, 2009 - 00:19:07
Post Id



Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Нояб. 2009  


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




=)

как вы видете в переменную $config_adm_php должен попасть код который между
<<<HTML HTML;

например
\$cfg_adm['charset']="$charset";

место $charset будет то что попало в функцию


потом будет перезаписан файл и когда откроем файл config.php
у нас будет

$cfg_adm['charset']="и тут то что попало в функцию";




но уже не важно =)

я раздуплился =)
 
 Top
Мелкий Супермодератор
Отправлено: 12 Ноября, 2009 - 00:20:55
Post Id



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


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


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




JROUD, стандартный HEREDOC. http://php.su/learnphp/datatypes/?string#heredoc

Bios, может пых обрабатывает <?php ?> внутри heredoc?
Попробуйте переписать так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $config_adm_php = <<<HTML
  3. if(!defined(Guard)) {die("<meta http-equiv='refresh' content='0; URL=http://{$_SERVER['HTTP_HOST']}'>");}
  4.  
  5. $cfg_adm['charset']="$charset";
  6. $cfg_adm['title']="Управление сайтом";
  7. $cfg_adm['templates']="$skin";
  8. $cfg_adm['web_mysql']=array("localhost","3306","root","root","web_la2","cp1251");
  9. $cfg_adm['key']="$key";
  10.  
  11. $cfg_adm['config.web']="$config_web";
  12. $cfg_adm['config.la2']="$config_la2";
  13. $cfg_adm['config.mail']="$config_mail";
  14. $cfg_adm['mail_massenges']="$mail_massenges";
  15.                  HTML;
  16. $config_adm_php = '<?PHP ' . $config_adm_php . '?>';


-----
PostgreSQL DBA
 
 Top
Bios
Отправлено: 12 Ноября, 2009 - 00:29:00
Post Id



Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Нояб. 2009  


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




я чуток не так сделал ,полазил по и-нету и вот что сделал


PHP:
скопировать код в буфер обмена
  1.         function config_adm_php($charset,$templates,$mys,$key,$config_web,$config_la2,$config_mail,$mail_massenges){
  2.                 global $cfg_adm;
  3.                 $handler = fopen("config.adm.php", "w");
  4.                 if($handler){
  5.                         fwrite($handler,"\<\?php\r\nif(!defined(Guard)) {die(\"<meta http-equiv='refresh' content='0; URL=http://{\$_SERVER['HTTP_HOST']}'>\");}\r\n\r\n");
  6.                         fwrite($handler,"\$cfg_adm['charset']=\"".$charset."\";\r\n");
  7.                         fwrite($handler,"\$cfg_adm['title']=\"Управление сайтом\";\r\n");
  8.                         fwrite($handler,"\$cfg_adm['templates']=\"".$templates."\";\r\n");
  9.                         fwrite($handler,"\$cfg_adm['web_mysql']=array(\"".$mys[0]."\",\"".$mys[1]."\",\"".$mys[2]."\",\"".$mys[3]."\",\"".$mys[4]."\",\"".$mys[5]."\");\r\n");
  10.                         fwrite($handler,"\$cfg_adm['key']=\"".$key."\";\r\n\r\n";
  11.                         fwrite($handler,"\$cfg_adm['config.web']=\"".$config_web."\";\r\n");
  12.                         fwrite($handler,"\$cfg_adm['config.la2']=\"".$config_la2."\";\r\n");
  13.                         fwrite($handler,"\$cfg_adm['config.mail']=\"".$config_mail."\";\r\n");
  14.                         fwrite($handler,"\$cfg_adm['mail_massenges']=\"".$mail_massenges."\";\r\n");
  15.                         fwrite($handler,"\?>");
  16.                         fclose($handler);
  17.                 }else{return false;}
  18.                 return true;
  19.         }

(Отредактировано автором: 12 Ноября, 2009 - 00:30:15)

 
 Top
JROUD
Отправлено: 12 Ноября, 2009 - 01:44:48
Post Id


Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Нояб. 2009  


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




Мелкий, спасибо, теперь ясно. Только получается что в первом посте Bios - а ошибка: табы перед закрывающим идентификатором.
И ещё, разве не нужно очищать поток вывода в предыдущем посте? И, кажись, сначала переход на новую строку, а потом возврат каретки.

(Отредактировано автором: 12 Ноября, 2009 - 01:53:38)

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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB