Мне нужно получить данные из 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
}
Результат: Ошибка: Страница не найдена.
Любое предложение сделать это? или я что-то пропустил в своем коде? Кто-нибудь может помочь мне проверить? благодаря
В URL-адресе нет необходимости в вопросительном знаке. Пропущенный вами маршрут (? R =) уже является переменной, поэтому вам нужно просто использовать амперсанд (&) для следующего значения, которое вы передаете.
URL
<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;
Я нахожу свое собственное решение:
<a href="http://myweb.com/register?r=Register/ClickVerifyEmail?xxxx=<?php echo xxxx;?>&ssss=<?php echo ssss; ?>">Click me </a>
Удалить register?r=
URL-адреса рендера register?r=
:
<a href="http://myweb.com/Register/ClickVerifyEmail?xxxx=<?php echo xxxx;?>&ssss=<?php echo ssss; ?>">Click me </a>
Непосредственно введите имя и действие контроллера.
Yii::app()->createUrl('controller/action' , array('key1' => 'value1'));
эхо выше, чтобы получить нужные URL-адреса, где вам нужно
Ваш URL-адрес, указанный в href, неверен, есть два "?" в ссылке, поэтому он может сломаться.
Попытайтесь следовать ссылке 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');