Вызов функции в PHP скрипте из HTML

  • Автор темы Автор темы jenia
  • Дата начала Дата начала

jenia

Новичок
Вызов функции в PHP скрипте из HTML

Промогите пожалуйста с проблемкой!
Существует два файла:

index.html:
...
<a href="otkr.scripts.php?posobie=1">
...

scripts.php:

<?php
function otkr($posobie){
...
}
?>

По моему, из index.html должна вызываться функция otkr в файле scripts.php, и этой функции должна передаваться переменная $posobie, которой должно присваиваться значение "1". Но этого не происходит. Где ошибка?
 
jenia
советую вообще не использовать register_globals
Юзай массив $_GET в данном случае...
 
register_globals в php.ini у меня включено.
А вот о вызове по подробнее... Я ж её вроде вызываю, когда обращаюсь к ней из HTML файла.
 
PHP:
if (isset($_GET["posobie"])){
  otkr($_GET["posobie"]);
}

это для того, чтобы вызвать твою функцию.
 
неа
вызов ето когда уже в php вызывается
otkr(переменная),
а function otkr($posobie) дает компу знать что ето функция.
 
jenia
В приведенном примере ты всего лишь создаешь ссылку на скрипт otkr.scripts.php с параметром posobie=1. Понять, что этим ты хочешь запустить только часть скрипта с именем scripts.php веб-сервер в общем случае не сможет. На всякий случай: обращение к этому скорее всего несуществующему скрипту otkr.scripts.php произойдет только в момент перехода по ссылке, а не при загрузке html-страницы.
 
В документе scripts.php не одна функция. Как из HTML файла (при нажатии кнопки или при нажатии на гиперссылку) вызвать нужную мне функцию и передать ей определённое значение.
 
Передавай еще один параметр и в зависмости от него вызывай нужную функцию:

index.html
...
<a href="scripts.php?func=otkr&posobie=1">
...

scripts.php:
PHP:
/*
тут функции
*/
function otkr($param){
...
}
/*
тут тоже функции
*/
// а тут начинается сам скрипт

switch ($_GET['func']) {
   // ....
   case 'otkr':
      otkr($_GET['posobie']);
      break;
   // ....
   default: // действие по умолчанию
}

Конечно, перед использованием нужно проверить GET-переменные на существование.
 
Спасибо большое всем! Последний пример работает так как надо!
 
Сверху