Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Notice: Undefined variable
 
 автор: secondvad2   (10.05.2006 в 14:07)   письмо автору
 
 

привет всем! я установил апач 2 и настроил под него php4
создаю пхп страничку следуюшео содержания

<?php 
  
if($but
   { 
       echo
"dfsd"
   } 
?> 
       <form name="FormName" action="" method="post"> 
         <input type="submit" value="Send" name="but"> 
       </form> 


и при открытии выдает ошибку!
Notice: Undefined variable: but in C:\www\Apache2\htdocs\123.php on line 10
я попробовал так

if(isset($but)) 


открывает страничу без ошибок! но при нажатии на кнопку ничего не происходит!
я кидал странишку на сервер типо h16.ru таам все работает! скажите в чем у меня проблемма?

   
 
 автор: Tomcat   (10.05.2006 в 14:10)   письмо автору
 
   для: secondvad2   (10.05.2006 в 14:07)
 

>привет всем! я установил апач 2 и настроил под него php4
>создаю пхп страничку следуюшео содержания
>
>
&lt;?php 
>  if($but) 
>   { 
>       echo"dfsd"; 
>   } 
>?> 
>       &lt;form name="FormName" action="" method="post"> 
>         &lt;input type="submit" value="Send" name="but"> 
>       &lt;/form> 

>
> и при открытии выдает ошибку!
> Notice: Undefined variable: but in
>C:wwwApache2htdocsS.php on line 10

> я попробовал так
>
>
if(isset($but)) 

>
> открывает страничу без ошибок! но при нажатии на кнопку
>ничего не происходит!
>я кидал странишку на сервер типо h16.ru таам все
>работает! скажите в чем у меня проблемма?


Попробуете вместо <?php поставить просто <?

   
 
 автор: P@Sol   (10.05.2006 в 14:14)   письмо автору
 
   для: secondvad2   (10.05.2006 в 14:07)
 

Notice - это не ошибка, это предупреждение. Т.к. при первом заходе на страницу у вас переменная $but не определена, то выскакивает это предупреждение.

Вы можете установить более слабый контроль ошибок одним из следующих способов:


Впишите в скрипты строчку: 
Error_Reporting(E_ALL & ~E_NOTICE);
Этот способ особенно удобен, если в скрипте есть один файл (конфигурационный), который подключается всеми остальными.
Рекомендуемый способ. Создайте в директории со скриптом файл .htaccess следующего содержания: 
php_value error_reporting 7
Исправьте в /usr/local/php/php.ini значение error_reporting на E_ALL & ~E_NOTICE. Этот способ не является рекомендуемым и может привести к серьезным неудобствам при отладке!

   
 
 автор: Loki   (10.05.2006 в 14:15)   письмо автору
 
   для: secondvad2   (10.05.2006 в 14:07)
 

Возможно, у вас отключены глобальные переменные.
Попробуйте так:

<?php 
  
if($_POST['but']) 
   { 
       echo
"dfsd"
   } 
?> 
       <form name="FormName" action="" method="post"> 
         <input type="submit" value="Send" name="but"> 
       </form> 

   
 
 автор: secondvad2   (10.05.2006 в 14:18)   письмо автору
 
   для: Loki   (10.05.2006 в 14:15)
 

Loki
совершенно верно! ты прав
http://phpfaq.ru/globals
кому интересно вот ФАК по глобальным переменным
СПАСИБО тебе я разобрался

   
 
 автор: cheops   (10.05.2006 в 14:17)   письмо автору
 
   для: secondvad2   (10.05.2006 в 14:07)
 

notice является своеобразным советом и выводится, когда выставлена максимальная чувствительность PHP к ошибкам - её следует понизить, как это сделано на всех хостингах, иначе они не дадут работать. Для этого, следует выставить соответствующее значение для директивы error_reporting http://www.softtime.ru/info/articlephp.php?id_article=23, в конфигурационном файле php.ini
error_reporting = E_ALL & ~E_NOTICE 

Так же можно изменить уровень обработки ошибок локально, для этого в начало скрипта следует поместить функцию
<?php 
Error_Reporting
(E_ALL & ~E_NOTICE); 
?> 
В качестве параметра, которой передать соответствующий уровень обработки ошибок.

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=4985

   
 
 автор: secondvad2   (10.05.2006 в 14:55)   письмо автору
 
   для: cheops   (10.05.2006 в 14:17)
 

у меня теперь другая проблемма!

код

<?php
//Error_Reporting(E_ALL & ~E_NOTICE);
  
if($_POST['butt'])
   {
      
exec('1.exe');
   }
?>
   <form name="FormName" action="" method="post">
     <input type="submit" value="Send" name="butt">
   </form>

в PHP Expert Editor работает как надо! exec('1.exe'); выполняется
а при запуске с апача не работает!
а если вмсто

exec('1.exe'); 


вставить

echo "fsdfsd";
то все работает! в чем пробллемма?

   
 
 автор: P@Sol   (10.05.2006 в 14:57)   письмо автору
 
   для: secondvad2   (10.05.2006 в 14:55)
 

>а при запуске с апача не работает!
апач не на локалке, а в инете? чаще всего запуск программ запрещен хостером

   
 
 автор: secondvad2   (10.05.2006 в 15:06)   письмо автору
 
   для: P@Sol   (10.05.2006 в 14:57)
 

да при запуске страници на апаче не работает! апач стоит у меня на машине! пока проверяю на http://localhost/ но мне надо чттобы было через внешний айпи но я думаю разныци нету просто внешний чуть пожже настрою

   
 
 автор: cheops   (10.05.2006 в 19:26)   письмо автору
 
   для: secondvad2   (10.05.2006 в 15:06)
 

Что представляет собой файл 1.exe и какого поведения вы от него ожидаете?

PS Под новые вопросы лучше заводить новые темы.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования