URL 和变量问题


URLs & Variables problems

我是法国人,所以为我的英语道歉。我在 zend 应用程序中遇到了一些麻烦,其中包含 URL 中的变量。我正在为酒店的服务创建一个后台应用程序。

解说:

我必须设置一个包含用户信息的表格,例如"id,姓名,名字等..."管理员可以在单击"删除"按钮时删除某些用户。

因为我是采埃孚的新用户,所以我学会了如何将变量从"视图"发送到"控制器"

我的观点 :

我已经用这个命令设置了变量传输。

<?php echo $this->url(array('controller'=>'moderation','action'=>'supprimer' , 'id' => $donnees['id']));?>">

它工作正常,我的变量在我的"supprimerAction"中,很酷。我的网址就像本地主机/审核/supprimer/id/2

但是,就在之后,当我单击另一个链接以更改控制器时,我的变量仍在我的 URL 中,例如 localhost/welcome/id/2

我不知道为什么。。。

为了解决这个问题,我创建了另一个新页面,带有另一个控制器等......等等...,这是同样的事情。我的变量仍然显示在我的网址中...

我不知道你是否明白我的问题是什么,但我从 2 天开始就一直在努力......

我的代码 :

审核.phtml

 while ($donnees = $this->reponse->fetch())
         {
           if ($donnees['hotel_zone'] == 0)
              $donnees['hotel_zone'] = "Paris";
           else
              $donnees['hotel_zone'] = "Province";
              ?>
            <tr>
                  <td style="border-top:1px solid grey"> <?php echo $donnees['id'];?></td>
                    <td style="border-top:1px solid grey"> <?php echo $donnees['hotel_name'];?></td>
                    <td style="border-top:1px solid grey" ><?php echo $donnees['id_availpro'];?></td>
                    <td style="border-top:1px solid grey" ><?php echo $donnees['c_name'];?></td>
                    <td style="border-top:1px solid grey" ><?php echo $donnees['c_email'];?></td>
                    <td style="border-top:1px solid grey" ><?php echo $donnees['c_url'];?></td>
                    <td style="border-top:1px solid grey" ><img src="<?php echo $this->baseUrl;?>/public/css/yes.gif"></td>
                    <td style="border-top:1px solid grey" ><a href="<?php echo $this->url(array('controller'=>'moderation','action'=>'supprimer' , 'id' => $donnees['id']));?>"><img src="/public/img/no.png"></a>
              </tr><?php
         }

审核控制器 :

<?php
class ModerationController extends Zend_Controller_Action 
{
   /*function init(){ $this->view->baseUrl = $this->_request->getBaseUrl(); }*/
function indexAction()
{
   //echo $this->getRequest()->getParam('id');
      try
     {
        $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
        $bdd = new PDO('mysql:host=myloocalhost;dbname=fhg_bo', 'root', '', $pdo_options);
     }
     catch (Exception $e)
     {
             die('Erreur : ' . $e->getMessage());
     }
     $this->view->reponse = $bdd->query('SELECT id, hotel_name, hotel_city, hotel_zone, c_title, c_name, c_fname, id_availpro, c_email, c_phone, c_url FROM nouveau_client');
      $this->view->nb_mod = $bdd->query('SELECT COUNT(*) FROM nouveau_client GROUP BY id');
}
function supprimerAction ()
{
   echo $this->getRequest()->getParam('id');
}
}
?>

因此,当我收到此变量并单击另一个链接时,我的变量仍在我的 url 中......就像在我的程序中记住了变量一样......

谢谢你帮助我,

再一次,对不起我的英语,我会尽力回答问题。

谢谢

您必须向 URL 视图助手添加更多参数:

<?php echo $this->url(array(
        'controller'=>'moderation',
        'action'    =>'supprimer' , 
        'id'        => $donnees['id']), null, true); // true = RESET PARAMS
?>