2016-08-01 93 views
-2

我想從其他頁面獲取輸入值,以及它爲什麼不工作?無法從其他頁面獲取輸入值

下面是代碼:

第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> 

頁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']); 
?> 

頁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 system works,and get message won or lose but nothing happens in my database。如果我將第2頁$winorlose更改爲數字,則可以使用。

我認爲會議可能有問題。

+3

你有沒有開始會議? –

+0

您不能將JavaScript和PHP混合使用。 PHP在頁面加載之前運行,JavaScript在之後運行。如果你想更新會話,你需要發送一個Ajax調用到PHP頁面。 – aynber

+0

'money = money +'$ wonorlose''應該至少是'money = money +'「。$ wonorlose。」',還有什麼更壞的... – eisbehr

回答

-1

試試這個

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

我已經開始會話。我發佈了第2頁的完整代碼 –

+0

echo this'「UPDATE users SET money = money + $ wonorlose WHERE user_id =」。$ _ SESSION ['user']以及結果是什麼? – paranoid

+0

如果我更改mysql_query(「更新'用戶'SET錢=錢+'$ wonorlose'WHERE user_id =」。$ _ SESSION ['user']);如果我創建其他頁面,有這個功能:$ _SESSION ['wonorlose'];它的工作原理和增加+10錢 –

0

你不能像這樣創建一個會話:

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

因爲PHP在瀏覽器的HTML解析的時間運行。所以從技術上講,沒有會話以「wonorlose」的名字保存。

在這種情況下,您必須創建一個ajax調用來創建一個會話和另一個調用來讀取它。

+0

但如果我創建其他頁面有此功能:$ _SESSION ['wonorlose' ] = $ _GET [「wonorlose」];它將如何獲得可變值,因爲它仍然在第1頁上 –

+0

您必須創建一個ajax調用來創建會話,而不是您的第2頁,您將通過使用$ _SESSION [ 'wonorlose'] = $ wonorlose; –

+0

我創建了這一點,它不工作我叫它上roolhead