• 締切済み

指定したURLのページのフォーム内に自動で情報を書き込みたいのですが…

指定したURLへ飛んで、そのページにあるフォーム内に、指定した情報を自動で書き込むプログラムを作りたいのですが、皆目検討が付きません;; 簡単な例を挙げると、 ・googleのトップページの検索窓に指定された文字列を書き込み、「検索」ボタンを押し、その結果ページを表示。 というような感じです。 phpマニュアルや、他のサイトでも色々調べたのですが見つかりません。 そもそも、そんな事がphpで可能なのかさえ分からない始末です…。 まだphpを始めて間もないので、出来るだけわかりやすく説明して頂けたら幸いです。 宜しくお願いします。

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

みんなの回答

  • gogo-tea
  • ベストアンサー率75% (25/33)
回答No.4

>受け口がなくても、そのページ内にテキストボックスがあれば、文字列を記述する。みたいな方法ってないのでしょうか? 値を放り投げる(渡す側)はとにかく放り投げるだけ。←例:FORMのPOST 渡す側にとっては、相手のファイルがその値を受け取ろうが受け取るまいが知ったこっちゃないって感じです。 一方、受け側は渡されたものを受けるか受けないかは自由なわけです。 受けないのなら何も書かなければ受けないし、受けたいのであれば自分に対して放り投げられたモノを受け取る為の記述(PHPやPerlなどのスクリプト)がどうしても必要になるかと思います。

mullen0213
質問者

お礼

>受け取る為の記述(PHPやPerlなどのスクリプト)がどうしても必要になるかと思います。 なるほど。やっぱり受け口が必要なんですねぇ。 ありがとうございます^^ 別の手段を考えてみます。

  • gogo-tea
  • ベストアンサー率75% (25/33)
回答No.3

はじめまして。 例えば渡す方のページでフォームを使って仮に http://www.hogehoge.co.jp/result.php へ <input name="aaa" type="text" value="目的の文字列"> という形で変数aaaに"目的の文字列"を入れてPOSTすれば result.phpは -----ここから記述開始----- <?php //↓GETでもPOSTでも渡されたものを受け取れる extract($_REQUEST); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>test</title> </head> <body> <input type="text" name="hoge" value="<?php echo $aaa ?>"> </body> </html> で変数aaaの値をテキストボックスに受け取ることができます。 渡される値が変わってもaaaという変数に入れてで渡せば テキストボックスの中には渡された値がちゃんと入ります。 つまり受け取った値をhtml内で表示したい場合は いったん受け取る記述 extract($_REQUEST); extract($_POST); extract($_GET); などを書いてから html内の表示したい場所に <?php echo 変数名 ?> と書けばOKです。

mullen0213
質問者

お礼

なるほど。 extract($_REQUEST); と記述しておけば、<?php echo 変数名 ?>でテキストボックス内にでも渡せますね! 勉強になります。 …という事はやはり、受け取り側にそういった記述が無いと渡す事はできないという事なのでしょうか?;; 受け口がなくても、そのページ内にテキストボックスがあれば、文字列を記述する。みたいな方法ってないのでしょうか?

回答No.2

> 上記の例だと、飛び先のフォーム内に「$_POST[aaa]」という記述があれば問題ないと思うのですが、(フォームの作り方が悪い?) $_POSTは配列ではなく連想配列(添え字に数字以外も使える)なので$_POST[aaa]ではなく$_POST["aaa"]のように引用符で囲まなければなりません. また $key = "aaa"; $_POST[$key]; のような事もできます.

mullen0213
質問者

お礼

$_POST["aaa"]ですね^^ ありがとうございます。

回答No.1

> googleのトップページの検索窓に指定された文字列を書き込み の部分は特別何も無いなら<input name="name" type="text" value="目的の文字列" />のようにHTMLレベルで解決してはいけませんか? PHPの変数を値に使いたければ$tag = "<input name=\"name\" type=\"text\" value=\"" . $value . "\" />";でいかがでしょうか? [「検索」ボタンを押し、その結果ページを表示。] までを自動でしたいのであれば直接検索結果のURIを指定してしまった方が良いのではないでしょうか? Java Scriptを使えばできないわけではないですがあえてするほどのことのようには思えないのですが...

