• 締切済み

プルダウンリンクを外部ファイルで表示させたいのですが

下記フォームで表示されません -------------------------------------------- index.php 抜粋 <form method="post" action="jump.php"> <select name="jump_url"> <?PHP include("./define.inc"); foreach( $url as $jump_title => $jump_url){ print "<option value=\"".[key($jump_title)]."\">".[key($jump_url)]."</option>\n"; } ?> </select> <input type="submit" value="ジャンプ"> </form> ---------------------------------------- define.inc <?PHP $url[] = "グーグル" => "http://google.co.jp"; $url[] = "ヤフー" => "http://yahoo.co.jp"; $url[] = "グーグル" => "http://google.co.jp"; ?> ---------------------------------------- jump.php <?PHP $jump_url = $_POST['jump_url']; header("Location:{$jump_url}"); ?> ---------------------------------------- どうもうまく表示されません どなたかご教授くださいませんでしょうか? よろしくお願いいたします。

みんなの回答

  • koke29
  • ベストアンサー率58% (114/196)
回答No.5

define.inc の中身がダメなんじゃないですか?? $url = array( "グーグル" => "http://google.co.jp", "ヤフー" => "http://yahoo.co.jp", "グーグル" => "http://google.co.jp" ); ↑で外部読み込みからの表示出来ましたけど、コレじゃダメなんでしょうか $url[] っていうのを使わなくちゃいけない理由があるんですか?? [] これってチェックボックスとかに使う以外に使いどころがあるのか 私にはわからないので、生かすことは出来ませんが 結果的に理想のもの が完成するなら、こだわる必要もないのではと思いました

100POINT
質問者

お礼

アドバイスありがとうございました。 どうもご教授いただきましたがうまくいきませんでした。 現在下記のように外部ファイルとし上部ディレクトリに置き 各ファイルからメニューを参照しジャンプできるようになりました。 書式等にはこだわりませんので、使い方が正規ではないかも しれませんが何とか目的は達成いたしました。 皆様のあたたかいご指導に感謝いたします。 menu.php ------------------------ <TABLE> <TR><form method="post" action="jump.php"><TD> <select name="jump_url"> <? $data = array( array( 'name' => '001', 'url' => '../001.php'), array( 'name' => '002', 'url' => '../002.php'), array( 'name' => '003', 'url' => '../003.php') ); foreach( $data as $key => $val){ print "<option value=\"".$val['url']."\">".$val['name']."</option>\n"; } ?> </select></TD><TD> <input type="submit" value="移動"> </TD></form> </TR> </TABLE> ----------------- index.php <?php require("./conf.php"); require("../menu.php"); ?>

  • UmJammer
  • ベストアンサー率58% (115/196)
回答No.4

ANo.3です。 エラーが出ているということでしょうか。 であればエラーメッセージを貼り付けてください。

  • UmJammer
  • ベストアンサー率58% (115/196)
回答No.3

気になったのですが、エラーは出ていないですか?

100POINT
質問者

お礼

ありがとうございます。 もう何がなんだか混乱して分からなくなってしまいました。 エラーの状態です。。

  • koke29
  • ベストアンサー率58% (114/196)
回答No.2

私が試してみた時は外部ファイルにするのがアレだったので <form method="post" action="jump.php"> <select name="jump_url"> <?PHP $url = array("グーグル" => "​http://google.co.jp");​ foreach( $url as $jump_title => $jump_url){ print "<option value='$jump_url'>'$jump_title'</option>"; } </select> <input type="submit" value="ジャンプ"> </form> ていう感じにして、プルダウンに 「グーグル」の表示が出来ましたが。 include の参照先に欲しいデータがあれば、これと同じような状態に なると思って、簡略化したものなのですが ダメですかねぇ もし良かったら ↑のコードで表示試してみて下さい たぶん出てくると思うのですよねぇ で、これでOKなら $urlのところをincludeに書き換える、とか。 ちなみにたぶん全文コピペにすると何か文字コードがおかしくなる みたいなので、手打ちした方が良いみたいです。

100POINT
質問者

お礼

ありがとうございます。 以下のものですと表示されるのですが include("./define.inc"); にしますとエラーとなってしまします。 ----------------------- <html> <head> <title>Test</title> <body> <form method="post" action="jump.php"> <select name="jump_url"> <? $data = array( array( 'name' => 'グーグル', 'url' => 'http://google.co.jp'), array( 'name' => 'ヤフー', 'url' => 'http://yahoo.co.jp'), array( 'name' => 'サーフ', 'url' => 'http://surf-style.us') ); foreach( $data as $key => $val){ print "<option value=\"".$val['url']."\">".$val['name']."</option>\n"; } ?> </select> <input type="submit" value="ジャンプ"> </form> </body> </html>

  • koke29
  • ベストアンサー率58% (114/196)
回答No.1

print "<option value=\"".[key($jump_title)]."\">".[key($jump_url)]."</option>\n"; ここのの\"エスケープがおかしいで表示の時PHPのエラーにならないですか?同じ文で試したら私はエラー表示になりました。 print "<option value='[key($jump_title)]'>'[key($jump_url)]'</option>"; これでも宜しいのではないかと思います。 あと、$url[] = "グーグル" => "​http://google.co.jp"; 逆にしないと value = グーグル 表示がURLになると思いますので print "<option value='[key($jump_url)]'>'[key($jump_title)]'</option>"; で試してみてはいかがでしょうかー?

100POINT
質問者

お礼

ご回答ありがとうございました。 早速改変してみましたがうまくできませんでした。 プルダウン窓は表示されますが中のリンク文字は表示されず、 ジャンプボタンも表示されておりませんでした。 お手数おかけいたしました。 ------------------------------ <form method="post" action="jump.php"> <select name="jump_url"> <?PHP include("./define.inc"); foreach( $url as $jump_title => $jump_url){ print "<option value='[key($jump_url)]'>'[key($jump_title)]'</option>"; } ?> </select> <input type="submit" value="ジャンプ"> </form>

関連するQ&A