Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Ошибка Notice: Undefined variable...line2 / 9 сообщений из 9, страница 1 из 1
01.08.2005, 16:49
    #33194826
Farkhod
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Ошибка Notice: Undefined variable...line2
Если вопрос покажется глупым то я в PHP новичок.
Есть два файла calc.htm и calc.php

calc.htm:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<html>
<head>
    <title>Калькулятор</title>
</head>
<body>
<form method="post" action="calc.php">
<p>n1=<input type="Text" name="n1"></p>
<p>n2=<input type="Text" name="n2"></p>
<p><input type="Radio" name="calc" value="add"> +</p>
<p><input type="Radio" name="calc" value="sub"> -</p>
<p><input type="Radio" name="calc" value="mul"> *</p>
<p><input type="Radio" name="calc" value="div"> /</p>
<p><input type="Submit" value="Результат"</p>
</form>
</body>
</html>

calc.php:
<?
if($calc=="add"){ ;
$res=$n1+$n2;
}
if($calc=="sub"){ ;
$res=$n1-$n2;
}
if($calc=="mul"){ ;
$res=$n1*$n2;
}
if($calc=="div"){ ;
$res=$n1/$n2;
}
?>
<html>
<head>
<title>Калькулятор</title>
</head>
<body>

<p>Ответ: <? echo "$res"; ?></p>

</body>
</html>

Не понимаю где ошибка. При любых операциях (+, -, /, *) выходит ошибка:
Notice: Undefined variable: calc in C:\Inetpub\wwwroot\php\calc.php on line 2

Notice: Undefined variable: calc in C:\Inetpub\wwwroot\php\calc.php on line 5

Notice: Undefined variable: calc in C:\Inetpub\wwwroot\php\calc.php on line 8

Notice: Undefined variable: calc in C:\Inetpub\wwwroot\php\calc.php on line 11


Îòâåò:
Notice: Undefined variable: res in C:\Inetpub\wwwroot\php\calc.php on line 21
????
Спасибо.
...
Рейтинг: 0 / 0
01.08.2005, 17:21
    #33194905
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Ошибка Notice: Undefined variable...line2
Не передаются переменные! Проблема register_globals
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
01.08.2005, 23:45
    #33195338
QueryMan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Ошибка Notice: Undefined variable...line2
<p>Ответ: <? echo "$res"; ?></p>
кавычки
<p>Ответ: <? echo $res; ?></p>
...
Рейтинг: 0 / 0
02.08.2005, 00:00
    #33195343
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Ошибка Notice: Undefined variable...line2
2 QueryMan
И причем здесь кавычки?
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
02.08.2005, 07:54
    #33195473
Farkhod
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Ошибка Notice: Undefined variable...line2
4m@t!c Не передаются переменные! Проблема register_globals

хмм значит надо на calc.php написать так:

Код: plaintext
1.
import_request_variables("calc");
extract($calc);
???
Выходит ошибка:
Notice: import_request_variables() [function.import-request-variables]: No prefix specified - possible security hazard in C:\Inetpub\wwwroot\php\calc.php on line 2

Notice: Undefined variable: calc in C:\Inetpub\wwwroot\php\calc.php on line 3

Warning: extract() [function.extract]: First argument should be an array in C:\Inetpub\wwwroot\php\calc.php on line 3

Notice: Undefined variable: calc in C:\Inetpub\wwwroot\php\calc.php on line 4

4m@t!c пожалуйста подскажите как написать правильно как мне получить доступ к переменной calc ?
...
Рейтинг: 0 / 0
02.08.2005, 08:27
    #33195503
Groove
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Ошибка Notice: Undefined variable...line2
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
<?
	$n1 = isset($_POST['n1']) ? floatval($_POST['n1']) :  0 ;
	$n2 = isset($_POST['n2']) ? floatval($_POST['n2']) :  0 ;
	$calc = isset($_POST['calc']) ? $_POST['calc'] : '';
?>	
<html>
<head>
    <title>Куркулятор</title>
</head>
<body>
<center>
<form method="post" action="<?=$_SERVER['PHP_SELF'];?>">
<p>n1=<input type="Text" name="n1" value="<?=$n1;?>"></p>
<p>n2=<input type="Text" name="n2" value="<?=$n2;?>"></p>
<p><input type="Radio"  name="calc" value="add" <?= ('add'==$calc) ? 'checked' : ''; ?>> +</p>
<p><input type="Radio"  name="calc" value="sub" <?= ('sub'==$calc) ? 'checked' : ''; ?>> -</p>
<p><input type="Radio"  name="calc" value="mul" <?= ('mul'==$calc) ? 'checked' : ''; ?>> *</p>
<p><input type="Radio"  name="calc" value="div" <?= ('div'==$calc) ? 'checked' : ''; ?>> /</p>
<p><input type="Submit" name="submitname" value="Результат"</p>
</form>
</center>
</body>
</html>
<?	
	switch($calc){
	  case 'add':
		$res=$n1+$n2;
	  break;
	  
	  case 'sub':
		$res=$n1-$n2;
	  break;
	  
	  case 'mul':
		$res=$n1*$n2;
	  break;
	  
	  case 'div':
		$res=$n1/$n2;
	  break;

	  default:
	  $res= 0 ;
	}
	if(isset($_POST['submitname'])) print sprintf('<h1>Ответ: %8.3f</h1>',$res);
?>
...
Рейтинг: 0 / 0
02.08.2005, 10:12
    #33195699
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Ошибка Notice: Undefined variable...line2
>4m@t!c пожалуйста подскажите как написать правильно как мне получить доступ к переменной calc ?
Не смотря на то, что вы получили готовое решение - рекомендую читать ту статью до просветления. Что бы знать, что есть суперглобальные массивы, как они называются, для чего они нужны и как с ними работать.
ИМХО, готовый код - медвежья услуга.
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
05.08.2005, 23:24
    #33205099
QueryMan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Ошибка Notice: Undefined variable...line2
4m@t!c 2 QueryMan
И причем здесь кавычки?
---------------------------------------
Артисты не приехали, приехали цыгане

Notice: Undefined variable: res in C:\Inetpub\wwwroot\php\calc.php on line 21
<p>Ответ: <? echo "$res"; ?></p> will produce $res
кавычки
<p>Ответ: <? echo $res; ?></p> will produce value of $res

calc is array and when form is submitted it has 4 members
you need to figure out what is the value of the checked item otherwise

condition
<?
if($calc=="add"){ ;
$res=$n1+$n2;
}
if($calc=="sub"){ ;
$res=$n1-$n2;
}
if($calc=="mul"){ ;
$res=$n1*$n2;
}
if($calc=="div"){ ;
$res=$n1/$n2;

never happens and $calc is not defined.
...
Рейтинг: 0 / 0
06.08.2005, 13:49
    #33205245
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Ошибка Notice: Undefined variable...line2
Код: plaintext
1.
2.
3.
<p>Ответ: <? echo "$res"; ?></p> will produce $res
кавычки 
<p>Ответ: <? echo $res; ?></p> will produce value of $res
You are wrong.
Just read and understand this and this .
You should know, that variables produce value in double quote.
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Ошибка Notice: Undefined variable...line2 / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]