我是法国人,所以为我的英语道歉。我在 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
?>