Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php带参数如何按照参数来执行具体的代码

php带参数如何按照参数来执行具体的代码

WBOY
WBOYasal
2016-06-23 14:02:321006semak imbas

比如,我有网页
test.php
后面带一个参数test.php?1, test.php?2,test.php?3,test.php?4,test.php?5,

我现在通过获取url后面?后面的参数。
来执行具体的代码。求代码。。好像和asp写法不一样。。

获取参数。
然后
如果=1
执行 1相关的代码

如果等于2 执行2的相关代码
………………
如果等于5,执行5的相关代码

如果都不等于12345,那么就提示,参数错误
求代码,本人菜鸟。。


回复讨论(解决方案)

不明白你的意思
你在 asp 中怎么做的?

我估摸着楼主的asp网站是不是做了重写的,“?”后面的值也许应该是category=1、2、3...,所以你通过判断$_GET['category']=?就能运行指定的代码。不知道我的猜想正确否。
希望回答对你有帮助。

我估摸着楼主的asp网站是不是做了重写的,“?”后面的值也许应该是category=1、2、3...,所以你通过判断$_GET['category']=?就能运行指定的代码。不知道我的猜想正确否。
希望回答对你有帮助。

比如:我现在要调用网站各个栏目的数据。
我只想用一个php页面,然后用id参数来识别不同栏目内容,然后用id参数来输出。。?


不明白你的意思
你在 asp 中怎么做的?
比如:我现在要调用网站各个栏目的数据。
我只想用一个php页面,然后用id参数来识别不同栏目内容,然后用id参数来输出。。?

如果没有用url重写,则用$_SERVER['QUERY_STRING']获取 1、2、3等参数如果用了url重写,则用$_GET['参数名']获取1、2、3等参数假如获取的参数为 $actionswitch($action){ case '1':...;break; case '2':...;break; case '3':...;break; case '4':...;break; case '5':...;break; default:...;break;}

比如:我现在要调用网站各个栏目的数据。
我只想用一个php页面,然后用id参数来识别不同栏目内容,然后用id……
完全可以,你可以通过判断不同的id,参数组合不同的查询条件,所以也就得到不同的数据及栏目啦。当然你用到数据库了吧。

有点明白楼主的意思了
http://localhost/test.php?2
这样的url用
$id = key($_GET);
取得id号

http://localhost/test.php?id=2
这样的url用
$id = $_GET['id'];
取得id号


PHP code?123456789101112如果没有用url重写,则用$_SERVER['QUERY_STRING']获取 1、2、3等参数如果用了url重写,则用$_GET['参数名']获取1、2、3等参数假如获取的参数为 $actionswitch($action){ case '1':...;break; case '2':...;break; case '3'……

$action= $_SERVER['QUERY_STRING']; 
switch($action)
{
 case '1':...;break;
 case '2':...;break;
 case '3':...;break;
 case '4':...;break;
 case '5':...;break;
 default:...;break;
 }
?>

这样子写怎么就报错了。。
在线求完整的演示代码,以前搞asp的、、、感谢了。。。

引用 5 楼 zhangbin1988 的回复:PHP code?123456789101112如果没有用url重写,则用$_SERVER['QUERY_STRING']获取 1、2、3等参数如果用了url重写,则用$_GET['参数名']获取1、2、3等参数假如获取的参数为 $actionswitch($action){ case '1':...;break; case……

加入id为1,那么输出echo 这个是栏目1.

加入id为2,那么输出echo 这个是栏目2.

求完整代码。。。以前没有写过php
,格式和语法都还在学习中。。。

跟版主有学习了一个函数 key,学习了

有点明白楼主的意思了
http://localhost/test.php?2
这样的url用
$id = key($_GET);
取得id号

http://localhost/test.php?id=2
这样的url用
$id = $_GET['id'];
取得id号

引用 5 楼 zhangbin1988 的回复:PHP code?123456789101112如果没有用url重写,则用$_SERVER['QUERY_STRING']获取 1、2、3等参数如果用了url重写,则用$_GET['参数名']获取1、2、3等参数假如获取的参数为 $actionswitch($action){ case '1':...;break; case……

大神 你直接复制肯定报错啦  ...是我乱写的,要用你的逻辑代码替换呀!!!

引用 8 楼 phpcainiao 的回复:引用 5 楼 zhangbin1988 的回复:PHP code?123456789101112如果没有用url重写,则用$_SERVER['QUERY_STRING']获取 1、2、3等参数如果用了url重写,则用$_GET['参数名']获取1、2、3等参数假如获取的参数为 $actionswitch($action){ ca……

求完整代码格式咯,,感谢。。。

加入id为1,那么输出echo 这个是栏目1.

加入id为2,那么输出echo 这个是栏目2.

求完整代码。。。以前没有写过php
,格式和语法都还在学习中。。。

引用 8 楼 phpcainiao 的回复:引用 5 楼 zhangbin1988 的回复:PHP code?123456789101112如果没有用url重写,则用$_SERVER['QUERY_STRING']获取 1、2、3等参数如果用了url重写,则用$_GET['参数名']获取1、2、3等参数假如获取的参数为 $actionswitch($action){ ca……

你这样子的逻辑,我asp,也是这样子写的,现在我估计还是一些语法和格式我没有搞对。、。

比如,我有网页
test.php
后面带一个参数test.php?1, test.php?2,test.php?3,test.php?4,test.php?5,

我现在通过获取url后面?后面的参数。
来执行具体的代码。求代码。。好像和asp写法不一样。。

获取参数。
然后
如果=1
执行 1相关的代码

如果等于2 执行2的相关代码
……………


$class= $_SERVER['QUERY_STRING'];
switch ($class)
{
case 1:
  echo "Number 1";
  break;
case 2:
  echo "Number 2";
  break;
case 3:
  echo "Number 3";
  break;
default:
  echo "No number between 1 and 3";
}
有点眉目了。。

引用 11 楼 zhangbin1988 的回复:引用 8 楼 phpcainiao 的回复:引用 5 楼 zhangbin1988 的回复:PHP code?123456789101112如果没有用url重写,则用$_SERVER['QUERY_STRING']获取 1、2、3等参数如果用了url重写,则用$_GET['参数名']获取1、2、3等参数假如获取的参数为 $……

case '1':echo '栏目1';break;也可以把echo '栏目1';替换成相应的逻辑;具体的只能你自己写

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn