функция выполняемая по событию:возможно ли это?

Selebro

Новичок
функция выполняемая по событию:возможно ли это?

Недавно начал изучать php, до этого изучал java, прекрасно понимаю что php выполняется на сервере, но тут начал читать Н.Прохоренок "джентельменский набор web-мастера" и натыкаюсь в разделе php на такого типа коды(листинги взял с диска в комплекте):


<?php
echo "<HTML>\n";
echo "<HEAD>\n";
echo "<TITLE>Вычисление факториала</TITLE>\n";
echo "</HEAD>\n";
echo "<BODY>\n";
echo "<B>Вычисление факториала</B><BR><BR>\n";
echo "Введите число<BR>\n";
echo "<FORM>\n";
echo "<INPUT type=\"text\" name=\"fact\">\n";
echo "<INPUT type=\"submit\" value=\"OK\">\n";
echo "</FORM><BR>\n";
function f_Factorial($x) {
if ($x == 0 || $x == 1) return 1;
else return ($x * f_Factorial ($x - 1));
}
if (isset($fact)) {
if (!ereg("^[0-9]+$", $fact)) {
echo "Необходимо ввести целое число!";
}
else {
echo "Факториал числа " . $fact . " = " . f_Factorial((int)$fact);
}
}
echo "</BODY>\n";
echo "</HTML>\n";
?>

вопрос такой,точнее их несколько:
1)по нажатию кнопки сабмит происходит обновление этой страницы и присвоение значение в $fact из текстового поля?
2)если да то поидее через isset при каждом обновлении происходит проверка значения $fact и если оно задано то вызывается функция function f_Factorial($x) ?
3)Самый тупой и нубский вопрос....почему не работает прога?))) (в книге аналогичных кодов тьма...тоже не работают,хотя не исключено что у меня на компе чето не пашет)
4)как сделать , чтобы вместо сабмита использовалась button? и вообще возможно ли это учитывая что у нас ФАЙЛ ИЗ 1 ЕДИНСТВЕННОЙ PHP СТРАНИЦЫ
5)автор в листингах использует везде "встраивание тегов" в эхо... можно ли заменить....точнее не писать в каждой строке echo ''" ?

P.S. заранее благодарен!
 

dimagolov

Новичок
начал читать Н.Прохоренок "джентельменский набор web-мастера"
книгу спали
почему не работает прога
http://www.php.net/manual/en/security.globals.php
поэтому "книгу спали"
сабмита использовалась button
изучай JS, вешай обработчик onclick на свой button и считай в нем что тебе там нужно
можно ли заменить....точнее не писать в каждой строке echo
поиском по форуму на тему "шаблоны на php"
 

Selebro

Новичок
LoL )) я не правильно выразился по поводу перехода с java на php )))
короче у меня лабы должны быть написаны на java а курсач на php )
это раз... нумер 2: при попытке повесить чето типа <input type="button" name=''text' value="ok" onClick = "func();">
ошибок не выдается, но либо результат тупо не выводится либо функция не вызывается.

вообще через запросы request в java то у меня все получается, но момент именно в том что пытаюсь написать...
ну вот например такое(как изменить чтоб работало), чтоб работало через 1 единственный файл *.php (так можно или низя?):

<html>
<head>
</head>
<body>
<center><h3>Координаты:</h3></center>
<form>
<table align="center" border=1>
<tr>
<td>
<?php echo '<input type="text" name="xA" id="xA">xA'?>
</td>
<td>
<?php echo '<input type="text" name="yA" id="yA">yA'?>
</td>
</tr>
</table>
<?php echo '<input type="submit" value="ОК">'?>
<?php
if(isset($xA))
{
start();
}
function start()
{
echo "hfsdaaaaaaaaaa^";
echo "aweaqwreqwr";
echo "";
}

?>
</form>
</body>
</html>

или через onclick пробывал


<html>
<head>
</head>
<body>
<center><h3>Координаты:</h3></center>
<form>
<table align="center" border=1>
<tr>
<td>
<?php echo '<input type="text" name="xA" id="xA">xA'?>
</td>
<td>
<?php echo '<input type="text" name="yA" id="yA">yA'?>
</td>
</tr>
</table>
<?php echo '<input type="button" value="ОК" onClick="start();">'?>

<?php
function start()
{
echo "hfsdaaaaaaaaaa^";
echo "aweaqwreqwr";
echo "";
}

?>
</form>
</body>
</html>


как изменить чтоб работало?

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

Selebro

Новичок
жаль что ответили не напрямую, но зато сайтик хороший, как раз по моему уровню, информация ценная,спасибо! пошел изучать =)
 
Сверху