Подскажите пожалуйста
Добавлено: 21 ноя 2007, 00:31
В общем html+php скрипты, учиться я только начинаю посему проблемы естественно.
Задачки две.
Обе в принцыпе по книге но не работают
Первое:
calc_form.html
<html><head>
<title>Форма калькулятора</title>
<i>Форма калькулятора, тупые расчеты:</i>
</head>
<body>
<form Action="calc.php" Method="post">
<p>Значение 1: <input type="text" Name="val1" size=10></p>
<p>Значение 2: <input type="text" Name="val2" size=10></p>
<p>Действие:
<select multiple name="$calc">
<option value="a">Сложить
<option value="b">Вычесть
<option value="c">Умножить
<option value="d">Разделить
</select>
<p><Input type="submit" name="submit" Value="Вычислить"</p>
</form>
</body>
</html>
и собственно calc.php
<?
if (($val1 == "") || ($val2 == "") || ($calc =="")) {
header("Location: http://localhost/calc_form.html");
exit;
}
if ($calc == "a")
{$result = $val1 + $val2;}
else if ($calc == "b")
{$result = $val1 - $val2;}
else if ($calc == "c")
{$result = $val1 * $val2;}
else if ($calc == "d")
{$result = $val1 / $val2;}
?>
<html>
<head>
<title>Результат</title>
</head>
<body>
<P>Результат равен: <? echo "$result"; ?></p>
</body>
</html>
Проблема вот в чем, первое это:
if (($val1 == "") || ($val2 == "") || ($calc =="")) {
header("Location: http://localhost/calc_form.html");
exit;
}
ибо он постоянно делает header даже если все значения были введены, и второе, если вырезать header то он мне выдаёт только
Результат равен:
И всё! Никаких цифр в результате вычисления он не выдаёт.
Тут подозрение что calc.php даже не получает эти переменные или значение $calc
Или ещё в чем проблема так и непойму
И второе:
generic_form.html
<html><head>
<title>Общая форма ввода</title>
</head>
<body>
<form action="display_input.php" method="post">
<p><strong>Текстовое поле:</strong>
<textarea name="text1" Cols=45 Rows=5 Wrap=virtual></textarea>
</p>
<p><strong>Строковая функция:</strong>
<Input type="radio" Name="func" Value="md5" Checked> функция MD5
<Input type="radio" Name="func" Value="strlen"> Получить длину строки
<Input type="radio" Name="func" Value="strrev"> Перевернуть строку
<Input type="radio" Name="func" Value="strtoupper"> Перевести строку в верхний регистр
<Input type="radio" Name="func" Value="strtolover"> Перевести строку в нижний регистр
<Input type="radio" Name="func" Value="ucwords"> Сделать первую букву каждово слова заглавной</p>
<P><Input type="submit" Name="submit" Value="Выполнить" ></p>
</form></body></html>
и соответственно
display_input.php
<? $result = $func($text1); ?>
<html><head>
<title>Основной ввод результата</title>
</head>
<body>
<?
echo "$result";
?>
<p><a href="generic_form.html">Назад</a></p>
</body></html>
А вот проблема:
Fatal error: Function name must be a string in *:\*\htdocs\display_input.php on line 1
Системные данные: Apache 2.2.4 + PHP5.2.0 WinXP Prof SP2
Задачки две.
Обе в принцыпе по книге но не работают

Первое:
calc_form.html
<html><head>
<title>Форма калькулятора</title>
<i>Форма калькулятора, тупые расчеты:</i>
</head>
<body>
<form Action="calc.php" Method="post">
<p>Значение 1: <input type="text" Name="val1" size=10></p>
<p>Значение 2: <input type="text" Name="val2" size=10></p>
<p>Действие:
<select multiple name="$calc">
<option value="a">Сложить
<option value="b">Вычесть
<option value="c">Умножить
<option value="d">Разделить
</select>
<p><Input type="submit" name="submit" Value="Вычислить"</p>
</form>
</body>
</html>
и собственно calc.php
<?
if (($val1 == "") || ($val2 == "") || ($calc =="")) {
header("Location: http://localhost/calc_form.html");
exit;
}
if ($calc == "a")
{$result = $val1 + $val2;}
else if ($calc == "b")
{$result = $val1 - $val2;}
else if ($calc == "c")
{$result = $val1 * $val2;}
else if ($calc == "d")
{$result = $val1 / $val2;}
?>
<html>
<head>
<title>Результат</title>
</head>
<body>
<P>Результат равен: <? echo "$result"; ?></p>
</body>
</html>
Проблема вот в чем, первое это:
if (($val1 == "") || ($val2 == "") || ($calc =="")) {
header("Location: http://localhost/calc_form.html");
exit;
}
ибо он постоянно делает header даже если все значения были введены, и второе, если вырезать header то он мне выдаёт только
Результат равен:
И всё! Никаких цифр в результате вычисления он не выдаёт.
Тут подозрение что calc.php даже не получает эти переменные или значение $calc
Или ещё в чем проблема так и непойму
И второе:
generic_form.html
<html><head>
<title>Общая форма ввода</title>
</head>
<body>
<form action="display_input.php" method="post">
<p><strong>Текстовое поле:</strong>
<textarea name="text1" Cols=45 Rows=5 Wrap=virtual></textarea>
</p>
<p><strong>Строковая функция:</strong>
<Input type="radio" Name="func" Value="md5" Checked> функция MD5
<Input type="radio" Name="func" Value="strlen"> Получить длину строки
<Input type="radio" Name="func" Value="strrev"> Перевернуть строку
<Input type="radio" Name="func" Value="strtoupper"> Перевести строку в верхний регистр
<Input type="radio" Name="func" Value="strtolover"> Перевести строку в нижний регистр
<Input type="radio" Name="func" Value="ucwords"> Сделать первую букву каждово слова заглавной</p>
<P><Input type="submit" Name="submit" Value="Выполнить" ></p>
</form></body></html>
и соответственно
display_input.php
<? $result = $func($text1); ?>
<html><head>
<title>Основной ввод результата</title>
</head>
<body>
<?
echo "$result";
?>
<p><a href="generic_form.html">Назад</a></p>
</body></html>
А вот проблема:
Fatal error: Function name must be a string in *:\*\htdocs\display_input.php on line 1
Системные данные: Apache 2.2.4 + PHP5.2.0 WinXP Prof SP2