Тема: Проблемка PHP!

Ответить в теме
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 20 из 26
  1. Вверх #1
    Частый гость
    Адрес
    Одесса
    Сообщений
    537
    Репутация
    88

    По умолчанию Проблемка PHP!

    Вообщем ситуация такая начал изучать PHP дошел до раздела о создании форм. Так вот при создании файла index.html со след. кодом:

    <html>
    <head>
    <title></title>
    </head>
    <body>
    <center><h3>Начало моего сайта</h3></center>
    <form action="act.php" method="POST">
    <h1>Ваш возраст</h1>
    <input type="text" name="var">
    <input type="submit" value="Добавить">
    </form>
    </body>
    </html>

    а также файл act.php со след кодом:

    <?php

    echo"Мой возраст:";


    echo $_REQUEST["var"];

    ?>

    При запуске выдается ошибка: PHP Notice: "Undefined index: soon in D:\www\act.php on line 7".

    Объясните пожалуйста, в ошибка, не могу поняь т.к. начал изучать язык только неделю назад, код правильный, а ничего не выходит!


  2. Вверх #2
    Новичок
    Пол
    Мужской
    Адрес
    з Альфа-Центавры
    Возраст
    51
    Сообщений
    60
    Репутация
    14
    Правильно будет так

    echo $_POST["var"];
    In God we trust, all others pay cash!

  3. Вверх #3
    Новичок
    Пол
    Мужской
    Адрес
    з Альфа-Центавры
    Возраст
    51
    Сообщений
    60
    Репутация
    14
    Ты кстати не весь текст act.php запостил...
    In God we trust, all others pay cash!

  4. Вверх #4
    Частый гость
    Пол
    Мужской
    Возраст
    42
    Сообщений
    832
    Репутация
    51
    Как вариант:

    PHP код:
    <?
    //Проверяем на не пустую переменную

    // Если всё ок выводим её
    if(isset($_POST['var']) && @$_POST['var'] !== ''
    {
      
    $var1 $_POST['var'];
      echo
    "Мой возраст:";
      echo 
    $var1;  
    }
    // Если всё плохо - идём обратно.
    else
    {
      
    header("location: index.html");
    }

    ?>

  5. Вверх #5
    Частый гость
    Адрес
    Одесса
    Сообщений
    537
    Репутация
    88
    Цитата Сообщение от vitos73 Посмотреть сообщение
    Правильно будет так

    echo $_POST["var"];
    в таком варианте результат аналогичный - ничего не изменилось, пробывал еще до того как написл на форуме.
    Может это лажа в самих настройках PHP. Может нужно подправить php.ini или дело не в нем???

  6. Вверх #6
    Частый гость
    Пол
    Мужской
    Возраст
    42
    Сообщений
    832
    Репутация
    51
    А! попробуй переменную var переименовать

  7. Вверх #7
    Частый гость
    Пол
    Мужской
    Возраст
    42
    Сообщений
    832
    Репутация
    51
    $HTTP_POST_VARS['var'] - так еще попробовать можно

  8. Вверх #8
    Частый гость
    Адрес
    Одесса
    Сообщений
    537
    Репутация
    88
    Цитата Сообщение от RealN Посмотреть сообщение
    Как вариант:

    PHP код:
    <?
    //Проверяем на не пустую переменную

    // Если всё ок выводим её
    if(isset($_POST['var']) && @$_POST['var'] !== ''
    {
      
    $var1 $_POST['var'];
      echo
    "Мой возраст:";
      echo 
    $var1;  
    }
    // Если всё плохо - идём обратно.
    else
    {
      
    header("location: index.html");
    }

    ?>
    Мне нужна не проверка на ошибки, а разобраться, что здесь не работает!!!
    Люди помогите, не могу понять че за херня с этим PHP

  9. Вверх #9
    Частый гость
    Адрес
    Одесса
    Сообщений
    537
    Репутация
    88
    Цитата Сообщение от RealN Посмотреть сообщение
    $HTTP_POST_VARS['var'] - так еще попробовать можно
    только что попробывал этим способом - результат неизменился!

    Мой возраст: PHP Notice: Undefined variable: HTTP_POST_VARS in D:\www\act.php on line 5 !!!!!!

  10. Вверх #10
    Частый гость
    Пол
    Мужской
    Возраст
    42
    Сообщений
    832
    Репутация
    51
    Тогда измени название переменной var на var1

  11. Вверх #11
    Посетитель Аватар для крыс
    Пол
    Женский
    Сообщений
    369
    Репутация
    54
    if(isset($_POST['var']) && @$_POST['var'] !== '')
    псина, кстати необязательна, если 1-е условие не выполниться, до проверки 2-го дело недойдёт

    $HTTP_POST_VARS['var']
    устаревшая форма

    ошибка в чем - первое что приходит в голову - у тебя там русские символы гдето
    Последний раз редактировалось крыс; 28.12.2007 в 21:14.

  12. Вверх #12
    User banned
    Пол
    Мужской
    Сообщений
    45
    Репутация
    11
    Цитата Сообщение от крыс Посмотреть сообщение

    ошибка в чем - первое что приходит в голову - у тебя там русские символы гдето
    у мня седня было такое, ужо в панику впал! Переписал 1(!) строку и все заработало

  13. Вверх #13
    Постоялец форума
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    41
    Сообщений
    1,474
    Репутация
    697
    Если ты с таким не можешь разобраться, то по всей видимости спешишь сильно и не прочитал как работают формы. Это же ж примитив. На всякий случай тебе всегда поможет функция var_dump(). В твоем случае дамп глобального массивов $_POST. А вообще учись задавать вопросы корректно. Нужно указывать версию PHP,веб-сервера (apache,nginx,lighttpd или что у тебя там). Кроме этого приводи полный листинг кода. То что ты привел в первом посте - бред, в твоем примере не совпадают названия переменных в коде и в сообщении об ошибке. Учись задавать вопросы правильно, тогда тебе смогут помочь.

  14. Вверх #14
    Посетитель
    Пол
    Мужской
    Сообщений
    112
    Репутация
    23
    Цитата Сообщение от vitos73 Посмотреть сообщение
    Правильно будет так

    echo $_POST["var"];
    В чем ошитбка не знаю но точно не в этом
    REQUEST это корректная форма обращения к переменной переданной любым из методов POST or GET


    МОжет мысль и глупая но попробуй кавычки одинарные поставить:

    $do_it = $_REQUEST['do_it'];
    echo $do_it;

  15. Вверх #15
    Постоялец форума
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    41
    Сообщений
    1,474
    Репутация
    697
    Мысль не может, а точно такая как ты сказал. Двойные и одинарные кавычки отличаются только способом интерпретации.
    Последний раз редактировалось Илья Царюк; 09.01.2008 в 19:32.

  16. Вверх #16
    Борец за справедливость Аватар для commando
    Пол
    Мужской
    Адрес
    Odessa, UA
    Сообщений
    2,298
    Репутация
    1653
    RealIN:

    $var1 = $_POST['var']; - не нужно лишний раз забивать память. В данном случае точно.

    вместо
    echo"Мой возраст:";
    echo $var1;
    лучше писать просто
    echo 'Мой возвраст: '.$var1;

    @$_POST['var'] !== '' лучше заменить на empty($_POST['var']);

    По теме:

    Привыкайте $_REQUEST разбивать на пост и гет.
    Также всегда помните, что названия переменных может быть зарезервированным словом, читайте php.net и все у вас получится. Сам автор что-то сильно напутал из-за невнимательности. Перечитайте на всякий случай главу вашего учебника, скорее всего вопросов не будет. Форум - это когда нужен совет в чем-то большем, чем просто синтаксисе языка
    Последний раз редактировалось commando; 09.01.2008 в 23:00.
    /dev/php

  17. Вверх #17
    Постоялец форума
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    41
    Сообщений
    1,474
    Репутация
    697
    А empty лучше заменить на isset(). И так можно продолжать до бесконечности.
    Последний раз редактировалось Илья Царюк; 10.01.2008 в 15:45.

  18. Вверх #18
    Борец за справедливость Аватар для commando
    Пол
    Мужской
    Адрес
    Odessa, UA
    Сообщений
    2,298
    Репутация
    1653
    isset (не is_set) проверяет была ли определена переменная, а empty проверяет пустая ли переменная. Если сделать emtpy переменной, которой нет, то это будет notice. В то же время переменная может быть определена, но оставаться пустой. Поэтому делается это так
    if (isSet($my_var)) && !empty($_my_var)) echo 'tratat';
    /dev/php

  19. Вверх #19
    Постоялец форума
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    41
    Сообщений
    1,474
    Репутация
    697
    Угу. Ошибочка вышла.

  20. Вверх #20
    Новичок Аватар для Jhaman
    Пол
    Мужской
    Сообщений
    90
    Репутация
    25
    Цитата Сообщение от commando Посмотреть сообщение
    Если сделать emtpy переменной, которой нет, то это будет notice.
    http://ua2.php.net/empty

    empty() is the opposite of (boolean) var, except that no warning is generated when the variable is not set.

    notice не будет. достаточно:
    if (!empty($_my_var))


Ответить в теме
Страница 1 из 2 1 2 ПоследняяПоследняя

Похожие темы

  1. Введение в PHP, MySQL
    от Anonymous в разделе Программирование
    Ответов: 81
    Последнее сообщение: 21.03.2015, 01:17
  2. Бесплатно 25 мб места, cPanel, MySQL, PHP, CGI, Perl и др.
    от OnlineHoster в разделе Интернет :: технические вопросы
    Ответов: 1
    Последнее сообщение: 25.02.2006, 21:00
  3. помогите! PHP -> сохранение страницы с другого хоста
    от [)wad.org в разделе Программирование
    Ответов: 5
    Последнее сообщение: 22.03.2005, 15:25
  4. пмогите!!!!! (php,mysql, while();)
    от Jeno в разделе Программирование
    Ответов: 7
    Последнее сообщение: 23.11.2004, 16:07
  5. Кто у нас программирует на PHP?
    от iFog в разделе Программирование
    Ответов: 23
    Последнее сообщение: 10.03.2004, 16:35

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения