使用ajax将会话cookie从javascript传递到php

使用ajax将会话cookie从javascript传递到php,javascript,php,ajax,session-cookies,Javascript,Php,Ajax,Session Cookies,我想从javascript传递会话变量。问题是Javascript本身是由PHP生成的 echo "<script>" ."if(confirm('Evaluation is already exist! Do you want to update evaluation?')) { //Here I want to add : $_SESSION['confirmed']=1; so I can proceed to save process alert('Eva

我想从javascript传递会话变量。问题是Javascript本身是由PHP生成的

echo "<script>"
."if(confirm('Evaluation is already exist! Do you want to update evaluation?'))
  {
    //Here I want to add : $_SESSION['confirmed']=1; so I can proceed to save process
    alert('Evaluation Saved!);
  }
  else
  {
     alert('Evaluation Cancelled!);
  }"
    ."</script>";
echo“”
“如果(确认('评估已存在!是否要更新评估?'))
{
//这里我想添加:$\u SESSION['confirm']=1;这样我就可以继续保存进程了
警报('已保存评估!);
}
其他的
{
警报('评估已取消!);
}"
."";

我怎样才能做到这一点?提前感谢。

使用Ajax存储会话变量

echo "<script>"
."if(confirm('Evaluation is already exist! Do you want to update evaluation?'))
  {
    $.post( '/setsessionvariable.php', function(){
      alert('Evaluation Saved!);
    });

  }
  else
  {
     alert('Evaluation Cancelled!);
  }"
    ."</script>";

有一件事我应该说。您无法使用java脚本创建会话。因为会话将在服务器端运行。js将在前端(浏览器)中运行。或者使用AJAX传递变量。尝试此代码hepls来解决您的问题

   <?php
session_start();
$confirmed=1;
if($confirmed==1){
    $_SESSION['confirmed']=1;
    echo "<script> alert('Evaluation Saved!'); </script>";
  }

  else
  {
session_destroy();// to destory existing session
     echo "<script> alert('Evaluation Cancelled!'); </script>";
  }
?>

如果您正在谈论进行ajax调用并在标头中传递会话cookie,那么您不需要手动执行此操作,因为对同一域进行的所有ajax调用都应该已经具有所有相应的cookie


但是如果您是从不同的域进行ajax调用,那么它就不会有会话cookie。因为AJAX调用仅在您调用的url与您的调用脚本位于同一域时发送cookie

它不是这样工作的-您需要使用JS创建/更新会话,或者将ajax请求发送到一个php文件,该文件将发送到会话。是否要在页面加载时设置会话?在setsessionvariable.php文件中?是的。“已确认”中没有任何内容,它是否总是为“已确认”给出1?警报不起作用我没有得到confirmed@Elbert改变如果(确认('评估已存在!是否要更新评估?'){}。如果条件合适,试着回答并说。你知道怎么看代码吗
   <?php
session_start();
$confirmed=1;
if($confirmed==1){
    $_SESSION['confirmed']=1;
    echo "<script> alert('Evaluation Saved!'); </script>";
  }

  else
  {
session_destroy();// to destory existing session
     echo "<script> alert('Evaluation Cancelled!'); </script>";
  }
?>