Я искал по всему Интернету, чтобы запустить функцию из 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>