Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Biel.

Encriptar url

Recommended Posts

boa noite a todos. Direto ao ponto.

Pessoal encriptei o idmenu que passa na url com md5, só que o conteudo não exibe quando eu clico nos links.

NOTA: O idmenu está ligado ao idconteudo. Quando eu clico em um dos três links do idmenu, é exibido o conteudo.

Gostaria de saber o que tenho que fazer para que o conteudo seja exibido quando eu clicar nos links do idmenu. Obrigado.




tbl_menu
idmenu menu
1 curso de php
2 curso de css
3 curso de javascript

tbl_conteudo
idconteudo nome
1 conteudo do curso de php
2 conteudo do curso de css
3 conteudo do curso de javascript



<?php
$sql = mysql_query("SELECT * FROM tbl_menu ");
while($linha = mysql_fetch_array($sql)){
$idmenu = md5($linha['idmenu']);
$menu = $linha['menu'];

?>

<ul">
<li> <a href="index.php?idmenu=<?php echo $idmenu; ?>" ><?php echo $menu; ?></a></li>
</ul>

<?php
}
?>

<br /><br />

<?php
$sql = mysql_query("SELECT * FROM tbl_conteudo");
while($linha = mysql_fetch_array($sql)){
$idconteudo = md5($linha['idconteudo']);
$conteudo = $linha['conteudo'];

?>

<ul">
<li> <a href="conteudo.php?idconteudo=<?php echo $idconteudo; ?>" ><?php echo $conteudo; ?></a></li>
</ul>

<?php
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo... não faz o menor sentido aplicar md5 no id do menu. Você está desperdiçando recursos da máquina e não tirando nenhuma vantagem disso.

 

Mas respondendo à sua pergunta, independentemente de utilizar md5 ou não, você precisa especificar para o banco de dados qual registro você deseja visualizar. Para isso utilizamos a cláusula WHERE.

 

Siga o exemplo:

$sql = mysql_query(
    'SELECT * FROM `tbl_conteudo` WHERE `idconteudo` = %s',
    md5( $_GET[ 'idconteudo' ] )
);

//depois execute a consulta e exiba a variável de retorno

Outra dica: estude PDO. É uma forma melhor de executar consultas no banco de dados. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Também não entendi o motivo de gerar um hash do ID. Por que quer fazer isso?

 

Outro detalhe é que md5 é um hash, logo, não tem como retornar a string original a partir do hash. Ou seja, você terá de salvar o ID e o hash na base de dados. Uma alternativa é usar criptografia em vez de hash.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Forma bem simples:

 

<?php
$chave = 123456;
$id = 323;


$criptografado = $id ^ $chave;
echo $criptografado . "\n";
$descriptografado = $criptografado ^ $chave;
echo $descriptografado . "\n";

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Forma bem simples:

 

<?php
$chave = 123456;
$id = 323;


$criptografado = $id ^ $chave;
echo $criptografado . "\n";
$descriptografado = $criptografado ^ $chave;
echo $descriptografado . "\n";

 

 

Cara, sempre tive trabalho com essa parte de passar id criptografado em MD5, pois da muito trampo na hora de montar as consultas criptografadas e tal, gostei da ideia do '^'!

Como se chama isso ? Quero dar uma pesquisada sobre isso !

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.