我需要从链接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
}
结果是错误:找不到网页。
有任何建议要这样做吗?或者我错过了我的代码?有人可以帮我查一下吗?感谢
答案 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;