Способы верстки сайта.

Discussion in 'PHP' started by DiHWO, 31 Dec 2009.

  1. DiHWO

    DiHWO Member

    Joined:
    23 Oct 2009
    Messages:
    93
    Likes Received:
    10
    Reputations:
    0
    Заинтересовался этим вопросом. Я создаю сайт, и делаю его динамичным путем внедрения пхп в хтмл код, тобишь:
    Code:
    <html>
    <head><title>Сайт</title></head>
    <body>
    Вася ходил по льду и 
    <?
    if ($abc==1)
    {
    echo'подскользнулся';
    }
    else
    {
    echo 'упал':
    }
    ?>
    </body>
    </html>
    
    Есть ли другой способ? Или этот самый лучший?
     
  2. mr.The

    mr.The Elder - Старейшина

    Joined:
    30 Apr 2007
    Messages:
    1,080
    Likes Received:
    456
    Reputations:
    38
    мб заюзать шаблоны? smarty например. Хотя, если сайт не сложный, то с шаблонами особо удобнее не будет.
     
  3. DiHWO

    DiHWO Member

    Joined:
    23 Oct 2009
    Messages:
    93
    Likes Received:
    10
    Reputations:
    0
    а поподробней? что такое шаблоны?
     
  4. suser

    suser Member

    Joined:
    30 Dec 2009
    Messages:
    35
    Likes Received:
    5
    Reputations:
    0
    Частенько так делаю. помог=+

    PHP:
    <? include'inc.php';
    /* inc.php
    <?
    if ($_GET['x']==1)
    {
    $content = 'подскользнулся';
    }
    else
    {
    $content =  'упал':
    }
    ?>
    */
    ?>

     <html>
    <head><title>Сайт</title></head>
    <body>
    <table width="500" height="200" border="1" align="center" cellpadding="1" cellspacing="1">
      <tr>
        <td width="539" height="193" align="center">Вася ходил по льду и <?=$content;?></td>
      </tr>
    </table>
    </body>
    </html>
     
  5. oldsugar

    oldsugar New Member

    Joined:
    24 May 2009
    Messages:
    30
    Likes Received:
    0
    Reputations:
    0

    при этом short_tags=on в php.ini
     
  6. VDShark

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

    Joined:
    1 Feb 2007
    Messages:
    260
    Likes Received:
    158
    Reputations:
    62
    Code:
    <html>
    <head><title>Сайт</title></head>
    <body>
    Вася ходил по льду и 
    <?php if ($abc==1): ?>
    подскользнулся
    <?php else: ?>
    упал
    <?php endif; ?>
    </body>
    </html>
    
     
  7. qW1zer

    qW1zer Member

    Joined:
    24 Aug 2009
    Messages:
    129
    Likes Received:
    15
    Reputations:
    5
    Есть еще может не совсем логический,но рабочий вариант:
    PHP:
    <?
    $param = array (
        
    "title"  => "sitename"
        "body"  
    => "text"
        "foot"  
    => "footertext"
    );
    ?>
    <html>
     <head>
      <title><?=$param['title']?></title>
     </head>
       <body>
        <?=$param['body']?>
       </body>
    <?=$param['foot']?>
    </html>

    Примерно так,хоть он отличается выполнением и структурой от остальных,но его тоже можно тут применить и думаю ты найдешь правильное решение.
     
  8. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Это все работает, НО это не профессионально. Шаблоны - true.
     
    1 person likes this.
  9. WNZRS

    WNZRS Member

    Joined:
    3 Sep 2009
    Messages:
    294
    Likes Received:
    52
    Reputations:
    1
    Code:
    <?php
    //$html = file_get_contents('page.html');
    $html = '<html>
     <head>
      <title>{TITLE}</title>
     </head>
       <body>
    {CONTENT}
       </body>
    </html>';
    
    $title = 'Error 404';
    $text = 'Page not found';
    if(!isset($_GET['page']))
    {
    $title = 'Main page';
    $text = 'Welcome to site';
    }
    else if($_GET['page'] == 'ip')
    {
    $title = 'View ip';
    $text = 'Your ip: '.$_SERVER['REMOTE_ADDR'];
    }
    
    $html = str_replace('{TITLE}', $title, $html);
    $html = str_replace('{CONTENT}', $text, $html);
    echo $html;
    ?>
    Почти шаблон..
     
  10. Vlad&slav

    Vlad&slav Member

    Joined:
    1 Jan 2009
    Messages:
    207
    Likes Received:
    41
    Reputations:
    9
    Как правильно (проф) внедрять шаблон? Через стр репласе или это делается по другому както через $tpl<=();. Незнаю
     
  11. DiHWO

    DiHWO Member

    Joined:
    23 Oct 2009
    Messages:
    93
    Likes Received:
    10
    Reputations:
    0
    таааак...спасибо за ответы
    suser, помог, но мне такой вариант не по душе.
    Понял что юзать надо шаблоны, но вот накопилась еще пара вопросов:
    что за зверь "<br />" и с чем его едят? Можно ли делать так:
    Code:
    <?
    $num=15;
    if ($num==15)
    {
    global $num;
    $num=10;
    }
    echo $num;
    ?>
    //скрипт выводит число 10.
    
    И, если это неправильно/небезопасно, то как добиться того же эффекта, но другим(безопасным и правильным) путем?
     
  12. Fuckel

    Fuckel Banned

    Joined:
    16 Jan 2008
    Messages:
    274
    Likes Received:
    59
    Reputations:
    6
    а что с <br>? http://htmlbook.ru там все есть про теги
    а что может быть в этом скрипте небезопасно?
     
  13. DiHWO

    DiHWO Member

    Joined:
    23 Oct 2009
    Messages:
    93
    Likes Received:
    10
    Reputations:
    0
    вот я у вас и спрашиваю
    Ну, раз безопасный значит хорошо.
    Насчет <br>, я знаю что такое тэг <br>, а что за тэг <br /> незнаю, и в htmlbook.ru не сказанно про этот тэг ничего.
     
    #13 DiHWO, 13 Jan 2010
    Last edited: 13 Jan 2010
  14. Fuckel

    Fuckel Banned

    Joined:
    16 Jan 2008
    Messages:
    274
    Likes Received:
    59
    Reputations:
    6
    не знаю как ты будешь сайты писать, если ты не слышал про валидацию документов =\ плохо ищешь. на главной странице htmlbook.ru следуй по ссылкам валидации. http://stepbystep.htmlbook.ru/?id=63
     
  15. imajo.ati

    imajo.ati Banned

    Joined:
    21 Feb 2008
    Messages:
    232
    Likes Received:
    62
    Reputations:
    8
    тег <br> испольщуется для html документов, <br /> для XHTML документов. дело в том что последний тип требует закрытия всех тегов, даже одиночных.
    пример:
    HTML: <meta name=Copyright content=123>
    XHTML: <meta name="Copyright" content="123" />

    я бы не стал использовать xhtml, он не поддерживается в IE 6.0
     
  16. superboy4

    superboy4 Banned

    Joined:
    17 Jul 2007
    Messages:
    151
    Likes Received:
    19
    Reputations:
    -8
    Пример таблицы

    HTML:
    <table border="1" bordercolor="grey" cellspacing="10" cellpadding="0">
     <tr>
      <td>Test</td><td>Test</td>
     </tr>
     <tr>
      <td>Test</td><td>Test</td>
     </tr>
    </table>
    Почему у всех таблиц которые я делаю, рамки ячеек слева и сверху как будто выдавлены?

    Как это убрать?

    посмотрите рисунок 1

    http://www.htmlbook.ru/html/table.html
     
    #16 superboy4, 14 Jan 2010
    Last edited: 14 Jan 2010
  17. -=chelovek=-

    -=chelovek=- Member

    Joined:
    3 Jul 2009
    Messages:
    133
    Likes Received:
    11
    Reputations:
    0
    superboy4 Зачем несколько раз постить одно и то же. Ведь тема есть уже!
     
  18. imajo.ati

    imajo.ati Banned

    Joined:
    21 Feb 2008
    Messages:
    232
    Likes Received:
    62
    Reputations:
    8
    http://htmlbook.ru/css/border-collapse.html
     
    1 person likes this.
  19. DiHWO

    DiHWO Member

    Joined:
    23 Oct 2009
    Messages:
    93
    Likes Received:
    10
    Reputations:
    0
    как организовать вывод постов постранично, тоесть как в любом форуме, набралось, например, 10 постов, создалась страница "2", и т.д. ??? Я вот думал так: при добавлении поста скрипт проверяет количество уже имеющихся постов в БД и если постов в БД больше n количества создает хтмл страницу и автоматически ее заполняет. Но тогда получаеться проблема, таким образом скрипт будет постоянно создавать страницы, перезаписывая точно такие же старые, что неприемлемо ибо быдло код. Или, могу сделать так, чтобы скрипт проверял количество страниц, и, если страниц хвататет для n постов, то оставлял бы все как есть, а если не хватает, то создавал бы новую страницу. Но и этот вариант мне не нравиться, так как производит много действий. Что посоветуете?
     
  20. Neoveneficus

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

    Joined:
    10 Apr 2008
    Messages:
    235
    Likes Received:
    126
    Reputations:
    23
    велосипеды уже давно изобретены - я использую Smarty Template Engine

    всем, кто что-то говорил про "профессиональность" и "непрофессиональность" , рекомендую познакомиться с таким понятием как Design Pattern (Шаблоны проектирования)... Вы поймете насколько унылы ваши советы...
     
    1 person likes this.