dポイントプレゼントキャンペーン実施中!

市販の本を参考にPHPを勉強しています。
以下の(2箇所あります)$_GET['m']の'm'とは何なのでしょうか。mを得たらリセット・・?でもmを得るってなんなんでしょう??
突然出てきて困っております。
初歩的な質問かもしれませんが、よろしくお願いします。

<?php
//-------------------------------------------------------
//宝探しゲーム
//-----------------------------------------------------
//セッションの開始
session_start();
//タイトルと説明表示
echo "<h1>宝探し</h1>";
echo "<p>マップ上の適当な場所をクリック!</p>";
//ゲーム状態を判定する
$stat = $_SESSION['stat'];
if (!$stat || $_GET['m'] == "reset"){ //初めての場合、リセット時
init_game();
draw_map();
exit;
}
//パネルを開くとき
if ($_GET['m'] == 'click'){
click_panel();
}
// ゲームパラメータの初期化
function init_game()
{
//ゲームの初期化
$_SESSION['stat'] ='playing';
$_SESSION['turn'] =0;
//宝の位置を設定する
$_SESSION['takara_x'] = rand(0,8);
$_SESSION['takara_y'] = rand(0,8);
//マップを初期化
for ($y = 0; $y < 9; $y++){
for ($x = 0; $x < 9; $x++){
$_SESSION["map"][$y][$x] = "*";
}
}
}
//マップの描画(tableタグ表示)
function draw_map()
{
//マップを描画する
$map = $_SESSION['map'];
$s = "<table border='1'>";
for ($y = 0; $y < 9; $y++) {
$s .="<tr>";
for ($x = 0; $x < 9; $x++){
$v = $_SESSION["map"][$y][$x];
$color = "#FFFFFF";
if ($v == "*"){
$v = "<a href ='?m=click&x=$x&y=$y'>*</a>";
$color = "#COCOCO";
}
$s .= "<td width='24' align='center' bgcolor='$color'>";
$s .= "$v</td>";
}
$S .="</tr>";
}
$s .= "</table>";
echo $s;
echo "<p>現在、{$_SESSION['turn']}手目です。</p>";
echo "<p><a href='?m=reset'>* RESTART *</a></p>";
}
//パネルクリック時の処理
function click_panel()
{
$x = intval($_GET['x']);
$y = intval($_GET['y']);
$takara_x = $_SESSION['takara_x'];
$takara_y = $_SESSION['takara_y'];
$_SESSION['turn']++;

//宝を有無を判定
if ($takara_x == $x && $takara_y == $y) {
//宝を見つけた判定
$_SESSION["map"][$y][$x] = '<font color="red">@</font>';
echo '<h1>☆大当たり☆</h1>';
draw_map();
init_game();
}else{
//間違えた場合は宝までの距離を表示
$dist = abs($takara_x - $x) + abs($takara_y - $y);
$_SESSION['map'][$y][$x] = $dist;
echo "<p>残念でした!ヒント・・あと $dist の距離のところ</p>";
draw_map();
exit;
}
}
?>

A 回答 (2件)

コメントの「//初めての場合、リセット時」は、


「初めての場合はリセットする」という意味ではなく、
「初めての場合、または、リセット操作した場合、以下の処理を行う」という意味です。

$_GET は、呼び出し元のHTMLに記述された引数を取得する変数です。

HTMLがどうなっているのか挙げられていませんので想像ですが、
おそらく「最初から遊ぶ」という操作を指示するボタンがあって、
そのボタンでは、名前が「m」値が「reset」な引数を渡すように設定しているのでしょう。
それが、「リセット時」

「初めての場合」は、「!$stat」を指しているのだと思います。
$_SESSIONは、PHP内部のセッション管理によって、
PHPプログラムが終了した後も、次回起動時にまで
ユーザー(ブラウザ)ごとに変数値を覚えることが出来ます。

$stat の元になった $_SESSION['stat'] は、PHPコード内で値を設定していますから、
それが設定されていないということは、そのサイトを訪れた「初めての場合」である、
ということがわかります。
    • good
    • 0
この回答へのお礼

おおなるほど・・大方理解出来ました!
ありがとうございました。

お礼日時:2010/02/16 02:17

すでに書かれてますが


HTMLからPHPが呼び出された場合
GETとPOSTという二つの方法でデータを受信することが出来ます。
$_GET[]は、GETメソッドで名前がmのフォーム部品からデータをとる
という意味になります。
    • good
    • 0
この回答へのお礼

ふむふむ。
初学者にも分かりやすい説明ありがとうございました!
これからますます勉強しなければ・・ですね。

ありがとうございました。

お礼日時:2010/02/16 02:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!