Переменные Javascript в PHP Script - PullRequest
       2

Переменные Javascript в PHP Script

0 голосов
/ 20 февраля 2012

Я видел, что этот вопрос задавался много раз, и я провел обширное исследование о том, какие методы можно использовать для переноса нескольких переменных Javascript в сценарий PHP.

  1. Публикация данныхв виде скрытых значений
  2. Публиковать по URL, т.е. '/txt.php?h=' + var
  3. Использовать cookie

Я пытаюсьнапишите фрагмент кода, который позволит вам загрузить то, что вы написали в Wrrrite.com - я разработчик этого сайта.(Я также применил подход на стороне клиента, помещая переменные в URI и устанавливая заголовок для загрузки материала)

Ничего из этого не работает.Либо есть символ, вызывающий ошибку, либо html-элементы.

Есть ли что-то, что я могу кодировать, чтобы гарантировать передачу работы / переменных 1: 1?

Тип данных: HTML +различные разные персонажи "! §! 'и т. д. Вывод: файл .txt, желательно перевод 1: 1 того, что было написано в форме

Ответы [ 3 ]

1 голос
/ 20 февраля 2012

Возможно, вам следует использовать кодировку Base64 ваших данных перед отправкой. Взгляните на MDN для части JavaScript и здесь для декодирования PHP. Это должно предотвратить нарушение кода специальными символами.

0 голосов
/ 20 февраля 2012

Вот подход с использованием файлов cookie, который не работает http://pastebin.com/SKNtxLi5

Это просто объединяет значения без учета формата данных, используемого в файлах cookie.

Причудливый режим имеет приличное руководство по файлам cookie с JS , если вы хотите это исправить.

Однако ... смысл файлов cookie заключается в том, что данные сохраняются.Это не разумное преобразование для однократных сообщений.

0 голосов
/ 20 февраля 2012

Надеюсь, это поможет

//PHP

 if(isset($_REQUST['submit']))
{
  $download=$_REQUEST['download'];
// from database get value of all the downloadable items
// and check if the input is in that array then to the suitable thing. 
}
//HTML
<form method="post" action=''>
Type :<input type="text" id="txtField" name="txtField" />
<input type="hidden" name='download' />
<input type="submit" name="submit" onclick="return onSubmit() " />
</form>

//Javascript

<script type="text/javascript">
function onSubmit()
{
if(document.getElementById("txtField").value != '')
{
  document.getElementById("download").value=document.getElementById("txtField").value;
return true;
}
else
{
 alert("Please enter item to download");
return false;
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...