PHPでURLにジャンプする方法

このQ&Aのポイント
  • フォームを使用してPHPでURLにジャンプする方法について説明します。
  • 上記の方法では画像を読み込むことができない場合があります。より簡単な方法を探してみましょう。
  • 他の方法としては、header関数を使用してリダイレクトする方法があります。
回答を見る
  • ベストアンサー

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にジャンプできますか?

  • suffre
  • お礼率76% (2013/2633)
  • PHP
  • 回答数1
  • ありがとう数2

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

  • ベストアンサー
  • kalze
  • ベストアンサー率47% (522/1092)
回答No.1

書かれているソースだと、指定されたURLのWEBページを読み込んで、それをはき出している(表示している) ジャンプというのが質問者さんにとってどのような動作を期待していますか? フォームで指定されたURLに移動するということなら、 header("Location: $url_path"); で可能ですが。 ※$url_pathにはhttp://から始まるURLを指定する。相対パス(./example.htmlなど)はダメ

suffre
質問者

お礼

素早いご回答ありがとうございます! 昨日からPHPを始めたばかりで勘違いしておりました。 私のソースは「読みこんで→表示」なのですね。 htmlのリンクと同じような動作を望んでいたのでご回答いただいた方法がそうでした。

関連するQ&A

  • PHPで動的URLを静的URLに変換するには

    PHPで動的URLを静的URLに変換するやり方を教えてください。 <form method="GET" action="aaa/bbb"> <input type="checkbox" name="ad" value="0"> <input type="checkbox" name="ad" value="1"> <input type="checkbox" name="ad" value="2"> <input type="checkbox" name="sb" value="0"> <input type="checkbox" name="sb" value="1"> <input type="checkbox" name="sb" value="2"> <input type="submit" value="送信"> </form> 上記のフォームからチェックボックスを複数選択してsubmitしたとき、 ブラウザのURLはhttp://www.hogehoge.com/aaa/bbb?ad=1&sb=2 となっていたとします、 これをhttp://www.hogehoge.com/aaa/bbb/1/2 と書き換えるにはどんなPHPスクリプトを書けばよいのでしょうか? 実際はもっとチェックボックスの数が多いので、 mod_rewrite は不向きのように思います。 そうすると、path_info を使うのが良いと思うのですが、 具体的にどのようにコーディングすればいいか分かりません。 お手数ですが、回答をお願いいたします。

    • ベストアンサー
    • PHP
  • ボタン別でフォームの送信先を変えたい

    同じ場所に3つある今のフォームを1つにまとめたいのですが、 「ラジオボタン」でやるのではなく「submitボタン」によって送信先の振り分けはできないのでしょうか? CGIなどを使って一旦クッションを置くのは問題ないです。何か参考になるサイトさんとかありましたら教えてください。 <form action="1.php" method="get" class="form" target="a" name="1"> <input type="hidden" name="s" value=90 /> <input type="hidden" name="t" value="e" /> <input type="text" name="moji" value="" size="8" /> <input type="submit" name="button" value="検索" /> </form> <form action="http://e.php" method="get" name="2" target="a"> <input type="hidden" name="test" value=et /> <input type="text" name="77" value="" size="8" /> <input type="submit" value="検索2" class="button" /> </form> <form action="http://8.cgi" method="get" target="a"> <input type="text" size="8" name="q" value="" /> <input type="submit" value="検索3" class="button" /> <input type="hidden" name="sut" value="JJ" /> </form>

    • ベストアンサー
    • CGI
  • フォームについて

    <form action="test.php" method="GET"> <input type="hidden" name="page" value="1"> <input type="submit" value="index"></form> <form action="test.php" method="GET"> <input type="hidden" name="page" value="1"> <input type="submit" value="index"></form> --------------------------------------------- このようにして書くと、どうしてもボタンが縦に並んでしまいます。どのようにすれば横一列に並べる事が出来るでしょうか?

    • ベストアンサー
    • HTML
  • PHPでフォームからの送信

    PHPでフォームからデータを送信する方法について教えてください。例えばPHPファイルの中に下の様にフォームを作成して、送信ボタンを2つ作ります。一つのボタンをクリックすると全てのフォームの情報が送信されてしまいますが、独立して送信できるようにはできないのでしょうか。簡単にでもできるかできないかを教えていただけましたら、あとは自分でなんとかがんばりますので、どなたか教えていただけれますと幸いです。宜しくお願いします。 <form action="abc.php" method="post"> AAA:<input type="text" name="simei"> BBB:<input type="password" name="pass"> <input type="submit" value="送信"> </form> <form action="abc.php" method="post"> CCC:<input type="text" name="simei"> DDD:<input type="text" name="pass"> <input type="submit" value="送信"> </form>

    • ベストアンサー
    • PHP
  • プルダウンリンクを外部ファイルで表示させたいのですが

    下記フォームで表示されません -------------------------------------------- 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
  • チェックボックスのvalueを連結してURLに追加

    <form method="get" action="<?php = $_SERVER['PHP_SELF']; ?>"> <input type="checkbox" name="c" value="001" /> <input type="checkbox" name="c" value="002" /> <input type="checkbox" name="c" value="003" /> <input type="checkbox" name="c" value="004" /> <input type="checkbox" name="c" value="005" /> <input type="submit" value="送信" /> </form> submitするとURLに ?c=001&c=002&c=003… が追加されます。 その形ではなく、c=001002003… と連結してURLに追加するにはどうしたら良いですか?

    • 締切済み
    • PHP
  • HTMLとPHPのデータのやり取りで問題発生

    HTMLサイドで<form> のsubmit ボタンで、あるデータをPHPスクリプトに送った後、PHPサイドの画面(特に何も表示はしないので真っ白)になったまま、HTMLの画面に戻ってくれません。 PHPサイドではHTML側から送ったデータに基づいて、単純な2進2ビットのデータファイルを作るだけで,この部分はちゃんと働いています。HTMLページは表示されたまま、PHPにはバックグラウンドで仕事をしてもらいたいのですが、やり方がよくわかりません。 お知恵を貸していただける方、よろしく教えてください。お願いします。 自分が使っているテストプログラムを載せておきます。 HTMLサイド <table border="1"> <tr> <td> <form method="get" action="attenuate.php"> <input type="submit" value="1:1"> <input type="hidden" value="01" name="select"> </form> </td> <td> <form method="get" action="attenuate.php"> <input type="submit" value="2:1"> <input type="hidden" value="10" name="select"> </form> </td> <td> <form method="get" action="attenuate.php"> <input type="submit" value="5:1"> <input type="hidden" value="11" name="select"> </form> </td> <td> <form method="get" action="attenuate.php"> <input type="submit" value="Amplify"> <input type="hidden" value="00" name="select"> </form> </td> </tr> </table> PHPサイド  file: attenuate.php <html> <head></head> <body> <?php $fp=fopen("attenuation.txt","w"); switch($_GET['select']) { case '00': fwrite($fp,"00");break; case '00': fwrite($fp,"01");break; case '00': fwrite($fp,"10");break; case '00': fwrite($fp,"11");break; } fclose($fp); ?> </body> </html>

    • ベストアンサー
    • PHP
  • ページを切り替えずにphpに値を渡したい。

    メインのページの入力フォームからoutput.phpにページを切り替えずに値を渡したいのですがどうしたらいいですか? <form action="output.php" method="post"> <input type=text name="text1"> <input type=submit value="変更"> </form> このようにやるとページがきりかわってしまいます。フォームと言う方法にこだわってるわけではありませんのでちがうほうほうでもいいので教えてください。

    • ベストアンサー
    • PHP
  • 複数のフォームから送信

    複数のフォームからtextの値を送信したいのですができますか?〒番号を入力して検索ボタンをおすと住所がでてきて最後に登録をしたいです。検索だけのプログラムはできてますがフォームを二つにすると両方のsubmitが登録になります・・・ 一応自分でいろいろためしましたがだめでした。。。 html,php,javascriptです。 二つともだめでした。。。。 rei1.php ------------------------- <html> <body <form method="POST" action="1.php"> お名前:<input type="text" name="name"> <br> <br> <form method="POST" action="yubin.php"> 〒:<input type="text" name="yubin"> <input type="submit" value="検索"> <br> 住所:<input type="text" name="zyu"> <br> </form> メールアドレス:<input type="text" name="email"> <br> <input type="submit" value="登録する"> </form> </body> </html> -------------------------------------- rei2.php -------------------------------------- <html> <head> <script language="javascript"><!-- function send() { document.nform.submit(); document.nform2.submit(); document.nform3.submit(); } //--></script> </head> <body> <form name="nform" method="POST" action="1.php"> お名前:<input type="text" name="name"> <br> </form> <form name="nform2" method="POST" action="yubin.php"> 〒:<input type="text" name="yubin"> <input type="submit" value="検索"> <br> 住所:<input type="text" name="zyu"> <br> </form> <form name="nform3" method="POST" action="1.php"> メールアドレス:<input type="text" name="email"> <br> <input type="submit" value="登録する"> </form> </body> </html> ------------------------------------

  • 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

専門家に質問してみよう