За последние 24 часа нас посетил 57761 программист и 7255 роботов. Сейчас ищет 2491 программист ...

Пропадает подсветка при написании символа > и не работает код

Тема в разделе "PHP для новичков", создана пользователем геймер90, 20 авг 2017.

  1. геймер90

    геймер90 Новичок

    С нами с:
    20 авг 2017
    Сообщения:
    13
    Симпатии:
    0
    Сегодня решил приступить к изучению php, но в блокноте почему-то слетает подсветка когда пишу > и эхо не выводится в браузере, хотя в блокноте я нажал кнопку "сохранить". Что тут за ошибка?
     

    Вложения:

    • file.JPG
      file.JPG
      Размер файла:
      4,1 КБ
      Просмотров:
      15
  2. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.213
    Симпатии:
    1.711
    Адрес:
    Молдова, г.Кишинёв
    Странно, можно netbeans поставить или phpstrom, это IDE и они имеют больше возмодностей
     
  3. teleoperator

    teleoperator Зэк
    [ БАН ]

    С нами с:
    3 июл 2017
    Сообщения:
    107
    Симпатии:
    29
    подсветка в БЛОКНОТЕ? :eek:
    пробелы попробуй поставить перед и после >
     
  4. геймер90

    геймер90 Новичок

    С нами с:
    20 авг 2017
    Сообщения:
    13
    Симпатии:
    0
    Ну, а собственно какая разница где писать, код очень примитивный? Вообще с любого блокнота должно запускаться. Я что-то не могу разобраться, почему код не компилируется в браузере. Локальный сервер установлен.
     
  5. геймер90

    геймер90 Новичок

    С нами с:
    20 авг 2017
    Сообщения:
    13
    Симпатии:
    0
    Только уберу символ >, подсветка появляется. Может обработчик не понимает символ > ? То есть может он не в той раскладке, например. Хотя, у меня выбран английский язык. Не пойму. Как будто он не понимает символа.
     
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.843
    Симпатии:
    1.338
    Адрес:
    Лень
    notepad++ синтаксис - P - PHP
    или
    Опции - настройки - раздел нев Докум - синтаксис по умолчанию пхп
    --- Добавлено ---
    еще плюшка в карму - не используй хвост лысого карло ?> если один лишь скрипт там
     
  7. геймер90

    геймер90 Новичок

    С нами с:
    20 авг 2017
    Сообщения:
    13
    Симпатии:
    0
    Не, ну интересно. А вот еще код
    PHP:
    1. <?php
    2. $bool = true;
    3. if ($bool) {
    4.     $hi = 'Hello';
    5. }
    6. echo $hi;
    7. ?>
    Это уже работает. В браузере пишет Hello
     
    #7 геймер90, 20 авг 2017
    Последнее редактирование модератором: 21 авг 2017
  8. teleoperator

    teleoperator Зэк
    [ БАН ]

    С нами с:
    3 июл 2017
    Сообщения:
    107
    Симпатии:
    29
    А что ты ждал в выводе? Если бы у тебя был включен вывод ошибок, то вывелись бы ошибки. Из кода
    Код (Text):
    1. <?php
    2. if($a>$b){
    3. echo 'larger';
    4. }
    5. ?>
    ничего кроме ошибки и не могло вывестись, поэтому ничего и не выводится. А и Б сидели на трубе...
     
    геймер90 нравится это.
  9. геймер90

    геймер90 Новичок

    С нами с:
    20 авг 2017
    Сообщения:
    13
    Симпатии:
    0
    Да уж, я по неопытности и прогавил, что код то действительно без смысла.
    --- Добавлено ---
    А как включить, чтоб ошибки выводились?
     
  10. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    php-код не имеет никакого отношения к браузеру. Браузер получает уже результат выполнения
     
  11. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.012
    Симпатии:
    1.679
    Адрес:
    :сердА
    Однако, прежде чем начинать кодить, неплохо было бы изучить базу. С ней пока что все очень плохо.
     
  12. геймер90

    геймер90 Новичок

    С нами с:
    20 авг 2017
    Сообщения:
    13
    Симпатии:
    0
    Какую базу? Что посоветуете учить тогда?
     
  13. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.012
    Симпатии:
    1.679
    Адрес:
    :сердА
    Для начала прочитать вот это. С этого многие начинали. И я в том числе, да. А потом и все остальные материалы на сайте. Там в паре-тройке мест есть устаревшая инфа, но ничего страшного. Так, например, не нужно использовать расширение mysql_ для работы с мускулём. Вместо него используйте mysqli_. И..пожалуй все. Все остальное там норм.

    P.S. Если у вас версия пхп 7+, то использовать mysql_ расширение вы не сможете физически, ибо выпилено нафиг.
     
  14. геймер90

    геймер90 Новичок

    С нами с:
    20 авг 2017
    Сообщения:
    13
    Симпатии:
    0
    Я пока учусь на версии 5. А почему в 7 версии нельзя использовать mysql_ расширение? А как взаимодействовать тогда с базой данных?
     
  15. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.012
    Симпатии:
    1.679
    Адрес:
    :сердА
    Потому что mysql_ это дырявое сито на костылях. И было удалено из PHP в 7 версии.
    Через расширение mysqli_. Оно есть в пятой ветке. Оно там давно уже есть. А mysql_ уже давно в пятой ветке выбрасывает исключения.

    Дай угадаю - на денвере каком-нибудь? Если да, то выкинь его нафиг и поставь себе хотя бы опенсервер, раз уж пока под виндой кодишь. Но, в идеале, виртуалочка нужна с линупсом на борту и ручками собранное окружение. Эти навыки очень пригодятся, когда купишь свой первый VPS и окажется, что в нем нет ничего. Порой даже апача или нжинкса может не быть. Голая система с дефолтным набором пакетов, до которой можно достучаться только по SSH.
     
  16. геймер90

    геймер90 Новичок

    С нами с:
    20 авг 2017
    Сообщения:
    13
    Симпатии:
    0
    Поясните это предложение, пожалуйста, я не понимаю.

    Хочу установить Минт, но пока на Виндовсе с Денвером. Для начала пускай так побудет. Пока не подводит, а дальше перейду на более современные платформы.
     
  17. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
  18. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.012
    Симпатии:
    1.679
    Адрес:
    :сердА
    Подводит. Исполни-ка там что-нибудь из современного PHP, будь добр. например:

    PHP:
    1. <?php
    2. $a = [1,2,3];
    3. ?>
    или

    PHP:
    1. <?php
    2. $a = null;
    3. $b = $a ?? 1;
    4. ?>
    Ошибки синтаксиса, м? И это капля в море. В PHP произошли изменения работы логики некоторых вещей, к примеру. Это уже не так очевидно.

    В денвере по дефолту, в нормально работающей сборке, стоит PHP 5.1.2, если память мне не изменяет. Это версия 2006 года. Отстающая от php7+ на 11 лет. Одиннадцать. За это время уже целое поколение успело родиться и 5 классов школы закончить, телефоны стать поголовно сенсорными, а страна словить два тяжелых экономических кризиса.
     
  19. геймер90

    геймер90 Новичок

    С нами с:
    20 авг 2017
    Сообщения:
    13
    Симпатии:
    0
    Да, в первом примере пишет Parse error: syntax error, unexpected '[' on line 2, во втором Parse error: syntax error, unexpected '?' on line 3. Но честно говоря, я и сам пока не понял смысла ваших примеров. Как я понимаю, в первом, объявлен массив. Но что с ним делать не указали. Соответственно я б тоже на месте обработчика сказал бы "error". Второй пример тоже неясен "непонятный символ", как будто вы хотели написать оператор, но выбрали неправильный символ. Так что для меня пока подойдет старичок 2006 года. А когда стану продвинутым прогером (надеюсь), то перейду на семерку.
     
  20. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    Не правильно рассуждаете. Выкиньте Denwer, поставьте Open Server, и радуйтесь нормальной версии PHP
     
    Fell-x27 нравится это.
  21. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.012
    Симпатии:
    1.679
    Адрес:
    :сердА
    Пффф.. Когда это не использование перменной считалось ошибкой синтаксиса? Окей, а так?

    PHP:
    1. <?php
    2. $a = [1,2,3];
    3. foreach ($a as $item){
    4.     echo ($item.<br>);
    5. }
    6. ?>

    Это 100% валидный код. Никаких неправильных символов в нем нет. Это называется "Null-коалесцентный оператор". Вещь, о которой я мечтал в PHP очень очень долго, к слову. Разгадка, почему он у тебя выдал ошибку синтаксиса проста: PHP 5.1.2 появился за 10 лет до
    появления этого оператора в PHP как такового. И в первом примере тоже просто новый синтаксис, более краткий и удобный. Который в 5.4 завезли, если мне память не изменяет. То есть уже давно. А в 5.1 не завезли.

    И если Null-коалесцентный оператор юзают не все подряд (потому что не знают, какая это волшебная прелесть), то вот краткий синтаксис объявления массивов а-ля JavaScript, уже прижился повсеместно, просто корнями врос. И код современный и примеры в интернете, скорее всего будут с ним. И он этот код будет у тебя падать.
    --- Добавлено ---
    +
     
  22. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    Да уж, писать постоянно isset($_GET["parameter"]) ? $_GET["parameter"]: $parameter_default_value доставало жутно
     
  23. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.012
    Симпатии:
    1.679
    Адрес:
    :сердА
    Ну..поначалу ок. А потом ты изучаешь JS и привыкаешь к тамошнему var a = b || c. И все. Потом начинаешь хотеть такое же в PHP. А PHP так не умеет, потому что оператор || кастит результат к bool :(
     
  24. геймер90

    геймер90 Новичок

    С нами с:
    20 авг 2017
    Сообщения:
    13
    Симпатии:
    0
    А что означает тег p class в данном отрывке кода? Отсылки в css нет. Зачем это написано?
    PHP:
    1. if (empty($_POST['login_name'])) {
    2.         print '<p class="error">Please enter your email address.</p>';
    3.         $okay = FALSE;
    4. }
    Это отрывок из формы регистрации.
     
  25. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.012
    Симпатии:
    1.679
    Адрес:
    :сердА
    Это не тег p class, это тег p, а у него есть атрибут class для CSS. Чтобы можно было без гемора взять и навесить стили в любой момент.