Вопросы по пхп + хтмл

Discussion in 'PHP' started by ruzzer, 25 Nov 2008.

  1. ruzzer

    ruzzer Elder - Старейшина

    Joined:
    29 Jul 2007
    Messages:
    43
    Likes Received:
    10
    Reputations:
    3
    Добрый вечер. Возник такой вопрос. нужно сделать чтобы <title> <?php echo $title; ?></title> менялось динамически, но переменная $title находится в php файле, который инклудится ниже тэга <title>. Как сделать чтобы все заработало как надо и тег заголовок страницы менялся?
     
    2 people like this.
  2. ruzzer

    ruzzer Elder - Старейшина

    Joined:
    29 Jul 2007
    Messages:
    43
    Likes Received:
    10
    Reputations:
    3
    действительно не правильно понял)) Проблема в том что переменная $title ниже в коде чем тег <title>
     
  3. ruzzer

    ruzzer Elder - Старейшина

    Joined:
    29 Jul 2007
    Messages:
    43
    Likes Received:
    10
    Reputations:
    3
    Код html
    Code:
    <html>
    <title>
    <?php echo $title; ?>
    </title>
    <body>
    <?php
    include('page.php');
    ?>
    </body>
    </html>
    
    код page.php

    Code:
    <?php
    $title = 'page.php';
    echo "трали вали? бла бла-бла. Тут типа много текста";
    ?>
    
    Допустим так.=)
     
  4. FeoЩту

    FeoЩту New Member

    Joined:
    13 Nov 2008
    Messages:
    29
    Likes Received:
    4
    Reputations:
    0
    Code:
    <?
      $title = 'page.php';
    ?>
    <html>
    <title><?php echo $title; ?></title>
    <body>
    <?php
    include('page.php');
    ?>
    </body>
    </html>
     
  5. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    В этом случае можно сделать шаблон, либо внести текст в переменную и уже с помощью инклуда использовать в другом скрипте.
    page.php
    Code:
    <?php
    $title = 'page.php';
    $text = "трали вали? бла бла-бла. Тут типа много текста";
    ?>
    index.php
    Code:
    <?php
    require('page.php');
    ?>
    <html>
    <title><?php echo $title; ?></title>
    <body>
    <?php echo $text; ?>
    </body>
    </html>
     
    2 people like this.
  6. ruzzer

    ruzzer Elder - Старейшина

    Joined:
    29 Jul 2007
    Messages:
    43
    Likes Received:
    10
    Reputations:
    3
    эх, в общем вместо

    echo "трали вали? бла бла-бла. Тут типа много текста";

    Идет длинный код, который в переменную не занести, а на счет шаблона надо подумать))
     
  7. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    ruzzer А так?
    PHP:
    <?php
    ob_start
    ();
    include(
    'page.php');
    $out=ob_get_contents();
    echo 
    "<html>
    <title>
    $title
    </title>
    <body>
    $out
    </body>
    </html>"
    ;
     
    _________________________
    1 person likes this.
  8. ruzzer

    ruzzer Elder - Старейшина

    Joined:
    29 Jul 2007
    Messages:
    43
    Likes Received:
    10
    Reputations:
    3
    Всем конечно спасибо, но все оказалось гораздо проще
    код хтмл
    Code:
    <html>
    <body>
    <?php
    include('page.php');
    ?>
    </body>
    </html>
    
    Код page.php
    Code:
    <?php
    $title = 'page.php';
    echo "<title>$title</title>";
    echo "трали вали? бла бла-бла. Тут типа много текста";
    ?>
    
    Из хтмл надо было убрать <title> и написать его в page.php )))
     
  9. Solker

    Solker Elder - Старейшина

    Joined:
    4 May 2006
    Messages:
    175
    Likes Received:
    53
    Reputations:
    18
    По твоему коду получается, что ты <title> суешь после <body>.
    Правила гласят, <title> должно находится в <head>

    Не понимаю, если тебе подходит твой последний вариант, то почему не подходит вариант от NOmeR1. Они идентичны, только в отличии от твоего у него правильный.
     
    #9 Solker, 26 Nov 2008
    Last edited: 26 Nov 2008
    1 person likes this.
  10. Neoveneficus

    Neoveneficus Elder - Старейшина

    Joined:
    10 Apr 2008
    Messages:
    235
    Likes Received:
    126
    Reputations:
    23
    Эх. Логика и оформление (дизайн, верстка) должны быть отдельно. Если есть время, присмотрись к smarty-шаблонам.
    www.smarty.net

    P.S. А title должен быть в head...
     
    1 person likes this.
  11. [х26]VОLАND

    [х26]VОLАND Elder - Старейшина

    Joined:
    7 Jun 2006
    Messages:
    513
    Likes Received:
    756
    Reputations:
    218
    Может ты имел ввиду что бизнес-логика и логика отображения должны быть отдельно? ;)

    В принципе, указание на какой-либо конкретный шаблонизатор в данной теме не уместно. Автору надо в общем изучить принцип шаблонов. А может ему захочется использовать нативный PHP? ;)
    Ещё не помешало бы почитать про MVC...
    У ТС сразу отпадёт необходимость вот в таких вот извращениях...
     
  12. MuXaJIbI4

    MuXaJIbI4 Member

    Joined:
    20 Nov 2008
    Messages:
    66
    Likes Received:
    7
    Reputations:
    0
    Зачем смешивать серверную логику и отображение информации?
     
  13. GuD-ok

    GuD-ok New Member

    Joined:
    14 Nov 2008
    Messages:
    17
    Likes Received:
    2
    Reputations:
    0
    +1


    А вообще всем курить AJAX.