【问题标题】:Store javascript data into PHP SESSION VARIABLE?将javascript数据存储到PHP SESSION VARIABLE中?
【发布时间】:2014-06-30 13:55:01
【问题描述】:

我想知道是否可以将从 javascript 脚本生成的数字存储到 PHP SESSION 变量中。我基本上想将我的代码“+.res.id+”和“+.res.level+”存储到 PHP SESSION 中。这 2 个 javascript 代码生成一个随机数并以 html 形式输入该数字。无论如何我可以拿那个号码并将其存储在 PHP SESSION 中吗?例如

<script>
JAVASCRIPT CODING

'+res.level+'
'+res.id+' // BTW it actually does generate a number I just can't echo it in another      page or store it in a SESSION 
</script>

<?php
$_SESSION['.res.id.'] = $idnum;
$_SESSION['.res.level.'] = $levelnum;
?>

然后在一个单独的页面中,我想调用该 SESSION 并回显代码生成的数字。但我唯一的问题是,当我回显 $_SESSION 时,它回显为“.res.id”。而不是随机生成的数字。如何解决此问题以使其回显随机生成的数字?

【问题讨论】:

  • PHP 在服务器上运行,Javascript 在浏览器中运行。所有 PHP 将在服务器上执行,然后将输出发送到浏览器。然后浏览器会找到所有的 Javascript 代码并运行它。
  • 您必须通过 AJAX 调用将数据发送回网络服务器。否则在 Javacript 中设置的 cookie 将在下次执行时被 PHP 读取。
  • 谢谢 Scuzzy,但是设置 cookie 安全吗? @Scuzzy
  • 是关于 c# MVC 但与它相关stackoverflow.com/a/23444765/1874460

标签: javascript php session


【解决方案1】:

首先,javascript 在客户端运行,php 在服务器端运行。这意味着您不能只存储生成的数字。但是有一个解决方法。您可以通过 AJAX 请求来做到这一点。

在你的js中你可以做到这一点。

var res_id = your_random_number;
var res_level = your_random_number

$.post("/any/url/that/contains/your/php/code", {res_id:res_id, res_level:res_level});

在你的 php 中。

$_SESSION["res_id"] = $_POST["res_id"]; 

$_SESSION["res_level"] = $_POST["res_level"];

【讨论】:

  • 简单直接,+1
  • 在 php-code 中第一行应该是 session_start();
  • 我是 JS 的新手。有人可以解释一下如何使用那个“$”吗?我需要包含 jQuery 还是 smth?我完全不知道如何使用 AJAX,而且我不知道在哪里可以阅读:\
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-23
  • 2011-12-26
  • 2013-01-06
  • 2019-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多