2014-06-05 47 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