2014-06-05 19 views
1

我怎样才能调用函数声明在我的PHP文件从地址栏? 我已经尝试过附加功能名称与网站的地址,但它没有调用的函数..如何从地址栏调用php函数?

http://myWebSite.com/myFile.php?writeMessage 

myfile.php:

<?php 
    /* Defining a PHP Function */ 
    function writeMessage() 
    { 
    echo "You are really a nice person, Have a nice time!"; 
    } 
    /* Calling a PHP Function */ 
    writeMessage(); 
    ?> 

回答

7

您可以检查GET参数存在于URL和通话功能相应地:

if(isset($_GET['writeMessage'])){ 
    writeMessage(); 
} 
+0

整齐,清洁,给点意见: ) –

+0

@ Fred-ii-案例的另一个例子。也同意hanky在这里,很好的回答:) – Darren

+0

thankx它的工作:) –

1

当然,它不,特别是不那样。对我来说,这似乎是一个可怕的想法,从地址栏调用PHP函数,但是如果你坚持:

附加功能名称您的网址是这样的:

http://myWebSite.com/myFile.php?func=writeMessage 

而在PHP文件:

<?php 
    $func = filter_var($_GET["func"]); 
    call_user_func($func); 
?> 
1

尝试:

http://myWebSite.com/myFile.php?writeMessage=1 

和:

<?php 
/* Defining a PHP Function */ 
function writeMessage() 
{ 
    echo "You are really a nice person, Have a nice time!"; 
} 
/* Calling a PHP Function */ 
if(isset($_GET['writeMessage']) && $_GET['writeMessage'] == 1){ 
    writeMessage(); 
} 
?> 
2

一个简单的方法,我会使用给你,你没有太多的函数是在php文件的顶部使用if语句,并检查url的参数。

比方说,网址:

http://myWebSite.com/myFile.php?writeMessage 

把它变成:

http://myWebSite.com/myFile.php?function=writeMessage 

代码:

<?php 
    $function = $_GET['function']; 
    if($function == "writeMessage") { 
    // writeMessage(); 
    } 
?> 
1

你可以做这样的事情:

<?php 

function writeMessage() { 
    echo "You're a nice person"; 
} 

$writeMessageArg = $_GET['writeMessage']; /* grabs the argument from the URL */ 

if (isset($writeMessageArg)) { 
    writeMessage(); 
} 

?> 
+0

如何不同的答案你从OP的 –

+0

是不是很明显?我有一个定义为'$ _GET ['writeMessage']'的新变量,然后检查它是否被设置。 –

1

通过输入在地址栏中输入以下网址的通用方法

<?php 

$q = $_SERVER['QUERY_STRING']; 

function TestFunc() { 
    echo "TestFunc() called."; 
} 

$q(); 

?> 

可以调用TestFunc():

http://myWebSite.com/myFile.php?TestFunc