将Javascript从PHP变量保存到文件
在Javascript中,我有一个函数,可以从PHP GET变量创建哈希。比如说,将Javascript从PHP变量保存到文件,javascript,php,Javascript,Php,在Javascript中,我有一个函数,可以从PHP GET变量创建哈希。比如说, <script type="text/javascript"> function getHash{ ... } var answer = "<?php echo $_GET["answer"];?>"; document.write(getHash(answer)); </script> 函数getHash{ ... } var-answer=“”; 编写(getH
<script type="text/javascript">
function getHash{
...
}
var answer = "<?php echo $_GET["answer"];?>";
document.write(getHash(answer));
</script>
函数getHash{
...
}
var-answer=“”;
编写(getHash(答案));
现在,这是输出散列到页面。有没有办法将此散列保存到服务器上的文件中?您可以通过ajax请求执行此操作。如果您没有使用JQuery,我发送ajax请求的代码附在下面:
function getRequestObject(){
var o = null;
if(window.XMLHttpRequest){
o = new XMLHttpRequest();
}else if(window.ActiveXObject){
try{
o = new ActiveXObject('Msxml2.XMLHTTP');
}catch(e1){
try{
o = new ActiveXObject('Microsoft.XMLHTTP');
}catch(e2){
}
}
}
return o;
}
function request(method, adress,sendData,callback){
var o = getRequestObject();
var async = (callback!==null);
if(method === 'GET'){
if(sendData!=null){adress+="?"+sendData;}
o.open(method, adress, async);
o.send(null);
}else if(method === 'POST'){
o.open(method, adress, async);
o.setRequestHeader('Content-Type' , 'application/x-www-form-urlencoded');
o.send(sendData);
}
if(async){
o.onreadystatechange = function (){
if(o.readyState==4&&o.status==200){
callback(o.responseText);
}else if(o.readyState==4&&o.status!=200){
//Error
}
};
}
if(async){return ;}
else{return o.responseText;}
}
只有当函数getHash使用变量用户输入时,您尝试执行的操作才有意义。如果情况并非如此,并且计算哈希的所有信息在服务器上都是可用的,那么您应该直接在服务器上计算哈希。还要注意,用户可以操纵散列值(如果它是由javascript发送的,而不是在服务器上计算的)
您还可以将哈希保存在服务器上的会话变量中。使用Ajax发送哈希,或者执行
window.location.href='saveHash.php?hash=XXX'代码>并将其保存在PHP中。哈希函数是在javascript中完成的,看起来相当复杂。我不知道如何将它移植到PHP,否则会解决我所有的问题:)@Bijan你能把这个函数发布到一个新的版本中吗?翻译成PHP可能会很有趣:)@Bijan-WOW!我试试看,我很无聊。“但我不能保证我会成功。”比扬我花了一个小时试着翻译,结果回来看到了这个。PHP的原生md5('abc')
返回与代码相同的值。为什么你不能用它?对不起,我退出了,我对位运算符不够熟悉^^我是个白痴。我没有意识到长代码等同于md5\u hex()