我的程序目標 1.我的網站上分別顯示5-6個圓圈。 2.每當點擊一個圓時,它應該永久變爲紅色或綠色。SESSION無法保留值| PHP代碼中的邏輯錯誤
這裏是我的代碼:
<?php session_start(); ?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Let's see !</title>
</head>
<body>
<?php
define("SIZE", 5);
for ($i = 0 ; $i < SIZE ; $i++) //Initializes all Color Blocks to BLUE if not clicked
{
//If Image has been clicked, it takes a Color RED or GREEN
if (isset($_POST[$i."form"]))
{
if($i % 2 == 0)
$_SESSION[$i] = "green.jpg";
else
$_SESSION[$i] = "red.jpg";
}
else
{ //to check if image was previously clicked.
if ($_SESSION[$i] == "green.jpg")
$_SESSION[$i] = "green.jpg";
elseif ($_SESSION[$i] == "red.jpg")
$_SESSION[$i] = "red.jpg";
else //if never clicked it will be made blue.
$_SESSION[$i] = "blue.jpg";
}
}
for ($i = 0 ; $i < SIZE ; $i++)
{
?>
<form method="POST" action="index.php">
<input type="image" width=120 src="<?php echo $_SESSION[$i]; ?>" name="mainin"/>
<input type="hidden" name="<?php echo $i."form"; ?>" value="" />
</form>
<?php }
echo session_id(); //Sessions are working correctly. No issue with them.
?>
</body>
</html>
此計劃會發生什麼? 每當一個圓圈,被點擊它變成紅色。點擊第二個圓圈後,變爲綠色,第一個圓圈顯示爲藍色。而點擊第二個圓圈時,第一個圓圈應顯示爲紅色,第二個圓圈顯示爲綠色。
就我所知,這個程序中存在邏輯或概念錯誤。如果有人能告訴我我錯了什麼地方,我將會很棒。我一直試圖弄清楚這幾個小時。
請粘貼您的html表單代碼。 – GBD
以一個簡單的'var_dump($ _ POST)'開始,以便您可以驗證您認爲提交的原因* *實際提交了。將輸出(瀏覽器源代碼中的視圖)添加到問題中。 – hakre
HTML表單代碼已經存在。請向下滾動一下。 –