繁体   English   中英

如何在javascript文件中访问php会​​话?

[英]How to access php session in javascript file?

下面是我的代码:

index.php文件

index.php文件的javascript

function Result()
{
  var marks = 55;
  document.getElementById("hdnmarks").innerHTML= marks; 
  window.location = "results.php";
}

index.php的HTML

<input type="hidden" name="hdnmarks" id="hdnmarks">

说明:我有一个网址为url localhost/index.php的网页。 在index.php中,我有一个提交按钮,单击该按钮会调用Result javascript方法,该方法将标记设置为55,并将其放入隐藏字段中,并带我到results.php页面。

results.php ,我必须在数据库中插入标记的值。 但是我应该如何访问这些标记,因为它们存储在index.php文件的隐藏字段中?

我想在会话中添加标记,但是如何在javascript函数中维护PHP会话? 我的意思是,在移至results.php之前,应在何时何地在会话中添加标记?

您可以像<?php session_start();?>这样在页面上启动会话,并像这样为会话创建隐藏字段

<input type="hidden" name="mysession" id="mysession">

并修改javascript函数之类的东西

function Result(){
  var marks = 55;
  document.getElementById("mysession").innerHTML= <?php echo session_id();?>; 
  document.getElementById("hdnmarks").innerHTML= marks; 
  document.getElementById('Form').submit();
}

用您的表单名称更改表单名称

您的问题分为两个部分

1)

但是我应该如何访问这些标记,因为它们存储在index.php文件的隐藏字段中?

标准方式是使用表格

<form action="index.php" method=POST>
  <input type="hidden" name="hdnmarks" id="hdnmarks">
</form>

使用按钮或JavaScript提交表单以将数据发布到index.php

在index.php中

<?php

$marks = $_POST['hdnmarks'];

?>

2)

我的意思是,在移至results.php之前,应在何时何地在会话中添加标记? 您必须开始会话并设置会话变量

index.php

<?php
session_start();
$marks = $_POST['hdnmarks'];
$_SESSION['marks'] = $marks;
?>

result.php

<?php session_start() ?>
...
//javascript code
var marks = <?php echo $_SESSION['marks'] ?>
...

注意:这不是将数据从一个传递到另一个的很好的方法,也不是将数据从php传递到javascript的很好的方法,如果您使用的是数据库,则会话也无用

只是Javascript使用此:

function getCookie(name) {
  var value = "; " + document.cookie;
  var parts = value.split("; " + name + "=");
  if (parts.length == 2) return parts.pop().split(";").shift();
}

getCookie('PHPSESSID');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM