Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Javascript и PHP (https://javascript.ru/forum/server/34492-javascript-i-php.html)

ilya2306 07.01.2013 14:14

Javascript и PHP
 
Здравствуйте!
Реализую шифрование DES на javascript. Использую готовую библиотеку. В библиотеке все работает, но для вывода на экран используется document.writeln (...);
Мне нужно переделать это, чтобы данные после шифрования, отправлялись на сервер. Вот как я делаю:
Есть форма: 3 инпута, 1 кнопка.

В первый пишем текст, во второй ключ.
По нажатии на кнопку шифруется текст и заносится в третий инпут, и данные отправляются скрипту php.
Вот как выглядят данные, полученные скриптом:

Проблема в том, что когда я присваиваю переменной javascript значение переменной php не все символы правильно обрабатываются.
Вот как я присваиваю
echo ("<script type='text/javascript'>var key = '".$_POST['key']."'; var text = '".$_POST['text']."';</script>");


И вот результат:

судя по результату какие-то символы не воспринимаются javascript
Вопрос:
Как перекодировать строку зашифрованного сообщения, чтобы потом в точности восстановить ее?

или как присвоить переменной javascript значение переменной php, сохраняя все символы?

судя по результату какие-то символы не воспринимаются javascript
Вопрос:
Как перекодировать строку зашифрованного сообщения, чтобы потом в точности восстановить ее?

или как присвоить переменной javascript значение переменной php, сохраняя все символы?

dmitriymar 07.01.2013 14:41

Цитата:

Сообщение от ilya2306
судя по результату какие-то символы не воспринимаются javascript

а причём здесь яваскрипт?
при передаче данных по http, нужно "кодировать и декодировать " символы . как на сервере так и на клиенте
http://php.net/manual/ru/function.urldecode.php в рнр
аналоги есть в скрипте

ilya2306 07.01.2013 15:40

спасибо за внимание!
Но это все не то! Надо перекодировать текст до отправки на сервер!

ilya2306 07.01.2013 15:40

Цитата:

Сообщение от dmitriymar
при передаче данных по http, нужно "кодировать и декодировать " символы . как на сервере так и на клиенте


Переменные в суперглобальных массивах $_GET и $_REQUEST уже декодированны. Применение urldecode() к элементам $_GET или $_REQUEST может привести к непредсказуемым и опасным результатам.

ilya2306 07.01.2013 18:05

Всем спасибо, вроде бы разобрался!


Часовой пояс GMT +3, время: 02:00.