Странный Warning

mel

Guest
Странный Warning

<html>

<head>
<title>PHP4</title>
</head>

<body>
<form action=<?php print($PHP_SELF) ?> method="get">
Enter color name: <input type="text" name="color">
<input type="submit" name="buttom" value="Enter">
</form>
<?php
if($buttom == "Enter"){
print "<body bgcolor=$color>";
}
exit;
?>
</body>
</html>

вот полностью рабочий код, но при запуске вылетает
Notice: Undefined variable: buttom in z:\home\localhost\www\index.php on line 13
Типа не знает переменную $buttom, вроде все правильно и пашет, что самое главное.
но почему он кричит на переменную я не знаю.
может кто скажет в чем тут дело.
 

Сергей123

Новичок
Он пишет, что она не определена.
Это ведь так и есть "при первом заходе"...
Чему ты удивляешь?

-~{}~ 26.07.05 17:16:

А при выключенной register_globals - всегда не определена...
Пиши, например, так
PHP:
if ( isset ($_GET['buttom']) && 'Enter' == $_GET['buttom'] ) {
 

dnes

Новичок
Очень даже правильно кричит. Тут и еще есть на что покричать.

Зачем body два раза определять?
 

Сергей123

Новичок

если кричать, я б тогда и

PHP:
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']) ?>" method="get">

предложил писать...
 

dnes

Новичок
А я б еще на exit, который тут как бы нафиг не нужен.
 

mel

Guest
Автор оригинала: Бресь Сергей
Он пишет, что она не определена.
Это ведь так и есть "при первом заходе"...
Чему ты удивляешь?
Да Я понял тебя позже сам догнал...

-~{}~ 26.07.05 17:16:

А при выключенной register_globals - всегда не определена...
Пиши, например, так
PHP:
if ( isset ($_GET['buttom']) && 'Enter' == $_GET['buttom'] ) {
про эту фишку не знал. Я только недавно за PHP сел
Если можно, то поточнее, о том что тут происходит.
 

mel

Guest
замочил экземпл и определил, что isset - это bool фун-ия, которая возвращает true, если переменная установленна.
($_GET['buttom']) - но вот, что именно такое не знаю.
Может кто расскажет ?

-~{}~ 26.07.05 19:21:

Автор оригинала: demongloom
Собака для перекрытия вывода ошибок. То бишь ошибка будет, но сообщение о ней не будет выводится. С одной стороны код проще и быстрей, а с другой стороны лишняя проверка лучше будет.
@ - блин опасная это вещь :)))
Спосибо, что сказал!
 

mel

Guest
вообщем теперь в конечном итоге исходник выглядит так
<html>

<head>
<title>PHP4</title>
</head>
<?php
if (isset($buttom)){
print "<body bgcolor=\"$color\">";
}
else
print "<body bgcolor=\"#ffffff\">";
?>
<form action="<?php print($PHP_SELF); ?>" method="post">
Enter color name: <input type="text" name="color">
<input type="submit" name="buttom" value="Enter">
</form>
</body>

</html>м
 

mel

Guest
нуда точно вот ща в мануал полез. А кот так делать нечего было решил в парядок превести, что бы все культурно выгледило =)
 
Сверху