在代码中有这样一个语句
<li><a href="?file=taskmanager&action=newtask" target="right">任务添加</a></li>
action是一个变量
请问这个跳转是怎么工作的,我的看法是会跳转到文件名为taskmanager的文件中执行,但是该文件中没有action=newtask的选项,实际的代码工作的效果是跳到了一个文件名为newtask的文件执行。
请各位帮忙看看这是为什么?谢谢大家
如果能解释一下类型<a href="?file=taskmanager&action=newtask" ></a>的工作机制那就更好了

解决方案 »

  1. 这个是提交到当前文件处理的。先找到 file 这个参数是乍样处理的
    action 也如此炮制乍样处理,不同的程序是可能不同的处理,尽管url可能一样。
      

  2. 谢谢您的回复,也就是说这个是有可能跳转到newtask文件中吗?
      

  3. 你这是mvc结构吧。 根据acton参数的不同指向不同的控制器。然后调用不同的文件。
      

  4. 有可能,从网上下得一个模板,这个是先看action然后才决定调用的文件吗?您有没有什么比较好的mvc入门的资料,谢谢您
      

  5. 您能大概讲一下这种框架下类似于<a href="?file=taskmanager&action=newtask" ></a>这样的语句怎么工作的吗?
      

  6. mvc只是个思想,在不同的程序不同的处理方法,你不给出代码,是没办法回答你的。
    主要是看程序的路由是乍样处理的
      

  7. mvc只是个思想,在不同的程序不同的处理方法,你不给出代码,是没办法回答你的。
    主要是看程序的路由是乍样处理的
      

  8. <a href="?file=taskmanager&action=newtask" target="right">任务添加</a>
    点击该链接将转入接口文件(该页面本身,通常为 index.php)
    该接口分析出请求的动作(action)newtask 后转到文件 taskmanager 去执行
    可以是 include 该文件,也可以是 实例化 taskmanager 这个类,或者是其他
      

  9. 谢谢各位:
    代码大概是这个样子的:
    这个是网页左边菜单栏的选择代码:
    <div class="menuTitle">任务管理</div>
      <div class="menuContent">
        <ul>
    <li><a href="?file=taskmanager&action=newtask" target="right">任务添加</a></li>
    <li><a href="?file=taskmanager&action=cancel" target="right">任务取消</a></li>
    <li><a href="?file=taskmanager&action=edit" target="right">任务修改</a></li>
    <li><a href="?file=taskmanager&action=scout" target="right">任务监控</a></li>
    <li><a href="?file=taskmanager&action=find" target="right">内容检索</a></li>
        </ul>
       </div>
    这个是taskmanager文件的内容
    <?php defined('IN_JXCMS') or exit('Access Denied'); ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
     <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <meta name="generator" content="<?php echo $set_generator; ?>" />
      <script language="JavaScript" src="images/js/jquery.js"></script>
      <script language="JavaScript" src="data/config.js"></script>
      <script type="text/javascript" src="templates/admin/images/admin.js"></script>
      <link href="templates/admin/images/admin.css" rel="stylesheet" type="text/css">
     </head> <body>
      <table cellpadding="0" cellspacing="1" class="table_list">
        <caption>任务管理</caption>
          <tr>
    <td>
     <strong>管理选项:</strong>
     <a href="?file=taskmanager&action=cancel">任务取消</a> |
     <a href="?file=taskmanager&action=edit">任务修改</a>
    </td>
          </tr>
       </table>   <table cellpadding="0" cellspacing="1" class="table_form">
       <caption><?php if($action == 'cancel') { ?>取消<?php } elseif($action == 'edit') { ?>修改<?php } ?>任务</caption>
       </table>
       <br>
       <div style="margin: 10px;text-align: center;">
      </body>
    </html>
    比如说点击左边的“任务添加”,会在页面的左边执行newtask.php文件的内容
    newtask的文件内容如下:<?php defined('IN_JXCMS') or exit('Access Denied'); ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>内容分发网络管理系统</title>
    <meta name="generator" content="<?php echo $set_generator; ?>" />
    <script language="JavaScript" src="images/js/jquery.js"></script>
    <script language="JavaScript" src="data/config.js"></script>
    <script type="text/javascript" src="templates/admin/images/admin.js"></script>
    <link href="templates/admin/images/admin.css" rel="stylesheet" type="text/css">
    </head> <body>
    <?php if($action == 'newtask') { ?>
    <script language = 'javascript'>
    // 表单提交检测
    function doCheck1(obj){
    // 检测表单的有效性
    // 如:标题不能为空,内容不能为空,等等....
    if(obj.taskID.value==''){
    alert("请输入任务ID!");
    obj.taskID.focus();
    return false;
    }
    if(obj.ftp.value==''){
    alert("请输入ftp地址!");
    obj.ftp.focus();
    return false;
    }
    return true;
    } function doCheck2(obj){
    // 检测表单的有效性
    // 如:标题不能为空,内容不能为空,等等....
    if(obj.taskID.value==''){
    alert("请输入任务ID!");
    obj.taskID.focus();
    return false;
    }
    if(obj.infohash.value==''){
    alert("请输入infohash值!");
    obj.infohash.focus();
    return false;
    }
    return true;
    }
                   。
    请大家帮忙看看,为什么会执行newtask文件,谢谢大家
      

  10. 那不是很清晰吗》  根据action=newtask参数在taskmanager文件执行不同的动作。有点类似框架,frame。有空去研究框架的代码就知道了。  mvc的话。去研究joomla优秀的代码。
      

类似问题 »