将html URL参数传递给PHP脚本

时间:2019-02-13 12:14:51

标签: php jquery html ajax .htaccess

这是我使用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。

当前结果是文本文件为空。

1 个答案:

答案 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');
        });
    });