yii如何将值数据传递给动作的链接

时间:2014-11-11 04:40:47

标签: php yii

我需要从链接url获取数据到控制器操作。通过电子邮件将值发送到我的应用程序

<a href="http://myweb.com/register?r=Register/ClickVerifyEmail?xxxx=<?php echo xxxx;?>&ssss=<?php echo ssss; ?>">Click me </a>

在控制器操作中

public function actionClickVerifyEmail(){
    $verifycode = $_GET['xxxx'];
    $theid = $_GET['ssss'];

    //others stuff
}

结果是错误:找不到网页。

有任何建议要这样做吗?或者我错过了我的代码?有人可以帮我查一下吗?感谢

4 个答案:

答案 0 :(得分:0)

你在href中给出的URL是错误的,有两个&#34;?&#34;在链接中,它可能会中断。

尝试按照Yii方式链接

<?php echo CHtml::link('Click me',array('Register/ClickVerifyEmail',
                                         'xxxx'=>'value1','ssss'=>'value2')); ?>

如果您要将Absolute Url从您的应用程序发送到电子邮件。你可以通过这种方式建立链接。

Yii::app()->createAbsoluteUrl('Register/ClickVerifyEmail', array('xxxx'=>'value1','ssss'=>'value2'));

如果https:

Yii::app()->createAbsoluteUrl('Register/ClickVerifyEmail', array('xxxx'=>'value1','ssss'=>'value2'), 'https');

答案 1 :(得分:0)

Yii::app()->createUrl('controller/action' , array('key1' => 'value1'));

回显以上,以便在您需要的地方获取所需的网址

答案 2 :(得分:0)

我找到了自己的解决方案:

<a href="http://myweb.com/register?r=Register/ClickVerifyEmail?xxxx=<?php echo xxxx;?>&ssss=<?php echo ssss; ?>">Click me </a>

删除渲染网址register?r=

    <a href="http://myweb.com/Register/ClickVerifyEmail?xxxx=<?php echo xxxx;?>&ssss=<?php echo ssss; ?>">Click me </a>

直接输入控制器名称和操作。

答案 3 :(得分:0)

网址中不需要另一个问号。您传递的路线(?r = )已经是变量,因此您需要做的就是使用&符号(&amp; )作为您的下一个值合格。

<强>网址

<a href="http://myweb.com/register?r=Register/ClickVerifyEmail&xxxx=<?php echo xxxx;?>&ssss=<?php echo ssss; ?>">Click me </a>

控制器行动

public function actionClickVerifyEmail($xxxx, $ssss){
//So no need for $_GET['xxxx'];
//Just use $xxxx as a variable where needed
//e.g.
$a = $xxxx;