2017-05-06 24 views
0

我创建一个PHP文件submit_request.php与下面的代码:为什么请求不会创建文件?

$tx_hash = $_POST['tx_hash']; 
$home-address = $_POST['home-address']; 
$email = $_POST['email']; 
$file = fopen($tx_hash, 'w'); 
fwrite($file, $home-address); 
fwrite($file, $email); 
fwrite($file, $tx_hash); 
fclose($file); 

所以这个文件是这个代码在调用我的index.html文件:

$.ajax ({ 
type: 'POST', 
url: 'submit_request.php?tx_hash=document.getElementById("tx- 
hash").value&home-address=document.getElementById("home- 
address").value&email=document.getElementById("email").value', 
success: function(data){ 

} 

}); 

但它不创造该文件像调用后除外。为什么?请给我一个解释如何得到这个代码的工作;)

感谢, 基督教

+0

请检查$ tx_hash变量的值,然后检查路径是否正确? fopen http://php.net/manual/en/function.fopen.php –

+0

url数据具有'document.getElementById'语句不会被转义,因此它们的值不会被发送 – RamRaider

回答

0

尝试单独发送数据。我对变量名做了一些修改。请尝试下面的代码,

 <?php 
     $tx_hash = $_POST['tx_hash']; 
     $home_address = $_POST['home_address']; 
     $email = $_POST['email']; 
     $file = fopen($tx_hash, 'w'); 
     fwrite($file, $home_address); 
     fwrite($file, $email); 
     fwrite($file, $tx_hash); 
     fclose($file); 

你的Ajax代码在这里

 $.ajax ({ 
      type: 'POST', 
      url: 'submit_request.php', 
      data: { 
      tx_hash:document.getElementById("tx_hash").value, 
      home_address:document.getElementById("home_address").value, 
      email:document.getElementById("email").value 
      }, 
      success: function(data){ 

      } 
     }); 
+0

好吧,我试试看,谢谢 – modifyer

+0

非常感谢它只是工作! – modifyer

+0

我很高兴它的工作。快乐编码:) – manian

0

你需要逃避的报价实际上包括HTML元素,否则你发送一个不正确的字符串document.getElementById(...)的值部分请求

$.ajax ({ 
    type: 'POST', 
    url: 'submit_request.php?tx_hash='+document.getElementById("tx-hash").value+'&home-address='+document.getElementById("home-address").value+'&email='+document.getElementById("email").value, 
    success: function(data){ 
     alert(data) 
    } 

}); 
相关问题