无法从其他网页

时间:2016-08-01 13:02:25

标签: php jquery session

我想从其他页面获取输入值以及它为什么不起作用?

以下是代码:

第1页:

<h1 align="center">
    <form name="form" action="" method="get">
        <input type="text" name="wonorlose" id="wonorlose" value="50">
    </form>
</h1>

点击按钮:

<script>
    function rollHead(){
        var die1 = document.getElementById("die1");
        var status = document.getElementById("status");
        var d1 = Math.floor(Math.random() * 2) + 1;
        if(d1 == 1)
        {
            die1.innerHTML = "You lose!";
            fliped.innerHTML = "Fliped Tail!";
            var getsession = new XMLHttpRequest();
            getsession.open('POST','getsession.php',true);
            getsession.send();
            var ajax = new XMLHttpRequest();
            ajax.open('POST','lose.php',true);
            ajax.send();
        }
        else if (d1 == 2)
        {
            die1.innerHTML = "You won!";
            fliped.innerHTML = "Fliped Head!";
            var getsession = new XMLHttpRequest();
            getsession.open('POST','getsession.php',true);
            getsession.send();
            var ajax = new XMLHttpRequest();
            ajax.open('POST','won.php',true);
            ajax.send();
        }
    }
</script>

Page ajax.php:

<?php
    session_start();
    include_once 'dbconnect.php';

    if(!isset($_SESSION['user']))
    {
        header("Location: /manopuslapis/index.php");
    }
    $res=mysql_query("SELECT * FROM users WHERE user_id=".$_SESSION['user']);
    $userRow=mysql_fetch_array($res);

    $_SESSION['wonorlose'] = $wonorlose;
    echo $wonorlose;
    mysql_query("UPDATE `users` SET credits=credits+'$wonorlose' WHERE user_id=".$_SESSION['user']); 
?>

Page getsession.php:

<?php
    session_start();
    include_once 'dbconnect.php';

    if(!isset($_SESSION['user']))
    {
     header("Location: /manopuslapis/index.php");
    }
    $res=mysql_query("SELECT * FROM users WHERE user_id=".$_SESSION['user']);
    $userRow=mysql_fetch_array($res);

    $_SESSION['wonorlose'] = $_GET["wonorlose"];
?>

P.S roll系统工作,我得到消息赢或输但我的数据库中没有任何反应。如果我将第2页$winorlose更改为数字,则可以正常工作。

我认为会议可能有问题。

2 个答案:

答案 0 :(得分:0)

您无法创建如下会话:

<script>
function rollHead(){
    .....
    <?php
    $_SESSION['wonorlose'] = $_GET["wonorlose"];
    ?>
......
}

因为php在浏览器上进行html解析时运行。因此从技术上讲,没有保存名称为“wonorlose”的会话。

在这种情况下,您必须进行ajax调用以创建会话,并进行另一次调用以进行读取。

答案 1 :(得分:-1)

试试这个

session_start();
$_SESSION['wonorlose'] = $wonorlose;
echo $wonorlose;
mysql_query("UPDATE `users` SET money=money+'$wonorlose' WHERE user_id=".$_SESSION['user']);