За последние 24 часа нас посетили 20564 программиста и 1107 роботов. Сейчас ищут 382 программиста ...

Link в PHP

Тема в разделе "PHP для новичков", создана пользователем Виктор К., 13 май 2016.

Метки:
  1. Виктор К.

    Виктор К. Новичок

    С нами с:
    1 апр 2016
    Сообщения:
    139
    Симпатии:
    6
    Адрес:
    Украина
    Здраствуйте. Пытаюсь вынести head в функцию, но столкнулся с проблемой.
    Страница выдает ошибку 500.
    Вот код:
    PHP:
    1.  function Head($p1, $p2, $p3) {
    2. echo '
    3. <!DOCTYPE html>
    4. <head>
    5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    7. <link href="/resource/style.css" rel="stylesheet">
    8.  
    9. <link href="https://fonts.googleapis.com/css?family=Open+Sans:600&subset=latin,cyrillic" rel="stylesheet" type="text/css">
    10. <link href="https://fonts.googleapis.com/css?family=Roboto:100,300&subset=latin,cyrillic" rel="stylesheet" type="text/css">
    11.  
    12. <link rel="shortcut icon" href="resource/favicon/favicon.ico" type="image/x-icon" />
    13. <link rel="apple-touch-icon" href="resource/favicon/apple-touch-icon.png" />
    14. <link rel="apple-touch-icon" sizes="57x57" href="resource/favicon/apple-touch-icon-57x57.png" />
    15. <link rel="apple-touch-icon" sizes="72x72" href="resource/favicon/apple-touch-icon-72x72.png" />
    16. <link rel="apple-touch-icon" sizes="76x76" href="resource/favicon/apple-touch-icon-76x76.png" />
    17. <link rel="apple-touch-icon" sizes="114x114" href="resource/favicon/apple-touch-icon-114x114.png" />
    18. <link rel="apple-touch-icon" sizes="120x120" href="resource/favicon/apple-touch-icon-120x120.png" />
    19. <link rel="apple-touch-icon" sizes="144x144" href="resource/favicon/apple-touch-icon-144x144.png" />
    20. <link rel="apple-touch-icon" sizes="152x152" href="resource/favicon/apple-touch-icon-152x152.png" />
    21. <link rel="apple-touch-icon" sizes="180x180" href="resource/favicon/apple-touch-icon-180x180.png" />
    22.  
    23. <title>'.$p1.'</title>
    24.  
    25. <meta name="keywords" content="'.$p2.'" />
    26. <meta name="description" content="'.$p3.'" />
    27.  
    28. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
    29. <script type="text/javascript">
    30. $(document).ready(function(){
    31.    $(document).on('click','.show_more',function(){
    32.        var ID = $(this).attr('id');
    33.        $('.show_more').hide();
    34.        $('.loading').show();
    35.        $.ajax({
    36.            type:'POST',
    37.            url:'module/posts/ajax_more.php',
    38.            data:'id='+ID,
    39.            success:function(html){
    40.                $('#show_more_main'+ID).remove();
    41.                $('.tutorial_list').append(html);
    42.             }
    43.         });
    44.      
    45.     });
    46. });
    47. </script>
    48.  
    49. </head>';
    50. }
    Проблема заключается в ссылках. Есть ли какие-либо решения этой проблемы?
     
    #1 Виктор К., 13 май 2016
    Последнее редактирование: 13 май 2016
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.548
    Симпатии:
    1.754
    Не надо писать такие большие куски HTML через строковые константы и echo. Нужно просто временно отключать режим php, а потом снова включать
     
    Виктор К. нравится это.
  3. Виктор К.

    Виктор К. Новичок

    С нами с:
    1 апр 2016
    Сообщения:
    139
    Симпатии:
    6
    Адрес:
    Украина
    А как тогда можно вынести title в параметр?
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.548
    Симпатии:
    1.754
    Для вывода title включить режим php снова. ПРичём, начиная с версии 5.4 разрешили использовать сокращённый синтаксис:
    PHP:
    1. <title><?= $p1; ?></title>
    2. <!-- Тоже самое что -->
    3. <title><?php echo $p1; ?></title>
    --- Добавлено ---
    Вообще, это же изначальная крутая фишка php, он задуман, для того, чтобы включать/отключать режим php столько раз, сколько нужно. ООП, паттерны, фреймворки - это всё потом пришло. Изначальное назначение - вставлять программные конструкции прямо в код HTML
     
    mahmuzar и Виктор К. нравится это.
  5. Виктор К.

    Виктор К. Новичок

    С нами с:
    1 апр 2016
    Сообщения:
    139
    Симпатии:
    6
    Адрес:
    Украина
    Спасибо, вы очень помогли:)