2017-01-25 7 views
-1

Я создаю сайт, и я использую base64encode() и base64decode(). Я посылаю base64encode (значение) через и url и я получаю, а затем я декодирую значение. На странице, на которой у меня есть декодированное значение, у меня есть одна кнопка, которая идет на предыдущую страницу, и я использую кодировку, чтобы снова закодировать значение и отправить его. на предыдущей странице я декодирую это значение, и я снова закодирую для отправки на ту же страницу.Странное значение при использовании Base64enconde и декодирование

В первый раз я получаю правильные значения, но когда я делаю больше 1, я получаю странное значение. Это мой код:

Первая страница: Здесь я получаю одно значение, и я его декодирую.

$tablename = base64_decode($_GET['tablename']); 

В конце страницы я есть в списке с этим кодом, здесь я отправить закодированное значение:

$descricao = base64_encode($row["descricao"]); 
       $tablename = base64_encode($tablename); 
       ?> 
       <a href="./gestaoalarme.php?descricao=<?=$descricao?>&tablename=<?=$tablename?>"> 

В Seconde странице я получить закодированное значение

$tablename=base64_decode($_GET['tablename']); 

, и у меня есть эта кнопка, которая возвращается и отправляет значение кодировки.

<a href="./verdispositivos.php?tablename=<?=base64_encode($tablename)?>" class="btn Back btn-lg"> 

Впервые результаты, но затем нет.

+0

Это похоже на db-related. Если так; почему вы чувствуете необходимость кодировать это? Любой, у кого есть промежуточные навыки PHP, может декодировать это. –

ответ

1

Base64 encoded values are not URL safe из-за символов +/и =.

Перед использованием строки в URL-адресе вам также понадобится urlencode().

E.g.

$value_to_encode = 'some=string/here+foobar'; 
$encoded = urlencode(base64_encode($value_to_encode)); 
$decoded = base64_decode(urldecode($encoded)); 
+0

$ value_to_encode Что мне делать? переменная или url? –

+1

@ BrunoGonçalves, если этот ответ решил, вопрос должен быть отмечен как решенный. Также, как я сказал в комментариях: * «Любой, у кого есть промежуточные навыки PHP, может декодировать это» * - поэтому зачем нужно кодировать/декодировать это? –

+0

Я наблюдал за тем, чтобы не показывать значение в ссылке –