• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:変数の書き方について)

変数の書き方について

このQ&Aのポイント
  • 変数の書き方についての質問です。20行目のechoが何も表示されない問題が発生しています。具体的にはどのような内容を記載すればよいのか教えてください。
  • プログラム中の変数の書き方についての質問です。20行目のechoが実行されても何も表示されません。具体的にはどのような変数を書けばよいのか教えてください。
  • 変数の書き方に関する質問です。20行目のechoを実行しても何も表示されない問題があります。具体的にはどのような内容を書き込む必要があるのか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

$emailに何も指定しなければ表示されなくても当然です。 と言うのはともかくとして、恐らく、フォームで送った場合に表示させたいと言う事でしょうから、0行目あたりに extract($_POST); とかけば良いと思います。 恐らく質問者さんが参考にしている本は、PHP4.2以前のregister_global on の頃の参考書だと思います。 当時はemailと言う文字をpostで送信すれば、$emailに入りましたが、registee_global off の場合は$_POSTの中に値が入ります。 実際には $emai = $_POST[email]; $jikan = $_POST[jikan];.... となります。 こいつを横着すれば(笑、extract関数でいっぺんに展開できるというわけです。 的外れでしたか?

it2008
質問者

補足

すみません。やっぱり不明ですので、 関連しそうな部分、すべて記載します。 教えて頂いたとおり、下記構文を追加しました。 $email == @$_POST["email"]; しかし、結果は空欄でした。 ほかに、 $jikan == @$_POST["jikan"]; を追加しましたところ、こちらは正常に表示されました。 $emailを有効にするには、 ほかにどのような構文を追加すればよろしいのでしょうか? よろしくお願いします。 function gamen_upd() { global $conn; $array = cnv_formstr($_GET); extract($array, EXTR_SKIP); $sql = "SELECT * FROM yoyaku " . " WHERE roomid = " . $roomid . " AND hiduke = '" . $hiduke . "'" . " AND jikan = '" . $jikan . "'"; $res = mysql_query($sql, $conn) or die("データ抽出エラー"); $row = mysql_fetch_array($res, MYSQL_ASSOC); $roomname = cnv_dispstr(getroomname($roomid)); if (mysql_num_rows($res) <= 0) { $yoyakusha = ""; $email = ""; } else { $yoyakusha = cnv_dispstr($row["yoyakusha"]); $email = $row["email"]; } $ts = strtotime($hiduke); $ymd = strftime("%Y年%m月%d日(%a)", $ts); ?> <h2>更新画面</h2> <form method="post" action="<?=$_SERVER["PHP_SELF"]?>"> <table border="1"> <tr> <td colspan="3"> <p align="center"> 日付:<?=$ymd ?> 時間:<?=$jikan ?>  部屋:<?= $roomname ?></td> </tr> <tr> <td rowspan="4"> <input type="hidden" name="act" value="iti"> <input type="hidden" name="roomid" value="<?=$roomid ?>"> <input type="hidden" name="hiduke" value="<?=$hiduke?>"> <input type="hidden" name="jikan" value="<?=$jikan?>"> <input type="submit" name="sub" value="一覧表示画面へ"> </form> <?php if ($yoyakusha != "") { ?> <form method="post" action="<?=$_SERVER["PHP_SELF"]?>"> <input type="hidden" name="act" value="delconf"> <input type="hidden" name="roomid" value="<?=$roomid ?>"> <input type="hidden" name="hiduke" value="<?=$hiduke?>"> <input type="hidden" name="jikan" value="<?=$jikan?>"> <input type="submit" name="sub" value="予約削除"> </form> <?php } ?> <form method="post" action="<?=$_SERVER["PHP_SELF"]?>"> <input type="hidden" name="act" value="updconf"> <input type="hidden" name="roomid" value="<?=$roomid ?>"> <input type="hidden" name="hiduke" value="<?=$hiduke?>"> <input type="hidden" name="jikan" value="<?=$jikan?>"> <input type="submit" name="sub" value="予約更新"> </td> <td>お名前</td> <td> <input type="text" name="yoyakusha" value="<?=$yoyakusha ?>"> </td> </tr> <tr> <td>メールアドレス</td> <td><input type="text" name="email" value="<?=$email ?>"></td> </tr> </table> </form> <?php $jikan == @$_POST["jikan"]; $email == @$_POST["email"]; mail("aaa@bbb", $email, $jikan); }

その他の回答 (1)

回答No.2

> $jikan == @$_POST["jikan"]; > $email == @$_POST["email"]; 私が勉強不足かもしれませんが、上記のような書き方はした事がありません。 二重イコール == は、条件分等の判別式に使うものです。 代入する場合は = です。 @は? 何を意図して書いているんでしょう? 関数名の頭につけてエラーを吐かないように、と言う使い方は知っていますが。perl的に表現したのですか? また、formでは method="post"ですが、functionの受け取りには $array = cnv_formstr($_GET); とあります。ここで違っていると言う事はありませんか?

関連するQ&A