这是我使用php的第一周,所以在此先感谢您的建设性答复。
我有一个附加了url参数的html页面:mywebsite.com/f.html?survey_id=5d86055f35bf41f3a35f2c779fc478dc
我需要将此Survey_id参数传递给将此ID保存在文本文件中的php脚本。我当前的代码未正确传递,因为文本文件为空。
html页面是/f.html php脚本是/test.php
这都是在服务器端运行的。
保存脚本可以正常工作,就好像我用$ d这样的字符串代替$ id一样,一切正常。
我已经使用$ _GET尝试了以下代码,但是输出为空,因此我假设该参数未传递给执行fwrite的.php脚本。
我还读到,可以通过修改.htaccess文件来解决此问题,并尝试将以下内容添加到我的.htaccess文件中,但未能解决问题。
RewriteRule“ /pages/(.+)”“ /page.php?page=$1” [QSA]
我认为这不是完全正确的规则,但是不知道如何修改它以适合我的特定情况。
jQuery(document).on('click', 'div#download', function () {
jQuery('div#counter1').html('Loading...');
var ajax = jQuery.ajax({
method: 'get',
url: '/test.php', // Link to this page
data: { 'increase': '1' }
});
ajax.done(function (data) {
jQuery('div#counter1').html(data);
});
ajax.fail(function (data) {
alert('ajax fail : url of ajax request is not reachable');
});
});
test.php
$myFile = "testFile2.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
$id = $_GET['survey_id'];
$stringData = $id;
fwrite($fh, $stringData);
fclose($fh);
文本文件中的预期结果应为5d86055f35bf41f3a35f2c779fc478dc。
当前结果是文本文件为空。
答案 0 :(得分:1)
在诸如此类的数据中传递survey_id
jQuery(document).on('click', 'div#download', function () {
var url =window.location.search;
var survey_id = /survey_id =([^&]+)/.exec(url)[1];
jQuery('div#counter1').html('Loading...');
var ajax = jQuery.ajax({
method: 'get',
url: '/test.php', // Link to this page
data: { 'increase': '1', 'survey_id': survey_id }
});
ajax.done(function (data) {
jQuery('div#counter1').html(data);
});
ajax.fail(function (data) {
alert('ajax fail : url of ajax request is not reachable');
});
});