【问题标题】:How to get javascript variable value from another page by php如何通过php从另一个页面获取javascript变量值
【发布时间】:2017-09-25 08:10:29
【问题描述】:

我在 tutorial1.php 文件中有一个工作计数 timer。我想要做的是当用户单击Stop 按钮时,计时器将停止并将持续时间发送到 result.php 文件。计时器在 javascript 中,但我是 javascript 的新手。现在我正在尝试使用session,但它不起作用。我不想使用 post 或 get,因为我将它用于另一个计算。

下面是代码:

1) 教程1.php

<?php session_start(); ?>
<h2 class="pull-right label label-primary"> Timer : <span id='timer'></span> </h2> //the countup timer
<?php $_SESSION['time'] = 'myVar'; ?>
<button id='".$j."' class='next btn btn-primary finish' onclick='myStopFunction()' name='Finish' type='submit'>Stop it!</button> //Stop button

<script>
    //TIMER
    var myVar = setInterval(function(){ timedCount() }, 1000);
    var c = 0;
    var t;
    timedCount();

    function timedCount() {

        var hours = parseInt( c / 3600 ) % 24;
        var minutes = parseInt( c / 60 ) % 60;
        var seconds = c % 60;

        var result = (hours < 10 ? "0" + hours : hours) + ":" + (minutes < 10 ? "0" + minutes : minutes) + ":" + (seconds  < 10 ? "0" + seconds : seconds);


        $('#timer').html(result);
        c = c + 1;
    }

    function myStopFunction() {
        clearInterval(myVar);

    }
</script>

2) 结果.php

Your time is <?php echo $_SESSION['time']; ?>

如何让它发挥作用?或者我的问题还有其他简单的解决方案吗?提前致谢。

【问题讨论】:

  • Cookies 和localStorage 也是在页面之间和同一页面上传递值的可能方式。使用localStorage,您可以在window.onload 期间使用Javascript 加载值,甚至不用担心PHP。使用 cookie,PHP 或 Javascript 没有问题。
  • 如果你想要向后兼容,那么你可以使用 AJAX 和 PHP $_SESSIONs。
  • 我还是不明白。抱歉,我是 javascript 新手 :(
  • @Tigger 你能写下工作代码吗?我试过但没有工作

标签: javascript php session variables


【解决方案1】:

您可以使用PHP cookies

<?php 
setcookie("name","value",time()+$int);
/*name is your cookie's name
value is cookie's value
$int is time of cookie expires*/
?>

Getting Cookie
=============================
<?php 
echo $_COOKIE["your cookie name"];
?>

【讨论】:

  • 警告:无法修改标头信息 - 标头已由 C:\UniServerZ\www\JITS\ 中的(输出开始于 C:\UniServerZ\www\JITS\Chapter1\tutorial1.php:202)发送Chapter1\tutorial1.php 第 204 行
  • 试试这个
  • 如果还是不行,试试jquery cookie plugin
【解决方案2】:

尝试在 js 脚本中添加 cookie:https://www.w3schools.com/js/js_cookies.asp 设置并从另一个页面获取(但 js 可能不允许从不同域获取 cookie)

但在我看来更好的解决方案:使用 jQuery $.get (https://api.jquery.com/jquery.get/) 向 php 文件发送请求(您可以在一页中使用多个请求):

// timeupdate.php
<?php
// timestamp update from another page
// https://url/timeupdate.php?time=123456 
$time = (int)$_GET['time'];
$_SESSION['time'] = $time;
?>
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-31
    相关资源
    最近更新 更多