http://www.phppro.jp/school/phpschool/vol19/2
こちらの講座にあるサンプルコードで分からないところがあります。
schedule_edit.phpのサンプルでは
if (isset($_POST["year"]) && is_numeric($_POST["year"])
&& $_POST["year"] > 2000) {
$year = $_POST["year"];
<form action="schedule_edit.php" method="post">
<input type="text" name="year" id="schedule-year"
value="<?php print(htmlspecialchars($year, ENT_QUOTES)); ?>" />
<label for="schedule-year" id="label-year">年</label>
formで入力されたデータはhtmlspecialchars($year, ENT_QUOTES)の$yearに格納され、
$_POST["year"]としてデータが渡り、
php側で$year = $_POST["year"];のように$_POST["year"]のデータが$yearに格納し直されています。わざわざ格納し直す理由も分からないのですが、一番知りたいところは
schedule_list.phpのサンプル内ではPOSTでなくGETで渡されているところです。
if ($schedule_date == date("Ymd", mktime(0, 0, 0, $_GET["month"],
$_GET["day"], $_GET["year"])))
$_POST["day"]ではなぜだめなのか分かりません。
この$_GET["year"]はschedule_edit.phpの$_POST["year"]を見ているわけではないのでしょうか。
No.2ベストアンサー
- 回答日時:
> print("<td><a href=\"schedule_list.php?year=" .$year ・・・
schedule_list.phpにはGETパラメータで渡しているから、$_GET["year"]です。
> <form action="schedule_edit.php" method="post">
> <input type="text" name="year" ・・・
schedule_edit.phpにはPOSTパラメータで渡しているから、$_POST["year"]です。
>この$_GET["year"]はschedule_edit.phpの$_POST["year"]を見ているわけではないのでしょうか。
違います。schedule_edit.php と schedule_list.php は別々のプログラムです。
schedule_list.phpで使われているGETはschedule_calendar.phpから渡されたデータで、
POSTはschedule_edit.phpだけで使われているデータ。
同じ変数名でもまったく違うデータということが分かりました。
ありがとうございました。
No.1
- 回答日時:
元ソースは見ていませんが、可能性としてデータを引き継ぐ際に
POSTはサブミットする必要がありますが、GETならアンカーでも渡せます
そのあたりが運用面でGETの方が利便性が高いってことじゃないですかねぇ
(ただ長くなるとGETはブラウザの制限に引っ掛かったりしますが・・・)
いずれにしろデータの遷移にはセッションで処理すれば解決するので
あまり気にする必要はありません
ありがとうございます。
>データの遷移にはセッションで処理すれば解決する
セッションで処理をするというのはどういう意味でしょうか?
$_SESSIONはサーバーに送信され保存されたデータを使うための変数なので、
GETやPOSTで保存されたデータを使うこともできるということかもと思い試してみました。
------ a.php -------
<?php
if(isset($_GET["gettest"])){
header("Location: b.php");
}
?>
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>a.php</title>
</head>
<body>
<form action="b.php" method="get">
<input type="submit" name="gettest" value="jikkou">
</form>
</body>
</html>
------ b.php -------
<?php
$session_start(); //Notice: Undefined variable: session_start
echo $_SESSION["gettest"]; //Fatal error: Function name must be a string
?>
***調べたこと***
>POSTはサブミットする必要があります
<input type="submit">など用意された専用の方法を使わなければデータを送れない。
>GETならアンカーでも渡せます
<a href="../test/index.html?name1=value1&name2=value2">
?以降がクエリストリングス
必ず 名前=値の書式で、パラメータを複数指定するときは&を使う。
echo $_GET['name1']; //value1
echo $_GET['name2']; //value2
のように使える
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- 英語 英語の質問です 「もし予定が合えば来年も行きます」って英語にしたら I will go there 3 2022/08/10 23:34
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) 今日の日付が過ぎたらその行を削除したい 1 2023/04/01 20:06
- TOEFL・TOEIC・英語検定 A year has twelve month.と、A year is twelve month.、 3 2023/08/23 13:34
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- 宇宙科学・天文学・天気 仙台で積雪量が増えたのに降雪量や天気概況には雪が降らなかった観測結果が出ることが最近多くなっている。 1 2023/02/01 19:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPとCSVで簡易データベースな...
-
FORMで送信ボタンと戻るボタン...
-
値が渡されない
-
form actionで二つ送信先を指定...
-
PEAR Image_QRCodeのエラー
-
ワンクリックしかできないクリ...
-
onedrive にexcelファイルをア...
-
こちらはただの直列処理ですか?
-
ワードプレス、Contact Form 7...
-
拡張子php画像をjpg画像等に変...
-
include先でのinclude元の変数...
-
リダイレクト元のURLの取得方法...
-
メールフォームのタイトルが文...
-
php エラー
-
PHPのif文でその処理を途中で抜...
-
VBでメールを送る時のSMT...
-
one drive のアップロード失敗...
-
別PHPファイルに変数を渡す
-
ワードプレスサイト PHP8.0.25...
-
パースエラーとは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データ送信をボタンを押さずに...
-
form actionで二つ送信先を指定...
-
データベース接続 ログインフ...
-
ボタンのクリック数を合計保存...
-
FORMで送信ボタンと戻るボタン...
-
テキストボックスにデータベー...
-
header(Location: next.php) だ...
-
inputタグでphpを呼び出す際、...
-
Auth認証エラー
-
PHP table内、<a href使って su...
-
値が渡されない
-
別のファイルへ値を受け渡す方法
-
【WordPress】投稿がないカテゴ...
-
header.locationで、画面遷移、GET
-
multipart/form-dataを使ったデ...
-
選択肢により様々なページに飛...
-
PHP検索結果を別ページに還移さ...
-
textareaの受け渡し
-
xamppでformによるデータの送信...
-
同じコードを使っているのにエ...
おすすめ情報