使用 AJAX post 将会话变量作为键值对传递到 PHP 文件
Pass session variable as Key-Value pair to PHP file using AJAX post
我有一个会话变量,比如说 $_SESSION['Current_User']。我想使用 AJAX 将它作为键值对传递给 URL。我有一些 HTML 输入如下:
HTML 是:
<INPUT type='text' name='input_1' id="INPUT_1"></INPUT>
<INPUT type='text' name='input_2' id="INPUT_2"></INPUT>
<INPUT type='text' name='input_3' id="INPUT_3"></INPUT>
<BUTTON id="BUTTON_1" name="BUTTON_1_SUBMIT" value="SUBMIT_1" onclick="ajax_post()">Post</BUTTON>
<DIV id="Sub_Div_4"></DIV>
Javascript 是:
function ajax_post()
{ var AJAX = new ajaxFunction();
AJAX.onreadystatechange = function()
{ if((AJAX.readyState == 4) && (AJAX.status == 200))
{ var PHP_REPLY = AJAX.responseText;
var RECI_EVE_D = JSON.parse(PHP_REPLY);
var STRING_jsonified = "|||data_1: " + RECI_EVE_D.data_1 + "||| data_2: " + RECI_EVE_D.data_2+ "||| data_3: " + RECI_EVE_D.data_3;
document.getElementById("Sub_Div_4").innerHTML = STRING_jsonified;
} }
var INP_1 = document.getElementById("INPUT_1").value;
var INP_2 = document.getElementById("INPUT_2").value;
var INP_3 = document.getElementById("INPUT_3").value;
var PARAM = "input_1=" + INP_1 + "&input_2=" + INP_2 + "&input_3=" + INP_3 ;
AJAX.open("POST", "PHP/PHP_SIMPLE_AJAX_POST.PHP", true);
AJAX.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
AJAX.send(PARAM);
}
比方说,PHP 文件 PHP_SIMPLE_AJAX_POST.PHP 需要该会话信息,用户输入进行一些处理并发回 JSON。那么我的问题是,如何将现有的$_SESSION['Current_user']打包并发送到PHP文件中呢?
谢谢,非常感谢!!
如果你的意思是,如何使用任何当前存在的 $_SESSION
值的值,你可以试试这个:
<INPUT type='text' name='input_1' value="<?php echo $_SESSION['Current_user']['input_1']; ?>" id="INPUT_1"></INPUT>
<INPUT type='text' name='input_2' value="<?php echo $_SESSION['Current_user']['input_2']; ?>" id="INPUT_2"></INPUT>
<INPUT type='text' name='input_3' value="<?php echo $_SESSION['Current_user']['input_3']; ?>" id="INPUT_3"></INPUT>
更新
那么您应该在 PHP 脚本中这样操作 $_POST
值:
$_SESSION['Current_user']['input_1'] = $_POST['input_1'];
$_SESSION['Current_user']['input_2'] = $_POST['input_2'];
$_SESSION['Current_user']['input_3'] = $_POST['input_3'];
我有一个会话变量,比如说 $_SESSION['Current_User']。我想使用 AJAX 将它作为键值对传递给 URL。我有一些 HTML 输入如下: HTML 是:
<INPUT type='text' name='input_1' id="INPUT_1"></INPUT>
<INPUT type='text' name='input_2' id="INPUT_2"></INPUT>
<INPUT type='text' name='input_3' id="INPUT_3"></INPUT>
<BUTTON id="BUTTON_1" name="BUTTON_1_SUBMIT" value="SUBMIT_1" onclick="ajax_post()">Post</BUTTON>
<DIV id="Sub_Div_4"></DIV>
Javascript 是:
function ajax_post()
{ var AJAX = new ajaxFunction();
AJAX.onreadystatechange = function()
{ if((AJAX.readyState == 4) && (AJAX.status == 200))
{ var PHP_REPLY = AJAX.responseText;
var RECI_EVE_D = JSON.parse(PHP_REPLY);
var STRING_jsonified = "|||data_1: " + RECI_EVE_D.data_1 + "||| data_2: " + RECI_EVE_D.data_2+ "||| data_3: " + RECI_EVE_D.data_3;
document.getElementById("Sub_Div_4").innerHTML = STRING_jsonified;
} }
var INP_1 = document.getElementById("INPUT_1").value;
var INP_2 = document.getElementById("INPUT_2").value;
var INP_3 = document.getElementById("INPUT_3").value;
var PARAM = "input_1=" + INP_1 + "&input_2=" + INP_2 + "&input_3=" + INP_3 ;
AJAX.open("POST", "PHP/PHP_SIMPLE_AJAX_POST.PHP", true);
AJAX.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
AJAX.send(PARAM);
}
比方说,PHP 文件 PHP_SIMPLE_AJAX_POST.PHP 需要该会话信息,用户输入进行一些处理并发回 JSON。那么我的问题是,如何将现有的$_SESSION['Current_user']打包并发送到PHP文件中呢? 谢谢,非常感谢!!
如果你的意思是,如何使用任何当前存在的 $_SESSION
值的值,你可以试试这个:
<INPUT type='text' name='input_1' value="<?php echo $_SESSION['Current_user']['input_1']; ?>" id="INPUT_1"></INPUT>
<INPUT type='text' name='input_2' value="<?php echo $_SESSION['Current_user']['input_2']; ?>" id="INPUT_2"></INPUT>
<INPUT type='text' name='input_3' value="<?php echo $_SESSION['Current_user']['input_3']; ?>" id="INPUT_3"></INPUT>
更新
那么您应该在 PHP 脚本中这样操作 $_POST
值:
$_SESSION['Current_user']['input_1'] = $_POST['input_1'];
$_SESSION['Current_user']['input_2'] = $_POST['input_2'];
$_SESSION['Current_user']['input_3'] = $_POST['input_3'];