他のページから入力値を取得したいのですが、なぜそれが機能しないのですか?ここで他のページから入力値を取得できません
はコードです:
ページ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ロールシステムが動作し、メッセージが勝ったり、失われたりしますが、データベースに何も起こりません。私がページ2を$winorlose
に変更すると、それは機能します。
セッションに問題がある可能性があります。 PHPは、ブラウザ上のHTML構文解析時に実行されるため
<script>
function rollHead(){
.....
<?php
$_SESSION['wonorlose'] = $_GET["wonorlose"];
?>
......
}
:
セッションを開始しましたか? –
javascriptとPHPを混在させることはできません。 PHPがページがロードされる前に実行され、javascriptが実行されます。セッションを更新したい場合は、PHPページにajax呼び出しを送る必要があります。 – aynber
'money = money + '$ wonorose'''は少なくとも' money = money +' "でなければなりません。$ wonorlose。" ''でも、まだ悪いです... – eisbehr