За последние 24 часа нас посетили 17837 программистов и 1571 робот. Сейчас ищут 1233 программиста ...

В чём проблема Parse error: parse error, unexpected T_LNUMBE

Тема в разделе "Установка PHP", создана пользователем aziz, 10 авг 2006.

  1. aziz

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

    С нами с:
    1 фев 2006
    Сообщения:
    194
    Симпатии:
    0
    Адрес:
    Ташкент
    Доброго времени суток и вновь я нуждаюсь в Вашем совете , проблема в том что при отправки данных из формы выдаётса сообщение:
    Parse error: parse error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in z:\home\test2.ru\www\2.php on line 9
    пробовал переустановить денвер но ошибка не исчезает.
    код формы:
    Код (Text):
    1. <html>
    2. <body>
    3. <form action="2.php" method="get" enctype="multipart/form-data" name="form1">
    4.     <p>
    5.     <input name="1" type="text" id="1" size="10" maxlength="10">
    6. </p>
    7.   <p>
    8.    <input type="submit" name="Submit" value="Submit" id="Submit">
    9. </p>
    10. </form>
    11. </body>
    12. </html>
    код скрипта оброботки:
    PHP:
    1. <html>
    2. <body>
    3. <? echo($1);?>
    4. <? echo $1;?>
    5. <? echo "$1";
    6. </body>
    7. </html>
    как видите испробовал вроде всё даже с printf(); пробовал результат тотже хотя совсем не давно всё работало, если пишу
    PHP:
    1. <html>
    2. <body>
    3. <? $f=("Привет");
    4. echo ($f);
    5. ?>
    6. </body>
    7. </html>
    то это работает, в чем может быть загвосдка не пойму , посоветуйте.
     
  2. NIKO

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

    С нами с:
    10 фев 2006
    Сообщения:
    655
    Симпатии:
    0
    Адрес:
    Armenia
    нельзя исползовать переменную которая начинается с цифры!
     
  3. aziz

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

    С нами с:
    1 фев 2006
    Сообщения:
    194
    Симпатии:
    0
    Адрес:
    Ташкент
    цыфры я к примеру написал вместо 1 пробовал и A и И и слово результат тот же
     
  4. NIKO

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

    С нами с:
    10 фев 2006
    Сообщения:
    655
    Симпатии:
    0
    Адрес:
    Armenia
    вместо $1 напиши $a например и HTML коде поменяй name="1" на name="a"
     
  5. aziz

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

    С нами с:
    1 фев 2006
    Сообщения:
    194
    Симпатии:
    0
    Адрес:
    Ташкент
    при таком варианте работает на если написать $az то идёт ошибка
    Notice: Undefined variable: az in z:\home\test2.ru\www\2.php on line 4
     
  6. aziz

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

    С нами с:
    1 фев 2006
    Сообщения:
    194
    Симпатии:
    0
    Адрес:
    Ташкент
    странно снес денвер с php5 и установил с php4 всё заработало.
    Спасибо за участие, но почему так случилось я так и не понял.
     
  7. svk

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

    С нами с:
    7 авг 2006
    Сообщения:
    506
    Симпатии:
    0
    Адрес:
    NetByNet
    Уровень предупреждений стоял E_ALL. Чтобы Notice не было надо ставить E_All ~E_NOTICE
     
  8. aziz

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

    С нами с:
    1 фев 2006
    Сообщения:
    194
    Симпатии:
    0
    Адрес:
    Ташкент
    Спасибо
     
  9. simpson

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

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    а лучше писать программу без ошибок...
    Код (Text):
    1. echo (!empty($_GET['az'])) ? $_GET['az'] : 'empty';
     
  10. aziz

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

    С нами с:
    1 фев 2006
    Сообщения:
    194
    Симпатии:
    0
    Адрес:
    Ташкент
    не совсем понял в чём моя ощибка, может объясните новичку
     
  11. simpson

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

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    вы сами ее написали тут:
    в переводе, переменная az не определена.
    из формы данные вы передаете методом GET, ну так и принимать эти данные надо через суперглобальныйй массив $_GET. в пхп4 скрипт отработал нормально, потому что в конфигурации по умолчанию там установлено register_globals=on. в пхп5, наоборот, эта опция установлена в off по умолчанию (а в пхп6 она вообще убрана, так что нужно привыкать уже к суперглобальным массивам), поэтому вам вылезло замечание по коду.
     
  12. aziz

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

    С нами с:
    1 фев 2006
    Сообщения:
    194
    Симпатии:
    0
    Адрес:
    Ташкент
    Спасибо за подсказку,
    а как это сделать если к файлу php.ini нет доступа
     
  13. simpson

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

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    я уже писал это выше.
    PHP:
    1. <?php
    2. if (isset($_GET['az'])) echo $_GET['az'];
    3. else echo '"az" doesn\'t exist';
    4. ?>
     
  14. aziz

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

    С нами с:
    1 фев 2006
    Сообщения:
    194
    Симпатии:
    0
    Адрес:
    Ташкент
    Спасибо, просто не заметил :)
     
  15. svk

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

    С нами с:
    7 авг 2006
    Сообщения:
    506
    Симпатии:
    0
    Адрес:
    NetByNet
    simpson
    в php4 эта опция тоже по умолчанию off.
    Я ответил на вопрос "как избаваиться от этой ошибки" :)Если человеку легче юзать с регистер_глобалс - пусть юзает, хотя лично я использую массивы...
     
  16. aziz

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

    С нами с:
    1 фев 2006
    Сообщения:
    194
    Симпатии:
    0
    Адрес:
    Ташкент
    svk
    А на конкретном примере можно посмотреть :roll:
     
  17. svk

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

    С нами с:
    7 авг 2006
    Сообщения:
    506
    Симпатии:
    0
    Адрес:
    NetByNet
    add.php?mode=edit&id=66
    соответвено чтобы получит mode берется $_GET['mode'], а не $mode, ну а id получаю как intval($_GET['id']);
    ТОже самое для $_POST, $_FILES, $_SERVER, $_ENV, etc
     
  18. aziz

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

    С нами с:
    1 фев 2006
    Сообщения:
    194
    Симпатии:
    0
    Адрес:
    Ташкент
    боюсь мне пока трудновато это проглотить я только учусь :) можно на пальсах с примером :oops:
     
  19. svk

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

    С нами с:
    7 авг 2006
    Сообщения:
    506
    Симпатии:
    0
    Адрес:
    NetByNet
    параметры передаваемые скриптув строке браузера (после "?") хранятся в суперглобальном массиве $_GET; это значит что если ты в браузере ввел http://localhost/index.php?param1=value1&param2=value2 то массив $_GET у тебя будет выглядеть так:
    Array(
    'param1' => 'value1',
    'param2' => 'value2',
    );
     
  20. NIKO

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

    С нами с:
    10 фев 2006
    Сообщения:
    655
    Симпатии:
    0
    Адрес:
    Armenia
    Да че вы так углубились так как не выдовать обшибки если перемнная "$az" а обект "a"?
     
  21. aziz

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

    С нами с:
    1 фев 2006
    Сообщения:
    194
    Симпатии:
    0
    Адрес:
    Ташкент
    а где про это можно более подробно с примерами почитать(желательно на русском) просто у меня только электронные версии книг и то я так понял что там всё очень поверхностно. Был бы весьма признателен.
     
  22. svk

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

    С нами с:
    7 авг 2006
    Сообщения:
    506
    Симпатии:
    0
    Адрес:
    NetByNet
  23. aziz

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

    С нами с:
    1 фев 2006
    Сообщения:
    194
    Симпатии:
    0
    Адрес:
    Ташкент
  24. aziz

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

    С нами с:
    1 фев 2006
    Сообщения:
    194
    Симпатии:
    0
    Адрес:
    Ташкент
    я что то не совсем понял к примеру если
    Код (Text):
    1. <form action="2.php" method="get" name="form1">
    2.  <input name="oil">
    3.  <input type="submit" name="Submit" value="Submit" id="Submit">
    4. </form>
    а обработка
    PHP:
    1. <?php
    2. if (isset($_GET['oil'])) echo $_GET['oil'];
    3. else echo '"oil" doesn\'t exist';
    4. ?>
    то какая разница если register_globals = Off включена то работает пример сверху а если register_globals = On
    то работает
    PHP:
    1. <? echo ($oil); ?>
    в любом варианте можно изменить конечный результат в строке
    http://www.test2.ru/2.php?oil=555&Submit=Submit
    меняем на
    http://www.test2.ru/2.php?oil=222&Submit=Submit
    и в конце получаем 222 и вчем же здесь безопасность