質問: JavaScript・PHP双方手を出して大変間もないものです。標題の件を学ぶため、こちらの記事を参考に挑戦中です。 記事にある構成どおり、index.phpとselect.phpを作りました。社内DBへ接続する上で、実在する2テーブルからデータを取得するようには一部コードを置き換えさせて頂いています。 現在はindex.phpの一つ目=親リストボックスの表示まで成功しています。 こちらからアイテムを選択しても子リストボックスの中身が現れてこない、という状態で悩んでいます。 【そもそもの質問】 1:select.phpは、index.phpと同じフォルダに収めていく想定でこの記事は掲載されているのでしょうか?どこかにおくべき場所があるのか、もしくはincludeさせるべきものでしょうか? 2:select.phpへアクセスされているのか否かを知る術はありますか?現況子リストボックスの反応が見えないので... ちなみに、select.php頭は現況以下になっています... print "ようこそPHPへ"; 但しindex.php上で親リストボックスからアイテムを選択しようと、「ようこそPHPへ!」は現れません。直接select.phpにアクセスした場合には、この文言が画面に現れます。(当然かな?) xamppで一連を取得しましたが、phpのログファイルは現況未設定の様です。 select.phpの中に記載されたERRORキャッチ時の$e->getMessage()なども一体 どこに現れるのだろうか?と考えています。 一先ず、状況を進展させるため、select.phpへアクセスされているのか否かを知りたいと考えてます。 まとまりのない問い合わせとなりましたが、ご支援をよろしくお願い致します。
回答: > > 1:select.phpは、index.phpと同じフォルダに.... > > > urlの指定がファイル名だけなのでindex.phpと同じフォルダに置きます。 ``` $.ajax({ url: "select.php", type: "POST", ``` > > 2:select.phpへアクセスされているのか否かを知る術はありますか? > > > アクセスログか、ブラウザーの開発ツールで確認できると思います。 select.phpに関連するエラーを吐いているのでアクセス出来ていますね。 追記、リンク先のソースを見直したら maker_id: maker_val は、"maker_no": maker_val ではないでしょうか 以下の部分です。 (または、select.phpの $_POST['maker_no'] を $_POST['maker_id']に直す。) ``` //maker_val値 を select.php へ渡す $.ajax({ url: "select.php", type: "POST", dataType: 'json', data: { maker_id: maker_val } }) ``` 答えてなかったので > > exit('データベース接続失敗'.$e->getMessage()); どこに > > > exitは、指定された文字列(データ)を表示(出力)して終了します。 さらに、phpで何らかのエラーが発生した場合、エラーが出力される設定になっていると エラー内容も表示(出力)されます。 因みに、print_r($_POST); とselect.phpの先頭にデバッグで入れると、送信されてきた全postパラメータが文字列表示(出力)されます。(getパラメータを見たいなら print_r($_GET); です) 更に追記、コメントでは見づらいのでここに、以下をtest.phpなどのファイルにしてテストサーバなどに置いてブラウザーからアクセス(実行)して見ましょう。文章やエラー、実行結果などが表示されるでしょう、つまり、特に指定しなければ要求元に結果(内容)を返します。 ``` PHP(ピー・エイチ・ピー)は "The PHP Development Team" によってコミュニティベースで開発されているオープンソースの汎用プログラミング言語であり、特にサーバーサイドで動的なウェブページ作成するための機能を多く備える。 名称の PHP は再帰的頭字語である "PHP: Hypertext Preprocessor" を意味[1][2]し、「PHPはHTMLのプリプロセッサである」とPHP自身を再帰的に説明している。 'data-a1'),array('a2'=>'data-a2')); echo ''.json_encode($array); exit('test'); ```