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

Форум PHP

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

 

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

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

тема: Notice: Undefined variable: kn
 
 автор: tokmak   (11.02.2007 в 13:17)   письмо автору
 
 

Создал две странички index.php и script.php
В index.php я разместил такой код:
<html>
<head>
<title></title>
</head>
<body>
<form action="script.php" method="get">
<input type="submit" name="submit" value="Шаг1"><br>
</form>
</body>
</html>

В script.php разместил:
<?php
if ($submit) { ?>
<form name="" action="<?php echo $PHP_SELF?>" method="post">
<input type="submit" value="Шаг2" name="kn">
</form>

<?php } else {
echo ""; }
?>

<?php
if ($kn)
{ ?>

<form name="" action="<?php echo $PHP_SELF?>" method="post">
<input type="submit" value="Шаг3" name="kn2">
</form>
<?php } else { echo ""; }

?>
<?php
if ($kn2) { ?>
<form name="" action="<?php echo $PHP_SELF?>" method="post">
<input type="submit" value="Шаг4" name="kn3">
</form>
<?php } else {
echo ""; }

?>
Я хочу сделать так, чтобы при нажатии на кнопку в странице индексе открывалась страница скрипт. А в старницу скрипт было втроено несколько страниц. У меня получилось, но выходит

Notice: Undefined variable: kn in z:\home\ucheba\www\script.php on line 14

Notice: Undefined variable: kn2 in z:\home\ucheba\www\script.php on line 24

Может быть можно как-нибудь сделать чтобы если кнопки например в моем случае "kn" не существует то ничего не происходит.
Пробовал и так
<?php
if (!$kn) {
echo ""; }
else { ?>
Тут например форма
<?php } ?>
Тоже выходит ошибка. Может кто-нибудь сталкивался с такой проблемой.

   
 
 автор: Alph[p]a   (11.02.2007 в 13:38)   письмо автору
 
   для: tokmak   (11.02.2007 в 13:17)
 

> Я хочу сделать так, чтобы при нажатии на кнопку в странице индексе открывалась страница скрипт. А в старницу скрипт было втроено несколько страниц...
а что include не подходит?

   
 
 автор: tokmak   (11.02.2007 в 13:52)   письмо автору
 
   для: Alph[p]a   (11.02.2007 в 13:38)
 

А куда его можно попробовать вставить. И что подключить саму проверку.

   
 
 автор: wUPS   (11.02.2007 в 13:56)   письмо автору
 
   для: tokmak   (11.02.2007 в 13:52)
 

У Вас ошибка - в условии нельзя выходить из <?php ?>

   
 
 автор: wUPS   (11.02.2007 в 13:58)   письмо автору
 
   для: wUPS   (11.02.2007 в 13:56)
 

А сообщения Notice не являются ошибкой, они всего лишь указывают на то, что Вы вызываете переменную, не определив её (рекомендация по кодированию)

   
 
 автор: Trianon   (11.02.2007 в 14:47)   письмо автору
 
   для: wUPS   (11.02.2007 в 13:56)
 

>У Вас ошибка - в условии нельзя выходить из <?php ?>

Ерунду пишете.

   
 
 автор: tokmak   (11.02.2007 в 14:50)   письмо автору
 
   для: Trianon   (11.02.2007 в 14:47)
 

Вы внизу посмотрите я исправил. Условия if не разбиваются.

   
 
 автор: tokmak   (11.02.2007 в 14:01)   письмо автору
 
   для: tokmak   (11.02.2007 в 13:52)
 

Создал еще один файл check.php
в него добавил такие строки:
<?php
if (!$submit) { echo "";}
if (!$kn) { echo ""; }
if (!$kn2) { echo ""; }
if (!$kn3) { echo ""; }
?>
И в файле script.php сделал инклуд
<? php
include ("check.php");
?>
Все равно при нажатии "Шаг1" Новая страница и пишет:

Notice: Undefined variable: kn in z:\home\ucheba\www\check.php on line 3
Notice: Undefined variable: kn2 in z:\home\ucheba\www\check.php on line 4
Notice: Undefined variable: kn3 in z:\home\ucheba\www\check.php on line 5

Кнопка "Шаг2"

Notice: Undefined variable: kn in z:\home\ucheba\www\script.php on line 13
Notice: Undefined variable: kn2 in z:\home\ucheba\www\script.php on line 23

Что-то не то. Вроде все правильно.

   
 
 автор: tokmak   (11.02.2007 в 14:18)   письмо автору
 
   для: tokmak   (11.02.2007 в 14:01)
 

Попробовал так записать в скрипт не разрывая условие if
<?php
if ($submit) { echo '
<form name="" action="'; echo $PHP_SELF; echo'" method="post">
<input type="submit" value="Шаг2" name="kn">
</form>'; }
else { echo""; }

if ($kn)
{ echo '

<form name="" action="'; echo $PHP_SELF; echo'" method="post">
<input type="submit" value="Шаг3" name="kn2">
</form>'; } else { echo ""; }


if ($kn2) { echo'
<form name="" action="'; echo $PHP_SELF; echo '" method="post">
<input type="submit" value="Шаг4" name="kn3">
</form>'; }
else { echo ""; } ?>
В общем мне нужно так на странице индекс кнопка Шаг1
Шаг1(index.php) -> Шаг2(script.php) -> Шаг3(script.php) -> Шаг4(script.php) и так далее. Ну а от NOTICE избавиться никак нельзя?

   
 
 автор: tokmak   (11.02.2007 в 14:36)   письмо автору
 
   для: tokmak   (11.02.2007 в 14:18)
 

А может быть попробовать через константы.
<?php
define(SHAG1,$submit);
define(SHAG2,$kn);
define(SHAG3,$kn2);

if (SHAG1) { echo '
<form name="" action="'; echo $PHP_SELF; echo'" method="post">
<input type="submit" value="Шаг2" name="kn">
</form>'; }
else { echo""; }


if (SHAG2)
{ echo '

<form name="" action="'; echo $PHP_SELF; echo'" method="post">
<input type="submit" value="Шаг3" name="kn2">
</form>'; } else { echo ""; }


if (SHAG3) { echo'
<form name="" action="'; echo $PHP_SELF; echo '" method="post">
<input type="submit" value="Шаг4" name="kn3">
</form>'; }
else { echo ""; } ?>
ТОже пишет что-то не то.

   
 
 автор: cheops   (11.02.2007 в 21:42)   письмо автору
 
   для: tokmak   (11.02.2007 в 13:17)
 

У вас в конфигурационном файле php.ini отключена директива register_globals - используйте суперглобальные массивы
<?php
if ($_GET['submit']) { ?>
<form name="" action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
<input type="submit" value="Шаг2" name="kn">
</form>

<?php } else {
echo 
""; }
?>

<?php
if ($_POST['kn'])
?>

<form name="" action="<?php echo $_SERVER['PHP_SELF'?>" method="post">
<input type="submit" value="Шаг3" name="kn2">
</form>
<?php } else { echo ""; }

?>
<?php
if ($_POST['kn2']) { ?>
<form name="" action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
<input type="submit" value="Шаг4" name="kn3">
</form>
<?php } else {
echo 
""; }
?>

   
Rambler's Top100
вверх

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