mullen0213
質問者

お礼

回答ありがとうございます。 なるほど。phpにばかり頭が回っていてhtmlが疎かになってました。^^; しかし、例えば <form action="http://www.google.co.jp/" method="post"> <input name="aaa" type="text" value="目的の文字列" /> <input type="submit" /> </form> というフォームだと「http://www.google.co.jp/」に飛ばされた「目的の文字列」は、 「http://www.google.co.jp/」内にあるフォーム内に書き込まれないですよね? 上記の例だと、飛び先のフォーム内に「$_POST[aaa]」という記述があれば問題ないと思うのですが、(フォームの作り方が悪い?) それ以外に、うまく切り抜ける方法があるのでしょうか?;; あと、説明不足だったのですが「検索」が目的という訳ではないので、 「http://www.google.co.jp/search?hl=ja&q=%E4%BE%8B%E3%81%88&lr=」のように URIを直接指定する方法が使えないんです…。

関連するQ&A

  • フォーム送信とURLエンコードについて

    CGI&PHP初心者です。 フォームのデータ送信とURLエンコードについて、お尋ねします。 method="GET" のフォームで、検索フォームをつくりたいとおもっています。 日本語も含めた検索語をフォーム送信したいと考えていますが、 送信の結果、エンコードされずにそのままブラウザのURL欄に入力した日本語が表示されてしまいます。 (ただ、メモ帳などにURLをコピーペーストするとURLエンコードがされているようです。) googleでは検索結果のアドレス欄にURLエンコードされた文字列がでているが、 同じように検索結果のアドレス欄にはURLエンコードされた文字列をだしたい。 URLに日本語をださずにURLエンコードさせた文字列を表示させるには、 どうすればいいのでしょうか? 補足:できるかぎり検索処理が重くならないにしたいと思います。     開発環境PHP&MySQL     動作環境Chrome のバージョン 38.0

    • ベストアンサー
    • CGI
  • 指定したデータを別ページフォームへ引き継ぎたい!

    問合せフォームとJAVASCRIPTに関する質問です。 ECサイトで、商品の説明ページが複数あります。 商品問合せを受け付けるようになっているのですが、各説明ページから「問合せ」ボタンをクリックした際に、問合せフォームの指定したテキストエリアに指定した文字列が入力されている状態にしたいのです。 例えば、商品番号がABC001の場合… ・商品説明ページに「ABC001」というデータを記載(HIDDENなど?) ・商品説明ページの問合せボタンを押すと、フォームの「商品番号」テキストエリアに既に「ABC001」という値が入っている ・商品説明ページの「ABC001」を「DEF002」に変更すると、フォームに入る値も「DEF002」になる これらの動作をCGI・PHPを使わずJAVASCRIPTで実現したいのですが、可能でしょうか。 ご回答、よろしくお願いいたします。

  • VBA フォームに入力したものを検索しエクセルへ

    わたしはVBA初歩で現在勉強しているものです。 VBAでユーザフォームに検索窓を設置しました。 下記のことをできるようにしたいです。 (1)フォームの検索窓に文字を入力 (2)フォームのボタンを押す (3)googleで(1)の文字を検索(サイトはshowしなくてよい) (4)検索結果のすべてを   A列 番号   B列 タイトル   C列 URL というように順次流していく。 ↑このようなものを作りたいのですが、どのようなコード記述をすればよいでしょうか? 教えてください。 よろしくお願いいたします。

  • フォームに投稿された内容で新規ページを作成するには?

    いつもお世話になっております。 php+mysqlでサイトを作成しています。 トップページにおいてフォームから入力された文字列を、次ページに表示し何らかの動作をさせるというものです。 現在は、それぞれ固定のファイルで、例えば下記のサイトでは「odaiba_odai.php」というファイルが文字列を表示しています。 http://odaiba.web345.jp この方法だと、当然ながらトップページを経由しないとページの内容が表示されません。 なので、フォームからの入力によって新規にページが作成されるようにしたいのです。 urlに「?」や「%」を含むページをよく見かけ、これらがphpによって作成されたページであるとは認識しているのですが、実際に自分が作ろうと思い、いろいろと調べてみたのですが、これだというものが見つかりませんでした。 どなたかご教授いただけると幸いです。 大まかな方向性でも結構です。 (サンプルスクリプトや詳細な説明のあるサイトリンクだとモアベターです) 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • 複数のフレームからなるWebページのURLの指定方法

     複数のフレームからなるWebページをつくってあり、インデックスを常に表示してあります。インデックスのボタンを押すと、インデックスはそのままで、内容だけそのページが表示されます。  エクスプローラーのアドレスは、それぞれのページを表示させても常にトップページのURLが出ています。当然、そのURLを指定しても、トップページが表示されてしまいます。また、インデックスのボタンも右クリックしてショートカットのコピーからそのページのURLを得て、そのアドレスを指定すると、フレーム形式でなく、そのページだけが表示されてしまいます。  ひとに特定のページのURLをフレームが入った形で知らせたいのですが、方法が分かりませんよろしくお願いいたします。

  • 指定したURLのページ内の全文字をJavaScriptで変数に読み込む方法は?

    WEBページをURLで指定して、そのページ内の全文字を1つの文字列として、JavaScriptのプログラム内の変数に読みこみたいと思います。JavaScriptで工夫して、何とかできるでしょうか?できる場合、やり方をお教え下さい。

  • クライアントの指定したURLのHOST名を取得したい

    クライアントの指定したURLのHOST名を取得したい PHPでWebページを作成しました。 クライアントより記入されるURLのHOST名が"www"がつく場合と、 つかない場合があります。 クライアントの送信したURLのHOST名の文字列を取得する方法はありますか? もしくは、トップページで必ず既定のURL(HOST名固定)に飛ぶようにする方法はありますか? header("location:...")の方法は知っているのですが、.htaccess等で指定する方法 があったら、助かります。 どうか、お願いいたします。

    • ベストアンサー
    • PHP
  • URL パラメータを使ってフォームに事前に入力する

    いつもお世話になります。 URLに何か細工をして、フォームに事前に入力ができることができたらと思い、 調べているのですが、 下記サイト↓ http://support.google.com/docs/bin/answer.py?hl=ja&answer=160000 に、URL パラメータを使ってフォームに事前に入力する方法が書かれているのですが、 Google ドキュメント専用なのか、うまく行きませんでした。 そもそも、無理なのかもしれないのですが、 もし、URLにパラメータを付け足して、 指定のフォームに事前に入力する方法がありましたら、 お教え頂けないでしょうか? よろしくお願い致します。

    • ベストアンサー
    • HTML
  • 別ページからフォームへ移動したときにプルダウンの指定のメニューを自動選

    別ページからフォームへ移動したときにプルダウンの指定のメニューを自動選択したいです! メニューページのAというメニューから予約フォームへリンクしたときにフォームのプルダウンを自動で Aメニューを選択した状態で表示したいのですが、どうしたら出来るのかわかりません。 Javascriptかphpでサンプルや参考になるページがありましたら教えてください。

  • テキストフォームの値を次のページのテキストフォームに入力しておくには?

    僕はphpでデータベース検索の実装をしてる者です。 具体的には、検索ページにテキストフォームがあります。そしてそのフォームに「リボン」といった任意の値を渡してlike検索をします。 ページが飛んだ後に、この場合フォームに「リボン」と表示させたいのです。 グーグル等がそのような仕様になってる事だと思います。 それらをサンプルで示してくれると助かります。 勝手なお願いですが、よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう