我在互联网上搜索了从URL运行一个函数,发现它是不可能的。
我在问是否有另一种方法可以做到这一点。我将在下面解释我想要实现的目标。
在我的网站上,我有几个函数,当在cracks.php页面上点击超链接时,主要内容会相应地改变。现在我想将人们从单个URL引导到crack.php页面,并且已经调用了该函数。 示例 - www.example.com/cracks.php?AC(将调用名为AC的函数,并在页面加载前更改内容)
我已经在下面找到了这种方法,但无法让它发挥作用。
if(document.location.search == '?AC')
{
AC();
}
对不起网站上的杂乱代码。感谢阅读,任何帮助将不胜感激。
答案 0 :(得分:0)
您可以拨打www.example.com/cracks.php?do=AC
,然后使用do
获取$doMethod = $_GET['do'];
。您接下来要做的是,使用switch
函数或少量if
来检查和执行$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;
}
答案 1 :(得分:0)
这取决于您是否需要动态执行此操作,或者您可以进行硬编码。因为硬编码太简单了(使用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 ,您会看到不同的输出。
答案 2 :(得分:0)
在Mark Koopman的帮助下,我设法使用了他的Javascript方法,它就像我想要的那样工作。
所以继承Javascript中的方法:
<html>
<body>
<script>
function handleOnload()
{
if(location.search == "?AC")
alert("the query string is " + location.search);
}
window.onload=handleOnload;
</script>
</body>
</html>