I have the dummy account:
Username: giancagallardo@gmail.com
Password: Av3$truz
When I try to use PHP base64_encode using the code base64_encode($userName . ":" . $password);
I get "Z2lhbmNhZ2FsbGFyZG9AZ21haWwuY29tOkF2Mw"
When I use Javascript BTOA using the code btoa(userName + ":" + password)
I get "Z2lhbmNhZ2FsbGFyZG9AZ21haWwuY29tOkF2MyR0cnV6".
I am supposed to be getting the second one in PHP, what am I doing wrong?
Since this is your code:
$userName = "giancagallardo@gmail.com";
$password = "Av3$truz";
echo base64_encode($userName . ":" . $password);
PHP is trying to get the value of $truz, change it to this:
$userName = "giancagallardo@gmail.com";
$password = 'Av3$truz'; //now it does not try to evaluate it or you could scape $ like "Av3\$truz"
echo base64_encode($userName . ":" . $password);
I get the same results.
echo base64_encode('hello' . ':' . 'how are you?');
alert(btoa('hello' + ':' + 'how are you?'));
The result is in both cases:
aGVsbG86aG93IGFyZSB5b3U/
In case you don't get the same, can you give an example, just like I did?
Note that character encoding might be a factor here, but it is probably more likely that your variables don't have the same content.