我想从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>";
我怎样才能做到这一点?提前谢谢。
如果您正在讨论进行ajax调用并在标头中传递会话cookie,那么您不需要手动执行此操作,因为对同一域进行的所有ajax调用都应该已经具有所有相应的cookie。
但是,如果您从不同的域进行ajax调用,那么它就不会有会话cookie。由于AJAX调用仅在您调用的url与调用脚本位于同一域时才发送cookie。
使用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>";
和在setsessionvariable.php文件中
session_start();
$_SESSION['confirmed'] = 1;
有一件事我应该说。您无法使用java脚本创建SESSION。因为SESSION将在服务器端运行。js将在前端(浏览器)运行。或者使用AJAX来传递变量。试试这个代码来解决你的问题。
<?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>";
}
?>