通过键入URL来运行函数

时间:2011-06-13 10:08:42

标签: php url

我在互联网上搜索了从URL运行一个函数,发现它是不可能的。

我在问是否有另一种方法可以做到这一点。我将在下面解释我想要实现的目标。

在我的网站上,我有几个函数,当在cracks.php页面上点击超链接时,主要内容会相应地改变。现在我想将人们从单个URL引导到crack.php页面,并且已经调用了该函数。 示例 - www.example.com/cracks.php?AC(将调用名为AC的函数,并在页面加载前更改内容)

我已经在下面找到了这种方法,但无法让它发挥作用。

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

对不起网站上的杂乱代码。感谢阅读,任何帮助将不胜感激。

3 个答案:

答案 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>
相关问题