Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从javascript变量分配php变量_Javascript_Php_Variables - Fatal编程技术网

从javascript变量分配php变量

从javascript变量分配php变量,javascript,php,variables,Javascript,Php,Variables,我正在尝试设置一个php变量,以便在以后的页面中使用,而不使用$\u GET或$\u POST。我还将相同的变量指定给文本框。我已经有了分配textbox变量的函数,但没有分配php变量 function setText(data){ document.getElementById("filtext").value = data.value // <?php $_SESSION["provid"] = ?> // I am trying to set the php v

我正在尝试设置一个php变量,以便在以后的页面中使用,而不使用$\u GET或$\u POST。我还将相同的变量指定给文本框。我已经有了分配textbox变量的函数,但没有分配php变量

function setText(data){
  document.getElementById("filtext").value = data.value
  // <?php $_SESSION["provid"] = ?> 
  // I am trying to set the php variable above
}
函数setText(数据){
document.getElementById(“filtext”).value=data.value
//  
//我试图设置上面的php变量
}

任何帮助都将不胜感激

我认为在这种情况下,设置cookie将是最简单的解决方案。通过使用Javascript设置cookie,cookie键和值将在下一个页面请求中自动发送到PHP

另见:

  • ,尤其是“设置Cookie的函数”
  • ,特别是“如何检索Cookie值?”

要发送服务器端语言的值,可以使用AJAX

function setPHPVariable()
{
    var myAjax;
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
            myAjax=new XMLHttpRequest();
    }
    else
    {// code for IE6, IE5
        myAjax=new ActiveXObject("Microsoft.XMLHTTP");
    }
    myAjax.onreadystatechange=function()
    {
        if (myAjax.readyState==4 && myAjax.status==200)
        {
            alert('PHP returned: ' + myAjax.responseText);
        }
    }
    myAjax.open("GET","my_file.php?my_var=12345", true);
    myAjax.send();
}
在PHP代码中,您可以使用:

$myVar = $_GET['my_var'];
$_SESSION['my_var'] = $myVar; // or even $_SESSION['my_var'] =  $_GET['my_var'];

您需要像ajax这样的东西以get或post variablePHP=server、JavaScript=client的形式发送它——它们无法按照您的意愿进行交互。使用AJAX。Cookies可以工作,但AJAX是最好的选择。