2014-04-22 1 views
1
$url = get_url(CONFIRM,base64_encode($_POST['status']."|".$agent_id)); 
ta_send_verification($_POST['email'],$_POST['agent_name'],$url); 

나는 사용자 프로필에 프로파일 확인 메일을 발송하고 있습니다. 해당 메일에 활성화 URL 링크가 있습니다. 나는 그 링크를 클릭하면 내가base64_encode() 함수가 (==) 연산자와 동일하게 작동하지 않습니다.

MlJPSEU0WEFKVlNZSFZFRFVXMlk1VVpUUTBIRk1KT0w0WDVBUzNVMnwyNA 

두 번째 URL이 올바른 하나이며 너무 잘 작동이 URL을

잘못된 URL

MlJPSEU0WEFKVlNZSFZFRFVXMlk1VVpUUTBIRk1KT0w0WDVBUzNVMnwyNA== 

올바른 URL을 얻었다. 그러나, 나의 활성화 연결에서는 나는 항상이 ==와 동등한 상징을 가진 URL를 얻는다. 내 정품 인증 URL 링크에있는 심볼과 동일한 내용의 ==을 어떻게 제거 할 수 있습니까? ==base64_encode()의 기본 동작입니다

+0

대신 다음 인코딩 기능을 사용할 수도 있습니다. 'convert_uuencode' – KinjalMistry

답변

2

패딩에 불과하다. wikipedia of base64 encoding..

'=='및 '='서열로부터

마지막 그룹은 각각 단지 8 또는 16 비트가 포함 된 것을 나타낸다.

이를 제거하려면 간단하게 str_replace()을 두 번 등호 기호로 사용하십시오.

$url = get_url(CONFIRM,base64_encode($_POST['status']."|".$agent_id)); 
$url = str_replace('==','',$url); 
+0

$ URL이없는 str_replace = ('==' ''$의 URL); 청춘이, $ URL을 = 않는 str_replace ('=', '', $ URL을) 쓰기; // 이렇게하면, – KinjalMistry