[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Применение include для HTML
Beowolf
Столкнулся со странным явлением, я пишу
PHP
echo(include("main.html"));
, выводится текст main.html, а следом за ним 1. Если делать просто include, а echo внутри html, все выводится нормально. Файлы в Юникод, может в этом причина?



Спустя 4 минуты, 52 секунды (1.07.2009 - 16:31) stepan написал(а):
Цитата (Beowolf @ 1.07.2009 - 13:26)
echo(include("main.html"));

Для чего тебе такие сложные тело движения?


Спустя 3 минуты, 50 секунд (1.07.2009 - 16:34) Beowolf написал(а):
A как надо?
это вывод выбранного пункта меню
PHP
 switch($_GET["link"])
         {
          case "services":
            echo(include("services.html"));
            break;
          case "partners":
            echo(include("partners.html"));
            break;
          case "vacancy":
            echo(include("vacancy.html"));
            break;
          case "contacts":
            include("contacts.html");
            break;
          case "":
            echo(include("main.html"));
            break;
         };

PS Сами HTML напрямую тоже открываются нормально.

Спустя 9 минут, 22 секунды (1.07.2009 - 16:44) stepan написал(а):
А разве не льзя просто инклудить поидеи он и так должен тебе все html выводить, а лучше ни пользуйся html файлами а делай все через php т.е.:
PHP
switch($_GET["link"])
         {
          case "services":
            include("services.php");
            break;
          case "partners":
            include("partners.php");
            break;
          };

services.php:
PHP
echo "<html>";
...
echo "</html>";


Да еще почитай по php инъекциям.

Спустя 13 минут, 13 секунд (1.07.2009 - 16:57) kirik написал(а):
Цитата (stepan @ 1.07.2009 - 08:44)
Да еще почитай по php инъекциям.

а где они возможны в этом коде?

Цитата (stepan @ 1.07.2009 - 08:44)
А разве не льзя просто инклудить

согласен. echo тут не выполняет никаких функций..

кстати вместо
Цитата (Beowolf @ 1.07.2009 - 08:34)
case "":
   echo(include("main.html"));
break;

можно использовать
PHP
default:
   include("main.html");

Спустя 8 минут, 26 секунд (1.07.2009 - 17:05) Beowolf написал(а):
Спасибо, echo действительно оказалось лишним.

Спустя 1 минута, 48 секунд (1.07.2009 - 17:07) stepan написал(а):
Цитата (kirik @ 1.07.2009 - 13:57)
а где они возможны в этом коде?

blink.gif да тупанул как обячно под конец рабочего дня blink.gif

Спустя 14 минут, 15 секунд (1.07.2009 - 17:21) twin написал(а):
Цитата
да тупанул как обячно под конец рабочего дня

И не один раз smile.gif
Вот этот совет зачем?
Цитата
а лучше ни пользуйся html файлами а делай все через php т.е.:

Конструкция echo по большому счету делает из строки html, если её так применять. А зачем сначала писать строку, потом делать html, напрягая процессор php, если можно сразу подключить html?

Спустя 3 часа, 4 минуты, 25 секунд (1.07.2009 - 20:26) sergeiss написал(а):
Цитата (Beowolf @ 1.07.2009 - 17:26)
выводится текст main.html, а следом за ним 1. Если делать просто include, а echo внутри html, все выводится нормально. Файлы в Юникод, может в этом причина?

Причина только в том, что так и должно быть. Потому через include ты подключаешь файл, а затем через echo выводишь результат этого инклуда smile.gif Так что всё нормально. Просто надо забыть про echo в такой ситуации и просто писать include
PHP
switch($_GET["link"])
         {
          case 
"services":
            include(
"services.html");
            break;
          case 
"partners":
            include(
"partners.html");
            break;
...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.