2013-04-26 7 views
0

У меня есть следующий код, но почему функция выполняется без нажатия ссылки или выполнения оператора if.Вызвать php-функцию по ссылке

if($_SESSION['log'] == true) 
{ 
    echo "<a href="'. function() .'"">LINK</a>; 
} 
else 
{ 
....... 
} 
+3

с комментариями, пожалуйста, не давайте downvote.How он может исправить свою ошибку, не сказав ничего – PSR

+0

ваши котировки перепутаны –

+0

@Al. Вы беспокоитесь о котировках? –

ответ

4

Вы не можете назвать это так.

Что вы можете сделать, это установить связь href на той же странице и передать некоторые get params к этому link и когда это get params isset то call что function.

Пример

<a href="same.php?action=callfunction">Click</a> 

и код для вызова функции, как показано ниже.

if(isset($_GET['action']) && $_GET['action'] == 'callfunction'){ 
    //call function here 
} 
1

почему функция выполняться без нажатия на ссылку

PHP сделок в тексте (обычно). Это браузер, который имеет дело с HTML. Вы имеете дело со строкой, состоящей из строкового литерала, связанного с возвращаемым значением вызова функции, связанного с другим строковым литералом (или вы бы хотели, чтобы ваши кавычки не были сломаны и вызывают синтаксическую ошибку).

Если вы хотите, чтобы функция срабатывала только при нажатии ссылки, установите для атрибута href URL-адрес скрипта, который содержит function().

или соответствует утверждению if.

Этого не произойдет. Функция появляется внутри тела оператора if, поэтому он не срабатывает, если только if не является истинным.

+0

Это утверждение будет подпрыгивать над его головой. «Вы имеете дело со строкой, состоящей из строкового литерала, объединенного с возвращаемым значением вызова функции, связанного с другим строковым литералом' –

1

PHP - это серверный язык. Вы не можете вызвать вызов функции в PHP из ссылки, щелкнутой в браузере.

Вы должны были бы построить URL со всеми необходимыми параметрами в строке запроса и передать обратно в PHP скрипт для того, чтобы PHP, чтобы сделать что-то с информацией

0

вы можете использовать JQuery подход

как $ .ajax ({ URL: "script.php", типа: "POST", данных: "ID = 1", успеха : функция (результат) { оповещение (результат); }}

в PHP

$id = $_POST['id']; 
echo "The id is ".id; 

Вы получите выход функции php в результате состояния успеха $ .ajax.

Смежные вопросы