Запуск функции путем ввода URL-адреса

Я искал по всему Интернету, чтобы запустить функцию из URL-адреса, и выяснил, что это невозможно.

Я спрашиваю, есть ли другой способ сделать это. Ниже я объясню, чего я пытаюсь достичь.

На моем веб-сайте у меня есть несколько функций, которые при нажатии гиперссылки на эту страницу cracks.php соответственно меняют основной контент. Теперь я хочу направить людей с одного URL-адреса на эту страницу cracks.php с уже вызванной функцией. Пример – www.example.com/cracks.php?AC (который вызовет функцию с именем AC и изменения содержимого до загрузки страницы)

Ive нашел этот метод ниже, но не смог заставить его работать.

if(document.location.search == '?AC') { AC(); } 

Извините за грязный код на веб-сайте. Спасибо за чтение, любая помощь будет оценена по достоинству.

Вы можете позвонить по $doMethod = $_GET['do']; www.example.com/cracks.php?do=AC а затем $doMethod = $_GET['do']; , То, что вы тогда делаете, использует функцию switch или несколько, if s проверяет и выполняет, например, $doMethod равно AC .

Как это:

 $doMethod = $_GET['do']; switch($doMethod) { case "AC": //some random stuff to do break; case "BD": //some random stuff to do break; case "XY": //some random stuff to do break; default: break; } 

Это зависит, если вам нужно сделать это динамически или вы можете сделать это жестко закодированным. Поскольку этот жесткий код слишком прост (с if и switch), вам нужно сделать следующее:

 $functionsList = Array('func1', 'func2'); function func1(){ echo '1'; } function func2(){ echo '2'; } if (function_exists($_GET['f']) and in_array($_GET['f'], $functionsList)){ call_user_func($_GET['f']); } 

Затем вызовите your_file_name.php? F = func1 и your_file_name.php? F = func2, и вы увидите разные выходы.

С помощью Марка Коопмана мне удалось использовать его метод Javascript, и он работал так, как я хотел.

Итак, это метод в Javascript:

 <html> <body> <script> function handleOnload() { if(location.search == "?AC") alert("the query string is " + location.search); } window.onload=handleOnload; </script> </body> </html>