将Javascript变量转换为PHP脚本
我可以看到这个问题被问了很多次,我做了大量的研究,研究了可以使用什么方法将几个Javascript变量传输到PHP脚本将Javascript变量转换为PHP脚本,php,javascript,variables,character-encoding,Php,Javascript,Variables,Character Encoding,我可以看到这个问题被问了很多次,我做了大量的研究,研究了可以使用什么方法将几个Javascript变量传输到PHP脚本 将表单中的数据作为隐藏值发布 发布到URL,即'/txt.php?h='+var 用饼干 我正在尝试写一段代码,让你下载你写的东西-我是这个网站的开发者。(我还做了一个客户端方法,将变量放入URI并设置一个头来下载内容) 所有这些都不起作用。要么是某个字符导致了错误,要么是html元素 我是否可以编写一些代码来保证功/变量的1:1转换 数据类型:HTML+各种不同的字符“!§!
输出:.txt文件,最好是表单上所写内容的1:1翻译在发送数据之前,您可能应该使用Base64编码。请查看部分和PHP解码。这将防止特殊字符破坏您的代码。希望有帮助
//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;
}
}
//PHP
如果(isset($_请求['submit']))
{
$download=$_请求['download'];
//从数据库获取所有可下载项目的值
//并检查输入是否在该数组中,然后选择合适的对象。
}
//HTML
类型:
//Javascript
函数onSubmit()
{
if(document.getElementById(“txtField”).value!='')
{
document.getElementById(“下载”).value=document.getElementById(“txtField”).value;
返回true;
}
其他的
{
警报(“请输入要下载的项目”);
返回false;
}
}
这是Cookie方法,它不起作用
这只是将值拼凑在一起,而不考虑cookie中使用的数据格式
如果你想解决这个问题,怪癖模式有一个新的选择
然而,Cookie的关键在于数据的持久性。对于一次性消息来说,这不是一种合理的转换。您试图传输哪种类型的数据?如果是HTML,则以隐藏值的形式发布数据应该有效。(Ajax POST请求也应该如此。)PHP与此有什么关系?Wrrrite似乎完全用JavaScript编写,并使用本地存储存储数据(这使得“下载”成为不可能,因为数据已经是本地的)。您有什么代码?什么不起作用"? 你会犯什么错误?它正在被否决,因为它不能以目前的形式得到明智的回答。你有什么密码?你在写PHP吗?你在写JS吗?二者都你是如何执行它们的?你会犯什么错误?“不工作”是什么意思?@Quentin我两个都在写。我也可以执行它们。不工作意味着随机字符(因为所有字符都是允许的,包括“'[]”))将破坏脚本。Base64将数据量增加了33%,在使用POST时不需要。他表示,他的问题是数据中的特殊字符和html元素。Base64可以避免这两个问题。当内容仅为文本时,不需要使用Base64,而从网站的问题。encodeUriComponent是一种更明智的方法。@Sirko肯定可以,但我想不出在使用POST时有必要这样做。由于用户会不断更改文本,我如何动态更新提交内容的值?