$_SERVER[]の表す意味を教えてください。 - PHPプロ!Q&A掲示板
1261
- 0P
- 0P
$_SERVER[]の表す意味を教えてください。
質問日時 / 2008年6月24日 00:11 (最終編集:6月24日 18:27) 回答数 / 2件
Questioner: horowasan
Tweet
キーワード / Dreamweaver   $_SERVER  
Dreamweaverで制作を行っております。Dreamweaverでは,データベースに登録する「レコードの挿入」を行うと,下のようなコードが作成されます。
1 $editFormAction = $_SERVER['PHP_SELF'];
2 if (isset($_SERVER['QUERY_STRING'])) {
3 $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
4 }
5 if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
6 $insertSQL = sprintf("INSERT INTO users_t (US_name, US_tel, US_fax,) VALUES (%s, %s, %s)",
GetSQLValueString($_POST['US_name'], "text"),
GetSQLValueString($_POST['US_tel'], "text"),
GetSQLValueString($_POST['US_fax'], "text"));
7 mysql_select_db($database_RenShi, $RenShi);
8 $Result1 = mysql_query($insertSQL, $RenShi) or die(mysql_error());
9 $insertGoTo = "******.php";
10 if (isset($_SERVER['QUERY_STRING'])) {
11 $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
12 $insertGoTo .= $_SERVER['QUERY_STRING'];
13 }
14 header(sprintf("Location: %s", $insertGoTo));
15 }
この中の1~4行目,5行目,10行目~13行目の3箇所について意味を解説していただきたいです。
1行目~4行目にある$_SERVER['QUERY_STRING']とはどんな値を示しているのでしょうか?「ページがアクセスされた際にもし検索引数があればそれが格納されます。」とマニュアルには書いてありますが,検索引数というものが分かりません。そして,なぜ,ファイル名の後に”?”や検索引数というものをくっつけなければならないのでしょうか?
また5行目で,$_POST["MM_insert"] == "form1"であることをわざわざ確認する必要があるのでしょうか?
さらに10行目~13行目でも遷移するページのファイル名に”?”や$_SERVER['QUERY_STRING']を付けています。ここでは何が行われているのでしょうか?必要なことなのでしょうか?
よろしくお願いします。
この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。




ページのトップへ


SQLインジェクション対策は時と場合で使う関数が変わります。その時にあったものを使いましょう。