Yii Framework Forum: Codificar Parametro Da Url - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Codificar Parametro Da Url Rate Topic: -----

#1 User is offline   marisalima 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 36
  • Joined: 11-April 14

Posted 18 July 2014 - 11:38 AM

Boa tarde.

Tenho o seguinte problema e não estou a conseguir resolver. Na minha cgridview tenho a opção selectedchanged com o seguinte código:
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'form-grid',
'dataProvider'=>$dataProvider,
'htmlOptions'=>array('style'=>'cursor: pointer;'),
'selectionChanged'=>""
. "function(id){"
. "window.location='"
. Yii::app()->urlManager->createUrl('formularioHistoricoRHPag1/view') . "?id=' +$.fn.yiiGridView.getSelection(id);}",
'columns'=>array(

array(
'name'=>'id',



),
'nome',
array(
'name'=>'ano',
'value'=>'MomentoAvaliacao::model()->findByPk($data->id_momento_avaliacao)->ano',
)



),
));

Eu preciso que o id ao ser passado na url seja codificado, como posso fazer isso?
0

#2 User is offline   marisalima 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 36
  • Joined: 11-April 14

Posted 22 July 2014 - 09:40 AM

Não sei porque, mas estou a achar que o forum descrimina alguns novatos(as), pois cada vez que peço ajuda não existe ninguém que me consiga responder.!!!
0

#3 User is offline   Davi Crystal 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 22
  • Joined: 16-March 11

Posted 23 July 2014 - 09:28 AM

Olá Marisalima,

Sou novato também, mas vou tentar te ajudar... O que você quer dizer exatamente com "Eu preciso que o id ao ser passado na url seja codificado", o que seria exatamente esse "codificado"?
Davi Crystal #dup
0

#4 User is offline   roberson 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 1
  • Joined: 09-March 11

Posted 28 July 2014 - 02:25 PM

Olá marisalima.

Não creio que exista discriminação nos fóruns.

Pelo que eu entendi, você não quer expor o id do usuário.
Se for isto, você pode criar um campo chave na tabela usuário e, ao cadastrar um usuário, criar uma chave para ele, por exemplo, sha1(emailDoUsuario), que criará um número hexadecimal de 40 caracteres.
Desta forma, ao invéz de passar o id do usuário, pode passar esta chave.
Se quiser garantir que esta chave não se repita, crie este campo como unique no banco e faça os tratamentos devidos ao salvar.
Pode também criar uma chave e concatenar com o id do usuario e, ao recuperar o id, descartar a chave através de substring. Exemplo: id=1; chave=#98&7@6 idChave=1#98&7@6
0

#5 User is offline   Newerton 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 821
  • Joined: 27-April 10
  • Location:Campo Grande/MS - Cambé/PR, Brasil

Posted 30 July 2014 - 10:06 PM

Marisa,

Como muitos aqui, temos nossas ocupações fora do fórum. Como pode ver, você respondida, mais não retorno para dar resposta.

Se você sabe programar, saberia que não tem como codificar uma variável ou esconder na URL, o que se pode fazer e converter esse variável em uma combinação de caracteres e depois reverter essa combinação quando for receber ela.

Você pode usar o base64_encode() e o base64_decode() do próprio PHP, ou seguir a sugestão do Roberson que também é viável e mais segura, que não tem como decriptar um sha1().

This post has been edited by Newerton: 30 July 2014 - 10:07 PM

Newerton Vargas de Araújo
0

#6 User is offline   marisalima 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 36
  • Joined: 11-April 14

Posted 08 August 2014 - 05:08 AM

Em primeiro lugar obrigada pela resposta.
Caro Newerton,

sei muito bem que posso utilizar o base64_encode e base64_decode em php a minha questão é fazer isso ao utilizar código javascript num Cgridview onde crio uma url que passo o id da grid. Aí está o meu problema e não no PHP.
Vou seguir a sugestão do roberson e assim que tiver uma solução coloco.
E já agora não respondi porque estive ausente do trabalho e nas duas próximas semanas vou de férias!

Obrigada a todos.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users