За последние 24 часа нас посетили 21596 программистов и 1603 робота. Сейчас ищут 1168 программистов ...

Ошибка: unexpected T_CONST, expecting T_OLD_FUNCTION

Тема в разделе "Вопросы от блондинок", создана пользователем alekslkta, 12 авг 2008.

  1. alekslkta

    alekslkta Активный пользователь

    С нами с:
    12 авг 2008
    Сообщения:
    32
    Симпатии:
    0
    Добрый вечер! Возникла такая проблема. Создал что-то вроде маленького интернет магазина, в целях обучения. Всё находится в своих модулях, классы отдельно, индекс отдельно. Всё сделано вроде правильно как запускаю страницу пишет такое Parse error: parse error, unexpected T_CONST, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in z:\home\localhost\www\fc\class_baza.php on line 5

    Класс связывающий PHP с базой выглядет так (там и эта ошибка вылазит):

    PHP:
    1.  
    2.  
    3. <?php
    4. class baza
    5. {
    6. // Задание констант класса
    7.   const USERNAME = 'root;
    8.  const PASSWORD = '';
    9.  const DBNAME = 'USER';
    10.  const SERVER = 'localhost';
    11.  /*
    12.   Конструктор класса   устанавливает соединение с базой данных
    13. */
    14.  function __construct($name = NULL)
    15.  {
    16.    if($mysqli = new mysqli(self::SERVER, self::USERNAME, self::PASSWORD, self::DBNAME))
    17.    {
    18.         $this->connection = $mysqli;
    19.    }
    20.    else
    21.    {
    22.         echo "Не удается соединиться с сервером MySQL";
    23.         exit;
    24.    }
    25.    if ($name)
    26.    {
    27.         $this->name = $name;
    28.  
    29.    }
    30.  }
    31.  function show_country_list()
    32.  {
    33.     $quest="SELECT description  FROM news";
    34.     if ($result = $this->connection->query($quest))
    35.     {
    36.     while ($row = $result->fetch_assoc())
    37.     {
    38.     $spisok[] = $row['name'];
    39.     }
    40.     $result->close();
    41.     return $spisok;
    42.    }
    43.  }
    44.  
    45.  function connect_close()
    46.    {
    47.      $this->connection->close();
    48.    }
    49.  
    50.  
    51. }
    52. ?>
    53.  
    Помогите пожалуйсто в чём может быть проблема.
     
  2. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    const USERNAME = 'root';
     
  3. ShamahN

    ShamahN Активный пользователь

    С нами с:
    10 апр 2007
    Сообщения:
    1.449
    Симпатии:
    0
    Адрес:
    г.Волгодонск Роствской обл.
    сорь.. не доглядел!
     
  4. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
  5. ShamahN

    ShamahN Активный пользователь

    С нами с:
    10 апр 2007
    Сообщения:
    1.449
    Симпатии:
    0
    Адрес:
    г.Волгодонск Роствской обл.
    61 :) 61 регион - Ростовская обл :)
     
  6. alekslkta

    alekslkta Активный пользователь

    С нами с:
    12 авг 2008
    Сообщения:
    32
    Симпатии:
    0
    Люди!! Так кто-нить знает в чём проблема? :) Я так и не понял что мне делать...
     
  7. Поросёнок

    Поросёнок Активный пользователь

    С нами с:
    7 авг 2008
    Сообщения:
    24
    Симпатии:
    0
    Код (Text):
    1. const USERNAME = 'root;
    Помоему не хватает ковычки на 5ой строке :)
     
  8. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    кавычку закрыть
     
  9. alekslkta

    alekslkta Активный пользователь

    С нами с:
    12 авг 2008
    Сообщения:
    32
    Симпатии:
    0
    Не, ковычку я послучайности стёр когда в форум копировал, так всё нормально. Может знаете какое-то решение? Я уже всё облазил, но ничего не нашёл...
     
  10. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    не хочется верить, но попробую. Версия php, случаем, не четвёртая?
     
  11. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Ну, во-первых, надо указывать тип методов, иначе будет возникать STRICT - ошибка.
    Во-вторых, проверьте версию PHP - я могу ошибаться, но константы в классах ввели в PHP 5.
    В-третьих, я не совсем понял, зачем self::SERVER ? Почему просто не SERVER?
     
  12. alekslkta

    alekslkta Активный пользователь

    С нами с:
    12 авг 2008
    Сообщения:
    32
    Симпатии:
    0
    ААА, точно 4 пхп стоит... А вот такой вопрос , у меня стоит дэнвер, у него же есть обновления до 5 пхп ?
     
  13. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Да. denwer.ru
     
  14. alekslkta

    alekslkta Активный пользователь

    С нами с:
    12 авг 2008
    Сообщения:
    32
    Симпатии:
    0
    Спасибо большое!
     
  15. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    уверен?
    да и __construct
    потому что не обратишься :)

    PHP:
    1. //Пример #1 Объявление и использование константы
    2. <?php
    3. class MyClass {
    4.   const constant = 'значение константы';
    5.  
    6.   function showConstant() {
    7.     echo  self::constant . "\n";
    8.   }
    9. }
    10.  
    11. echo MyClass::constant . "\n";
    12.  
    13. $class = new MyClass();
    14. $class->showConstant();
    15. /* echo $class::constant; -  такое использование недопустимо */
    16. ?>
     
  16. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    А не, по дефолту паблик ставит без ошибки.

    По поводу констант, да, глючу. Кстати, тестил и ошибку сгенерировал:
     
  17. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    про двойное двоеточие, небось echo $class::constant; тестил? :)
     
  18. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Не, чего-то другое, точно не помню. Про двоеточие, это с латинского?
     
  19. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    это с иврита, два разработчика: Andi Gutmans и Zeev Suraski — израильтяне.
     
  20. Anonymous

    Anonymous Guest

    Кстати, на сертификате их подписи. :) Гутманса - отпечатанная, а у Зураски даже на настоящую похожа...
     
  21. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    есть такая вещь — факсимиле :)
     
  22. Anonymous

    Anonymous Guest

    Не. Там довольно характерный след от шариковой ручки. Хотя - хз..