PHP变量从一个页面转移到另一个页面

PHP variable transfer from one page to another

本文关键字:转移 另一个 一个 变量 PHP      更新时间:2023-09-26

我正在html5(phaser js)上构建一个游戏,我需要为此构建一个排行榜。代码片段如下:

restart_game: function() {  
// Start the 'main' state, which restarts the game
//this.game.time.events.remove(this.timer);  
    //this.game.time.events.remove(this.timer2);  
    //this.game.state.start('main');
    var string="score.php?score="+this.score;
    window.open(string);
},

在window.open函数中,我希望将分数的值传递到另一个页面,在那里我会询问玩家的名字,然后将分数和名字都插入数据库。但是我很难在三页纸上传递分值。我该怎么做?我需要AJAX还是只需要PHP和Javascript就足够了?

你能使用浏览器cookie吗?你可以在cookie中保存分数值,并在需要时访问它吗?阅读关于如何使用cookie的链接https://developer.mozilla.org/en-US/docs/Web/API/document.cookie

保存到cookie如下:

document.cookie="score=54; expires=Thu, 18 Dec 2013 12:00:00 GMT";

在PHP中,你可以阅读cookie

if(isset(($_COOKIE['score'])) {
    $score = $_COOKIE['score'];
}

在JS中读取cookie:

var score = document.cookie;

您可以使用会话变量将变量保存在内存中,直到会话处于活动状态,它才可访问。

<?php
error_reporting(E_ALL);
session_start();
if (isset($_POST['session'])) {
    $session = eval("return {$_POST['session']};");
    if (is_array($session)) {
        $_SESSION = $session;
        header("Location: {$_SERVER['PHP_SELF']}?saved");
    }
    else {
        header("Location: {$_SERVER['PHP_SELF']}?error");
    }
}
$session = htmlentities(var_export($_SESSION, true));
?>

有关更多信息,请查看此处

查找jQuery

restart_game: function() {  
  var score = this.score;
  $.ajax({
    url: 'save_score.php',
    data: {score: score},
    method: 'POST'
  }).done(function() {
    window.location = "other_page.php";
  });
},

save_score.php

session_start();
if(isset($_POST['score']) && strlen($_POST['score']) > 0) {
  $score = intval($_POST['score']);
  $_SESSION['score'] = $score;
}

other_page.php

session_start();
var_dump($_SESSION);

您可以在php中使用$_SESSION变量来跟踪会话中与用户相关的数据。它需要cookie。