[英]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.