好吧,假设我有这几页,
在我的主index.php中,我有一个开关数组,它运行一个'if存在$page‘函数,这个函数运行得很好。我的所有页面都来自site.com/index.php?page=约,site.com/index.php?page=misc等等。
在我的admin.php页面中有一个php选项卡导航,它为我的管理部分使用4个选项卡(blogger/图像管理器/文件管理器/引号管理器)。它使用4页的表函数切换。
blogger.php是我的开关有问题的地方。
关于我的问题:我不想为博客系统、"delete.php、add.php、edit.php等“设置多个页面,而是使用‘删除点击(delete.php?id=1)’这样的方式,我想试着从博客页面中运行所有这些页面。例如,"site.com/admin.php?page=blogger&act=dp/ep/ap“将得到传递的哪个$act,然后使用一个开关来完成操作。
我的页面开关工作正常,但是当我尝试调用更多的开关时,它就不能工作了。我尝试用这个作为我的代码
if(isset($_SESSION['id'])) {
$act = $_GET['act'];
switch ($act) {
case 'ap':
addPost();
break;
case 'ep':
editPost();
break;
case 'dp':
delPost();
break;
default:
~table setup
~$query, $result
~if / while loops
~echo $row->article_id/title/author/date
echo "<a href=\"index.php?page=admin&tabindex=0&act=ep&id={$row->article_id}\">Edit</a>"
...
...
...
这是我遇到的问题。页面是正确的,表索引是正确的,然后它停止工作。我只是得到了一个空白页,而不是我应该做的编辑页面。我的editPost函数是正确的,因为我已经从editpost.php?id=1方法中测试了它,这是我试图避免的。是的,我的功能也包括在这里。
这个url不是被通过了吗?或者我的动作开关设置不正确。也许在切换之前设置一个isset($_GET‘’act‘)?我不知所措。
谢谢。
发布于 2012-12-13 12:28:47
您想像这样同时传递多个操作吗?
//test.php?action=add/update/notify
if(isset($_GET['action'])) {
$act = $_GET['action'];
//split actions
$actions = explode('/', $_GET['action']);
foreach( $actions as $action ){
switch ($action) {
case 'add':
echo "add<br />\n";
break;
case 'update':
echo "update<br />\n";
break;
case 'notify':
echo "notify<br />\n";
break;
default:
// default action if no match (runs for every item of $actions array)
break;
}
}
}
https://stackoverflow.com/questions/13867648
复制相似问题