私のプログラムの目的1.5〜6個の円がそれぞれ青い色の私のサイトに表示されます。2.円をクリックすると、永久に赤または緑に変わります。
これが私のコードです:
<?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>
このプログラムで何が起こりますか? 円をクリックすると、赤に変わります。2番目の円をクリックすると、緑に変わり、最初の円が青で表示されます。一方、2番目の円をクリックすると、最初の円は赤で、2番目の円は緑で表示されます。
私が感じる限り、このプログラムには論理的または概念的なエラーがあります。誰かが私がどこで間違ったのか教えてくれれば、私は素晴らしいでしょう。私はこれを何時間も理解しようとしてきました。