【问题标题】:Add javascript variable inside PHP code to decrypt JSON在 PHP 代码中添加 javascript 变量以解密 JSON
【发布时间】:2021-05-13 12:43:12
【问题描述】:

基本上我有 PHP 代码和 javascript 代码的组合。我的 mySQL 数据是使用 CodeIgniter 加密的,因此要在 json 中加载数据(查看和编辑),我需要再次对其进行解密。我的问题是如何使我的“$x”变量动态化?

谢谢。

    function edit_person(id)
    {
        save_method = 'update';
        $('#form')[0].reset();
        $('#modal_form').modal({backdrop: 'static', keyboard: true, show: true }); 
    
        <?php
        $x = 13; //<==  **i need to make this $x dynamic based on "edit_person(id)"** //
        $url = "http://myurlhere.com/main/ajax_edit/".$x;
        $datax = file_get_contents($url);
        $string = json_decode($datax, TRUE);
        ?>
        
        $.ajax({
            url : "<?php echo site_url('main/ajax_edit')?>/" + id,
            type: "GET",
            dataType: "JSON",
    
    success: function(data)
    {
    $('[name="id"]').val(data.id);
    // ** below code "firstName" is my decryption requirement ** //
    $('[name="firstName"]').val("<?php echo $this->encryption->decrypt($string['firstName']); ?>");
    $('#modal_form').modal('show');
    },
    error: function (jqXHR, textStatus, errorThrown)
    {
    alert('Error get data from ajax');
    }
  });
}

【问题讨论】:

    标签: javascript php json ajax encryption


    【解决方案1】:

    您可能混淆了服务器端代码和客户端代码。 简单来说:首先,客户端向服务器发送请求。目标 PHP 代码仅在服务器端执行。然后它会生成一个 HTML 文件,其中包含您的 JS 代码。该文件被发送到客户端并仅在客户端执行。那时,在客户端,只有 JS 代码,没有 PHP 代码。所有 PHP 代码都被某个值替换,或者被简单地删除或忽略。

    如果你想从你的 JS 代码中访问一些 PHP 功能,你必须从客户端向服务器发送一个请求。正如您对 AJAX 调用所做的那样。

    因此,为了使您的 $x 动态化,您必须调用一些 PHP 代码并将 ID 作为参数传递。

    您可以通过非常简化的方式实现这一点:

    $.ajax({
                url : "your url to some file.php/?id=" + id,
                type: "GET",
        })
    

    一些文件.php

     <?php
        $x = $_GET["id"]; //<== $_GET["id"] will return the value of the parameter "id" in the url
        ?>
    

    从这里开始,您应该阅读有关 AJAX 调用、输入清理和验证的更多信息,以保护您的请求。

    【讨论】:

    • 感谢您的回复。获取所需 PHP "$x" 变量的最简单方法可能是获取 javascript 函数 id 。如何在“function edit_person(id)”中获取 javascript“id”并将其用作 PHP 变量。
    • 您无法在 PHP 代码中捕获 JS 函数 ID,因为它们是不同的实例。想象一下,好像两个人正在通过电子邮件进行交流。 A 人是 PHP,B 人是 JS。如果要在 PHP 中使用 ID,则 JS 必须向 PHP 发送 get 请求,并以 ID 作为参数。然后你可以执行一个 PHP 脚本,它会接受参数并用它做一些事情。
    猜你喜欢
    • 2014-09-11
    • 2018-11-24
    • 1970-01-01
    • 2013-01-19
    • 1970-01-01
    • 1970-01-01
    • 2014-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多