• 締切済み

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

下記フォームで表示されません -------------------------------------------- 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}"); ?> ---------------------------------------- どうもうまく表示されません どなたかご教授くださいませんでしょうか? よろしくお願いいたします。

  • PHP
  • 回答数5
  • ありがとう数5

みんなの回答

  • 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

  • PHPのプルダウン式のジャンプ設置方法

    自作携帯サイトにPHPでプルダウンでのジャンプ先選択フォームを作成したいと考えております。 こちらで過去回答を探したところ、以下のようなご回答をなされた方がおられました。こちらを参考にして、すこし変更したいのです。 ************************************************** 1,define.inc -> URLを記述する設定ファイル 2,index.php -> HTML部分の表示ファイル 3,jump.php -> index.phpで受け取ったURLにロケーション 下記3つのファイルは全て同一ディレクトリに設置する事で動作するようにしてあります。 define.inc ----------------- <?PHP $url[] = "http://google.co.jp"; $url[] = "http://yahoo.co.jp"; $url[] = "http://surf-style.us"; ?> index.php -------------------- <html> <head> <title>Test</title> <body> <form method="post" action="jump.php"> <select name="jump_url"> <?PHP include("./define.inc"); while ( $url[key($url)] != "" ) { print "<option value=\"".$url[key($url)]."\">".$url[key($url)]."</option>\n"; next($url); } ?> </select> <input type="submit" value="ジャンプ"> </form> </body> </html> jump.php -------------------- <?PHP $jump_url = $_POST['jump_url']; header("Location:{$jump_url}"); ?> ************************************************** <変更したい点> このままですとプルダウンに表示されるのが、http://google.co.jp http://yahoo.co.jp http://surf-style.us などのURLになってしまいます。 それを グーグル ヤフー サーフスタイル のようにサイト名で表示させたいのです。 お手数ですが、お詳しい方がおられましたら、 何卒ご教授お願い申し上げます。

    • ベストアンサー
    • PHP
  • プルダウンのリンクについて

    javascriptで以前にもリンクについて質問させていただいたものです。 http://okwave.jp/qa4980697.html この質問で丁寧に回答いただいたのですが、私の知識(理解力)不足の為、自分の思ったような動作をしなかったため再度質問させていただきました。 質問としては、「.html」拡張子のみをリンクとして別ウィンドウに表示したいということです。それ以外の拡張子はございません。 自分で作成したソースを記載致しますので修正点等をご教授ください。 何分初心者なので全く検討違いな構文になっているかと思いますが、ご容赦ください。 <script type="text/javascript"><!-- function Jump(){ if (str.match(/\.html?$/)) window.open(str,'_blank'); } //--></script> <body> <title>test</title> <form name="form"> <select name="SEL1"> <option value="">-----------</option> <option value="aa">aa</option> <option value="bb">bb</option> </select> <select name="SEL2"> <option value="">-----------</option> <optgroup label="aa"> <option value="aa1">aa1</option> <option value="aa2">aa2</option> </optgroup> <optgroup label="bb"> <option value="bb1">bb1</option> <option value="bb2">bb2</option> </optgroup> </select> <select name="SEL3"> <option value="">-----------</option> <optgroup label="aa1"> <option value="aa3">aa3</option> <option value="xxx.xxx.html">リンク</option> </optgroup> </select>            ~省略~ <select name="SEL10"> <option value="">-----------</option> <optgroup label="xx"> <option value="xx1">xx1</option> <option value="yyy.yyy.html">リンク2</option> </optgroup> </select> <input type=button value="go" onClick="Jump()"> </form> としたのですが、エラーで ライン:8(<html><body>があるため) 文字:14 エラー:'str'は宣言されていません。 と表示されてしまいます。 前回fujillin様に丁寧に解説していただき参考サイトまでご教授いただいたのですが、拡張子を特定して判別するという作業が理解できず再度質問させていただきました。どのようにfunction部分を構成すればリンクとして表示できるようになりますでしょうか?ご面倒なことで申し訳ないですが、よろしくご教授お願い致します。

  • プルダウンから飛んだページにアクセスする方法

    アクセスする事が出来なくて困っています。初歩的なもので申し訳ないのですが、よろしくお願いします。 <HTML> <HEAD> <TITLE> </TITLE> <script language="javascript"> <!-- function navi(obj) { url = obj.options[obj.selectedIndex].value; if(url != "") { location.href = url; } } //--> </script> </HEAD> <BODY> <form method=post> <select name="navi">  <option value a href="URL">リンク <option value a href="URL">リンク1 <option value a href="URL">リンク2 <option value a href="URL">リンク3 </select> <input type=button value="ジャンプ" onClick="location.href =(this.form.navi.options[this.form.navi.selectedIndex].value)"> </form> </BODY> </HTML>

  • プルダウンメニューからインラインフーム内を操作する

    表題のようなものをjavascriptとフォームを使って 用意しましたが、IE6、IE7の環境で試験しましたが問題ありませんでした。 ところが、これをFirefoxで動かすと、プルダウンで選択してもインラインフレームは まったく変化しませんでした。 どちらでも動作するようにしたいのですがどのように改変すればよろしいでしょうか。 初心者でとんでもない間違いをしているかもしれませんが、どうかご教授ください。 現在以下のような記述になっています インラインフレーム名:inpage <!--javascript部 --> <script type="text/"> function jump(){ var url=document.form1.select1.options[form1.select1.selectedIndex].value; if (url!="") document.inpage.location.href = url; } </script> <!--javascript部 --> <!--フォーム部 --> <FORM NAME="form1"> <SELECT NAME="select1" onChange="jump()"> <option value="">選択してください <option value="AAAAA.html">AAAAA <option value="BBBBB.html">BBBBB <option value="CCCCC.html">CCCCC </SELECT> </FORM> <!--フォーム部 -->

  • 複数のプルダウンメニューの組み合わから外部リンクを作りたい・・・

    複数のプルダウンメニューからそれぞれ組み合わから外部リンクを作りたいのですが、できません。 過去に、こちらで質問されている方がいましたが http://oshiete1.goo.ne.jp/qa3418973.html 回答されている方の様作成したらプルダウンが2個なら上手く動作しました。 やりたいことは、全く上記の方の質問内容と 同じです。 今回、4個のプルダウンメニューで作成したいのですが 上手くいきません・・・ 上記の質問にご回答されていた方のものを 参考にサンプルで作成してみたのですが 動作しません・・・ それと、各プルダウンメニュー内で表示させたい項目が12あるのですが簡潔にjavascriptの記述ができますでしょうか? arr[0][0][0]= "http://www.link_0_1.com";・・・・ 以下の行数がとても長くなってしまうので 簡潔にしたいのですが、できますでしょうか? こちら、javascriptは初心者です。 どうぞ、宜しくお願いします。 ----------------------------------------------------------- <html> <head> <script Language="JavaScript"> <!-- /*** 変数 ***/ // カラー (color) とサイズ (size) インチ(inch)の初期値 var color = 0; var size = 0; var inch = 0; // 二次元配列を定義する。 var arr = new Array(); arr[0] = new Array(); arr[1] = new Array(); arr[2] = new Array(); // arr[色][サイズ][インチ] という指定でリンクする URL が決定する。 arr[0][0][0]= "http://www.link_0_1.com"; arr[0][1][0]= "http://www.link_0_1.com"; arr[0][2][0] = "http://www.link_0_1.com"; arr[1][0][0] = "http://www.link_0_1.com"; arr[1][1][0] = "http://www.link_0_1.com"; arr[1][2][0] = "http://www.link_0_1.com"; arr[2][0][0] = "http://www.link_0_1.com"; arr[2][1][0] = "http://www.link_0_1.com"; arr[2][2][0] = "http://www.link_0_1.com"; arr[0][1][0] = "http://www.link_0_1.com"; (以下省略) /*** 関数 ***/ function set_color(selected_option) { color = selected_option.selectedIndex; print_link_url(); } function set_size(selected_option) { size = selected_option.selectedIndex; print_link_url(); } function set_inch(selected_option) { inch = selected_option.selectedIndex; print_link_url(); } function print_link_url() { document.form1.link_url.value = arr[color][size][inch]; } function jump() { location.href = arr[color][size][inch]; } // --> </script> </head> <body> <form name="form1" method="GET"> カラー: <select onChange="set_color(this)"> <option value="赤">赤</option> <option value="青">青</option> <option value="黄">黄</option> </select> サイズ: <select onChange="set_size(this)"> <option value="L">L</option> <option value="M">M</option> <option value="S">S</option> </select> サイズ: <select onChange="set_inch(this)"> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> </select> <br> <input type="button" value="検索" onClick="jump()"> <br> </form> </body> </html>

  • プルダウンメニューが文字化けする

    タイトル通りプルダウンメニューが文字化けしてしまいます。javaを使ってホームページに表示させています <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <!--メニュー↓--> <script language="javascript"> <!-- function navi(obj) { url = obj.options[obj.selectedIndex].value; if(url != "") { location.href = url; } } //--> </script> <form method=post> <select name="navi">  <option value=""> --メニュー -- <option value="http://">TOPページ <option value="http://">特別企画 <option value="http://">ご挨拶 <option value="http://">ご協力 <option value="http://">PC版 <option value="http://">ブログ </select> <input type=button value="ジャンプ" onClick="location.href = this.form.navi.options[this.form.navi.selectedIndex].value"> </form> <!--メニュー↑-->

  • プルダウンの値をphpファイルへ渡したい

    いつもお世話になっております。 現在、作成中のHPですが、データ取得をphpで行い表示をしています。 (1)a.phpでプルダウンのデータを取得し、b.phpで表示。 (2)b.phpでプルダウンを選択し、その値をtest.phpへ渡す。 (2)で、プルダウンの値を渡す処理がどうしてもうまくできず、 とても困っています。 どこを修正すればよいのかご教授願いたいのですが・・・。 スクリプトは下記の通りです。 ------------------------------------------------------- 【b.php】 <html> <head> <title>テスト</title> </head> <body> <SCRIPT language="JavaScript"> function testphp(){ try{ with(document.testform){ action="http://test/test.php"; test.value = testform.testselect[testform.testselect.selectedindex].value; method="POST"; submit(); } } catch(e) { alert("エラーは " + e.description + " です。"); } } </SCRIPT> <form name="testform" onchange="testphp()"> <select name="testselect"> <option value="あ">結果1</option> <option value="い">結果2</option> <option value="う">結果3</option> <option value="え">結果4</option> <option value="お">結果5</option> </select> </form> </body> </html> 【test.php】 <?php //変数処理 $a = @$_POST["test"]; print "渡された値:".$a; exit; ?> ------------------------------------------------- どうぞ、宜しくお願い致します。

  • プルダウン連動とリンク

    選択項目により連動するプルダウンを利用し、各々のページにリンクさせようと思っているのですが、上手くいきません。 一つ目のプルダウンで項目を選択⇒二つ目のプルダウンに項目が表示される⇒選択するとリンクする。 プルダウンはこちらのソースを利用しています。 http://d.hatena.ne.jp/Mars/20071109 連動リンクはこちらを参考にしました。 http://air.rulez.jp/shop/java/jt_pulldown.htm 現在のソースは下記のようになっています。 プルダウンの連動とリンク、それぞれ単体での動作確認は出来たのですが、組み合わせると上手くいきません。 最初のプルダウンで「YYY」を選択し、連動して次のプルダウンに表示される「yahooかgoogle」を選択したらURL先にリンクしたいのですが。 現在はプルダウンは連動はされるものの、2つめのプルダウンで項目を選択しても何も起こらない状態です。 ----------------------------------------------------------------- <script type="text/javascript" src="ConnectedSelect.js"></script> <form> <select id="SEL1"> <option value="XXX">XXX</option> <option value="YYY">YYY</option> </select> <select id="SEL2" onChange="top.location.href=value"> <optgroup label="XXX"> <option value="x1">x1</option> <option value="x2">x2</option> </optgroup> <optgroup label="YYY"> <option value="http://www.yahoo.co.jp/">yahoo</option> <option value="https://www.google.co.jp/">google</option> </optgroup> </select> </form> <script type="text/javascript"> ConnectedSelect(['SEL1','SEL2','SEL3']); </script> --------------------------------------------------------------- これはどのように修正すればリンクされるようになるでしょうか? また別の方法があればそちらでも構いません。 ご存知の方いらっしゃいましたらご教示ください。 よろしくお願いします。

  • プルダウンメニューリンクを新しいウインドウで表示させたい

    ホームページビルダー11を使っています。プルダウンメニューからリンク先を「新しいウインドウ」で表示させるにはどのようにしたらよろしいのでしょうか。ご指導よろしくお願い致します <SCRIPT language="JavaScript"> <!--- 非表示 function quicklink(w){ if(w == "") return; document.quick.url.selectedIndex = 0; location.href =w; } //end ---> </SCRIPT> <FORM name="quick" action="./"><SELECT name="url" onchange="quicklink(this.form.url.options[this.form.url.selectedIndex].value)" size="1" tabindex="1"> <OPTION selected>■ リンク先を選んでクリック ■ </OPTION> <OPTION value="index.htm">その1</OPTION> <OPTION value="index-2.htm">その2</OPTION> <OPTION value="index-3.htm">その3</OPTION> </SELECT>←関連リンク先</FORM> <TABLE width="100%" border="1" cellpadding="0" cellspacing="0" class="hpb-subh02">

  • プルダウンからリンクをthicboxで開くには?

    プルダウンからリンクをthicboxで開くには? 宜しくお願い致します。 プルダウンでリンク先を選択し、そのリンク先のページをthicboxで表示させたく試行錯誤しているのですがうまくいきません。 thicboxでリンク先を開くためには、プルダウンのJavascriptをどのように修正すればよいのでしょうか? ■プルダウンでリンクさせるJavascriptとhtmlコード <html> <head> <script type="text/javascript"> function navi(obj) { url = obj.options[obj.selectedIndex].value; if(url != "") { location.href = url; } } </script> </head> <body> <form> <select name="navi"> <option value=""> --- リンクメニュー --- </option> <option value="http://www.yahoo.co.jp/">Yahoo!</option> <option value="http://www.goo.ne.jp/">Goo</option> </select> <input type=button value="表示する" onClick="location.href = this.form.navi.options[this.form.navi.selectedIndex].value"> </form> </body> </html> ■thicboxでURLを開くときのコード ※jquery.jsやthicbox.js、cssファイル等の外部ファイルの記述は省いております。 <a href="http://www.yahoo.co.jp?TB_iframe=true&width=800&height=500" class="thickbox">リンクテキスト</a> ※width・heightは適当に入れている数字です。 分かりづらい説明で申し訳ありません。 補足説明致しますので、どうかご教授下さいますようお願い致します。