使用url参数调用此函数

时间:2011-08-22 23:48:53

标签: php

如何使用url参数

调用此函数
function test($str, $str_){

     if ($str == $str)
     echo "null";
     else
     echo "helloworld";
}

4 个答案:

答案 0 :(得分:4)

使用此:

switch($_GET['cmd']) {
case 'hello':
    test($_GET['cmd'],'second_parameter_value');
}

问题是您没有传递第二个参数的值。我执行以前的代码并打印“helloworld”

第二部分:

如果您打算使用Url中的两个参数调用该函数,则可以使用以下内容(我只修改您自己的初始代码中的重要部分):

function test($str, $str_){

     if ($str == "null")
        echo "null";
     else
        echo "helloworld";
}

switch($_GET['cmd']) {
case 'hello':
    test($_GET['cmd'],$_GET['cmd2']);
}

和调用它的Url是:execute.php?cmd = hello& cmd2 = hello2

答案 1 :(得分:2)

该函数使用两个参数定义,但您只传入了一个。

这将导致致命错误并且PHP停止执行 - 您应该收到一条错误消息,如果您不是,建议您在php.ini中启用display_errors,或者您可以将行ini_set('display_errors',TRUE);放在脚本的顶部。

试试这个:

function test ($str) {
  if ($str == "null") {
    echo "null";
  } else {
    echo "helloworld";
  }
}

switch ($_GET['cmd']) {
  case 'hello':
    test($_GET['cmd']);
    break;
  default:
    echo "No match in switch structure";
} 

答案 2 :(得分:0)

function Init()
{
   if(isset($_GET['cmd']))
     {
       $command = $_GET['cmd'];
       switch($command)
       {
           case 'hello':
              test($command);
           break;
          default:
            echo 'hello world';
       }
    } else {
      echo 'Enter Command';
    }
}
function test($cmd)
 {
   echo 'Command: ' . $cmd;
}
Init();

也许这可以帮到你

答案 3 :(得分:0)

试试这个

$urlParams = explode('/', $_SERVER['REQUEST_URI']);
$functionName = $urlParams[2];
$functionName($urlParams);


function func1 ($urlParams) {
    echo "In func1";
}

function func2 ($urlParams) {
    echo "In func2";
    echo "<br/>Argument 1 -> ".$urlParams[3];
    echo "<br/>Argument 2 -> ".$urlParams[4];
}

并且网址可以如下所示 http://domain.com/url.php/func1
http://domain.com/url.php/func2/arg1/arg2