• ベストアンサー

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
  • 回答数2
  • ありがとう数3

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

  • ベストアンサー
  • awazak
  • ベストアンサー率36% (61/165)
回答No.2

No.1さんのやり方でも可能ですが、配列のキーに日本語はあまりいいとはいえません。 <? $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"; } ?> このようにした方が、いいと思います。

saburo13
質問者

お礼

ご回答まことにありがとうございます。 ひじょうにご丁寧にご教授いただき たいへん感謝しております。 ありがとうございました。

その他の回答 (1)

  • umota
  • ベストアンサー率46% (150/324)
回答No.1

キー付き配列で可能かと、、、 $url[] = "グーグル"=>"http://google.co.jp"; ... foreach( $url as $jump_title => $jump_url){ ... }

saburo13
質問者

お礼

ご回答まことにありがとうございます。 とても希求していた記述方法でしたので ひじょうにありがたく存じます。 さっそく参考にさせていただきます。

関連するQ&A

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

    下記フォームで表示されません -------------------------------------------- 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
  • PHPで特定のURLにジャンプする方法

    こんにちは。HTMLファイル上のText(mytext)から受け取ったデータに基づいて、特定のURLにジャンプさせる方法を探しています。 以下のようなコードを作りました。しかし、これだとエラーになります。 header("Location: ") の使い方自体に問題があるのか、それ以外に問題があるのかわかりません。 アドバイスをいただきたく、よろしくいお願いいたします。 <?php if ($_POST['mytext'] == "google") { header("Location: http://google.co.jp"); } else { header("Location: http://yahoo.co.jp"); } ?>

    • ベストアンサー
    • PHP
  • PHPでURLにジャンプするには?

    フォームで指定したURLにPHPでジャンプするコードは、以下しかないのでしょうか? url_form.html---------------------------- <form action="url_jump.php" method="GET"> <input type="text" name="url"> <input type="submit" value="送信"> </form> ----------------------------------------- url_jump.php----------------------------- $url_path = $_GET(["url"]); @readfile($url_path); ----------------------------------------- 上記方法だと画像は読みこみません。もっと簡単にURLにジャンプできますか?

    • ベストアンサー
    • PHP
  • [php] ジャンプできないエラー

    phpで 指定のURLにジャンプする header("location:<url>"); //<url>指定のジャンプ先URL のコードがうまく動きません。 自分のPCのlocalhostでは、正常にジャンプしてくれるのですが、 そのファイルをレンタルサーバ上にアップロードして 動作確認すると、 ジャンプしないという状態です。 どのような原因が考えられ、 どういう対策をしたらよいでしょうか。

    • 締切済み
    • PHP
  • 二つのプルダウンメニューから違うページにジャンプしたい

    以前ここで"steel gray"さんから教えて頂いたのですが、自分で手を加えている内に分からなくなってしまいました。ご指導お願い致します。         function jump(Form){ //以下、selectの組み合わせとジャンプ先のリスト。 var jumpList = new Array( ['1','A','http://www.k2.dion.ne.jp/~namae/osietea1.html'], ['1','B','http://www.google.co.jp/'], ['2','A','http://www.yahoo.co.jp/'], ['2','B','http://www.infoseek.co.jp/'], ['','','']); for(var i=0;i<jumpList.length;i++) { if(jumpList[i][0] == Form.elements[0].value && jumpList[i][1] == Form.elements[1].value) window.location.href=jumpList[i][2]; } } //--> </script> <OPTION value="A">選択肢A</OPTION> 以下選択肢Aに6種類 <OPTION value="1">選択肢B</OPTION> 以下選択肢Bに9種類 合計54種類の条件があります。どこをどの様にすればよいのでしょうか?宜しくお願いします。

  • 別なページにジャンプさせたい

    ボタンをクリックすると指定のページに飛ぶようにしたいのですが、 <html> <head> <script language="JavaScript"> function jump(){ location.href="index.html"; } </script> </head> <body> <form onSubmit="jump()"> <input type="submit"> </form> </body> </html> でも <html> <head> <script language="JavaScript"> function jump(){ location.href="index.html"; } </script> </head> <body> <form> <input type="submit" onClick="jump()"> </form> </body> </html> でも動きません。(そのページを表示したままです) <body onload="jump()">にしたときは正常にジャンプできるので、クリックのイベントが拾えていないと思うのですが、どのように記述すればいいのでしょうか。 よろしくお願いいたします。

  • テンプレート化したphpのmenu.php内で<a href="#">の戻り値が重複してしまう。

    PHPの勉強の為、簡易テンプレートを作成しているのですが、config.php内で指定したURLをmenu.phpで実行させたところ戻り値が重複して困っています。 ※wordpessなどで見かけるURLテンプレートタグによって、<a href="この部分">のhttp~のURLを書かなくてもいいようにしたいです。 【各ファイル】 ●index.php ●config.php [templatesフォルダ] footer.php header.php ●menu.php style.css [htmlフォルダ] ●index.php トップのindex.php内では、<?php require_once('config.php'); ?>にてconfig.phpを読み込んでいます。 メニューはパーツ分けしたので、<?php include "templates/menu.php"; ?>にて読み込んでいます。 config.phpでは、URLの戻り値として、 <?php define(SITE_URL, "http://www.yahoo.co.jp"); ?> を指定しています。 上記をtempleatesフォルダ内のmenu.phpで実行させました。 <ul> <li><a href="<?php echo SITE_URL; ?>">HOME</a></li> <li><a href="<?php echo SITE_URL; ?>/html/index.php">テスト</a></li> </ul> これで、絶対パスを書かなくてもURLが作れると思ったのですが、実際の戻り値が、 http://www.yahoo.co.jphttp://www.yahoo.co.jp と重複してしまい、ページ移動ができません。 これは、どうしてなのでしょうか? どなたか教えていただけないでしょうか。

    • ベストアンサー
    • PHP
  • ページのジャンプ

    過去に同じような質問もありましたが、いろいろ検索してこちらの過去ログを拝見しても解決できなかったので質問させてください。 ラジオボタンで選択してボタンを押すとジャンプするプログラムを作りたいのですが、 location.href = "http://www.yahoo.co.jp/"; でジャンプしません。 こちらがソースです。 <SCRIPT language="JavaScript"> function sopp(frm){ if(frm.go[0].checked){ location.href = "http://www.yahoo.co.jp/"; } if(frm.go[1].checked){ location.href = "http://www.google.com/"; } if(frm.go[2].checked){ location.href = "http://jp.msn.com/"; } } } </SCRIPT> <form name="pon" onSubmit="return sopp(this)"> <input type='radio' name='go' value='YAHOO!JAPAN'> YAHOO!JAPAN<br> <input type='radio' name='go' value='google'> google<br> <input type='radio' name='go' value='MSN'> MSN<br> <input type="submit" name="mol" VALUE="ウインドウを開く"> </form> どうかお分かりになる方ご教授お願いします。

  • プルダウンで選択したページから戻った時

    どなたか教えてください。 プルダウンで選択したページにリンクして、そのページから戻ってきた場合、 プルダウンメニューは選択した項目ではなく、一番上に来る項目が選択されているようにしたいのです。 例:--メニュー--    テスト1ページへ    テスト2ページへ ↓をやったら、うまくいったのですがステータスバーに「1」と表示されてしまいました。 <script language="JavaScript"> <!--// function gotosite(site) { if (site != "") { self.location=site } } function init() { status = document.jump.length; for (i=0; i<document.jump.length; i++) document.jump.elements[i].selectedIndex=0; } //--> </script> ちなみにselectのところはこのように書きました。 <form method="POST" name="jump"> <select name="jump" onChange="gotosite(this.options [this.selectedIndex].value)"> よろしくお願いします。どうしても「1」を出したくないんです。 やっぱり無理なんでしょうか?

  • プルダウンメニューの項目をクリックしてもリンク先に

    <HTML> <HEAD> <TITLE>リンク先をプリダウンメニューで表示したい</TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-- function linkMenu(m) { if(m==0)return; document.form01.url.selectedlndex = 0; if(m == 1) document.location="https://www.google.com/?hl=ja&gws_rd=ssl"; if(m == 2) document.location="http://www.yahoo.co.jp/"; } //--></SCRIPT> </HEAD> <BODY> <FORM NAME="form01"> <SELECT NAME="url" onChange="linkMenu(this.selectedlndex)"> <OPTION>クリックして選択してね <OPTION>e-support <OPTION>Office TAKASAKU </SELECT> </FORM> </BODY> </HTML> 以上ですが  プルダウンメニューの項目をクリックしてもリンク先が開かないのですが!? 何かミスがあるでしょうか!?  宜しくお願いします。

専門家に質問してみよう