За последние 24 часа нас посетили 23027 программистов и 1729 роботов. Сейчас ищут 2056 программистов ...

переменные формы

Тема в разделе "Прочие вопросы по PHP", создана пользователем Сорока, 14 июн 2006.

  1. Сорока

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

    С нами с:
    16 фев 2006
    Сообщения:
    81
    Симпатии:
    0
    Во открыла новую тему..... Хотя в принципе это продолжение старой.
    Есть такая строка в моей программе
    <form id="form" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    но она работает только для РНР5, а мне нужно чтобы она работала на РНР4.
    ЕЕ можно какнибудьпереписать?
    Например, на РНР4 доступ к ответу пользователя можно получить через $HTTP_POST_VAR['img0_url'], а на РНР5 все гораздо короче $_POST['img0_url']. Может то же самое и с $_SERVER['PHP_SELF']? только вот в книге я ничего не нашла(((((
     
  2. olo

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

    С нами с:
    28 апр 2006
    Сообщения:
    272
    Симпатии:
    0
    Посмотри, передаются ли данные print_r($_POST)
    Включи вывод всех ошибок error_reporting(E_ALL)

    Результаты в студию
     
  3. Mavir

    Mavir Guest

    $_POST есть и в четвертой версии, а от $HTTP_POST_VAR вообще рекомендую отказаться, ибо это устарело.

    А что выводит <?php echo $_SERVER['PHP_SELF']; ?>?
     
  4. Сорока

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

    С нами с:
    16 фев 2006
    Сообщения:
    81
    Симпатии:
    0
    Mavir, в моей 4ой это не работает. проверено не однократно. У меня версия 4.0, а $_POST появилось только в 4.1.0.

    А что выводит <?php echo $_SERVER['PHP_SELF']; ?>?
    Она не выводит, а вызывает РНР-код, который находится в самой программе, т.е. саму себя программа вызывает,
     
  5. Mavir

    Mavir Guest

    Могу только посочувствовать и порекомендовать поставить >4.1.0
     
  6. Сорока

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

    С нами с:
    16 фев 2006
    Сообщения:
    81
    Симпатии:
    0
  7. Сорока

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

    С нами с:
    16 фев 2006
    Сообщения:
    81
    Симпатии:
    0
    неужели никто не сталкивался с массивом $_SERVER?
     
  8. Mavir

    Mavir Guest

    Сталкивался. У меня $_SERVER['PHP_SELF']; выдает то, что написано в документации, т.е. путь к скрипту относительно root. Версия PHP 4.3.4.
    Если хочешь посмотреть значения $_SERVER, вызови print_r($_SERVER) или phpinfo()
     
  9. Сорока

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

    С нами с:
    16 фев 2006
    Сообщения:
    81
    Симпатии:
    0
    Вот и у меня должно быть то же самое, программа выводит сама себя. Но видно на старых версиях это не работает(((((
     
  10. spx_support

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

    С нами с:
    8 апр 2006
    Сообщения:
    13
    Симпатии:
    0
    Если надо получить имя файла, в котором находится данная форма, то можно попробовать так:

    PHP:
    1. <?
    2. $x=__FILE__; // берешь имя файла (тебе выдает полный путь до него с корня системы)
    3. $z=basename($x); // выделяешь его базовое имя
    4. print $z; // выводишь на экран
    5. ?>
     
  11. Mavir

    Mavir Guest

    __FILE__ показывает имя текущего файла. Он не будет равен $_SERVER['PHP_SELF'] (сравниваю только имена файлов, без путей), если его включили через include.
     
  12. Mavir

    Mavir Guest

    Неужели print $_SERVER['PHP_SELF']; запускает заново этот скрипт? Это ведь простое строковое значение, а не команда на выполнение.
     
  13. vasa_c

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

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    На старых версиях работают:
    $HTTP_SERVER_VARS
    $HTTP_POST_VARS
    $HTTP_GET_VARS
    $HTTP_COOKIE_VARS
    $HTTP_POST_FILES
     
  14. C

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

    С нами с:
    28 май 2006
    Сообщения:
    326
    Симпатии:
    0
    Сорока
    А ты шо не можешь указать в акшене просто назване файла твоего?