使用url传递参数是php中的一项基本技巧,一般格式为url/?x=。
举例,如果要通过url传递一个参数n=5,那么url应当为url/?n=5,php页面中应当包含如下代码:
$n = $_GET['n'];
本人用php所写的是一个包括三个模式的数据库查询页面,从代码和可读性而言使用php中的switch来实现最为合适。用m来传递工作模式的参数,n和t传递需要查询的项,可以有如下代码:
$work_mode = $_GET['m'];
switch($work_mode){
case 0:
$now_area = $_GET['n'];
list($no,$areaX,$areaY,$positionX,$positionY,$sign,$area_name) = SqlAdapter($now_area);
echo "当前的位置为".$now_area."区,坐标为 ".$positionX.",".$positionY.";请在下方输入终点进行导航!"."<br>";
echo "<form action=''><input type='text' name='m' value='1' hidden><input type='text' name='n' value='".$now_area."' hidden><input type='text' name='t'><br><input type='submit' value='导航!'></form>";
break;
case 1:
$now_area = $_GET['n'];
$target_area = $_GET['t'];
list($no,$areaX,$areaY,$positionX,$positionY,$sign,$area_name) = SqlAdapter($now_area);
list($no_t,$areaX_t,$areaY_t,$positionX_t,$positionY_t,$sign_t,$area_name_t) = SqlAdapter($target_area);
echo "当前的位置为".$now_area."区,坐标为 ".$positionX.",".$positionY.";"."<br>";
echo "目的地位置为".$target_area."区,坐标为 ".$positionX_t.",".$positionY_t.";"."<br>";
break;
case 2:
echo "<form action=''><input type='text' name='m' value='1' hidden>起点:<br><input type='text' name='n'><br>终点:<br><input type='text' name='t'><br><input type='submit' value='导航!'></form>";
break;
}
使用m代表三种工作模式,以表单的形式向该php页面自身传递m和相关的查询参数,最后使用switch判定m的值来进行不同的操作。这就是以上代码的思路。