HTMLとPHPの連携についての質問

このQ&Aのポイント
  • HTMLとPHPの連携方法を教えてください
  • HTML内で値をPHPに送り、処理結果を再度HTMLに表示したいです
  • 初心者で具体的な方法が分からず困っています
回答を見る
  • ベストアンサー

phpとhtmlについて分からない部分があります

すいません、初めてphpを勉強していまして、 簡単な動作をするphpを試したりしているのですが、実際のhtmlと合わせて使う上で 根本的に分からない事があります。 現在xamppを使ってローカルでphpを作動させています。(全て初心者サイトに書いてある通りに しました) そこに test.phpと test2.phpを2つ用意し、test.phpにラジオボタンなどを作って、formから値を飛ばして test2.phpに処理(選択したラジオボタンによって写真などを並び替えて表示するプログラム)するようにしました。 とりあえず動作自体は問題なく終わり、任意の順番どおり写真が並び替えられました。 ここで質問なのですが私はhtmlの中にラジオボタンを作り、値をphpに送って、結果を再度 htmlに表示させたいのですが、どうしたら良いのでしょうか。 現在ですとボタンを押すとブラウザのアドレスバーが以下のよう変わるので、ページが飛ばされているように思います。 http://localhost/test.phphttp://localhost/test2.php 私が行いたいのは (1)htmlのサイトにラジオボタンを置く ↓ (2)別のphpファイルへ値を飛ばして任意の処理 ↓ (3)処理結果を再度htmlに表示する 私はhtmlにphpを埋め込む形ではなく、あくまで別ファイルで処理をして結果を戻したいのですが (3)を行う場合htmlに「処理の結果をココに表示する」というプログラムが 必要ですよね? このあたりのプログラムの流れが分かりません。初心者サイトを見ても具体的な部分が見つかりません。(プログラム自体初心者で、またローカル環境しかないため、このやり方であっているのか どうかさえも分かりません) どなたか詳しいかたいましたら教えてもらえませんか?

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

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

  • ベストアンサー
  • kamikami30
  • ベストアンサー率24% (812/3335)
回答No.1

やりたそうなことまとめました。あってますか? $_GETや$_POSTで受け取った値をphpを使わないページに表示したい。 フォーム自体はhtmlで十分です。 あとは、お薦めしませんが、どうしてもやりたいならこんな感じ。 phpでフォームから値を受け取って、処理して現状ではブラウザに表示しているだろう処理を止めて 特定のhtmlに書き込んで、そのページにリダイレクトしたらできます。 ユーザー一人ならこれでいいですが、 ユーザーが複数になったら、 ユーザーに何らかのidを与えて、idによってそれぞれのページにしないと、全員結果を共有することになりますので。 以下、直接の回答ではありません。 基本的にはhtmlが動的ではない。 記述されている情報をそのまま送信するだけです。 phpは処理した結果の標準出力をユーザーに送信します。 フォームからデータを送信するくらいなんで、受け取ったデータを処理して結果を何らかの形で表示したいんでしょうね。 受け取ったデータによって結果が違う。 これって動的だと思いませんか? どうしてhtmlがいいのかわかりませんが、 phpの方が良さそうですね。 単純に拡張子をhtmlにしたいだけなら、 htaccessで設定するだけで、問題ないですよ。

cinnron
質問者

お礼

お話を聞くとphpで良いように思いました。 他の人のサイトを見ると拡張子がhtmlが多く、そうした方がいいのかな・・と phpでとりあえず作ってみます・・。

関連するQ&A

  • phpの初歩的な事なのですが

    すいません。プログラムを初めて勉強してまして初心者用の解説サイトをざっと読んでたのですが、 根本的な仕組みが分からりません・・。 私は自分のホームページにある写真をボタンで任意の順番に並び替え(新着順など)たいと考えています。それでまず値をの受け渡しの部分を読んでみて、以下のプログラムを書いてみたのですが・・・、 一応解説サイト通り、レッドのボタンを押すとseと表示されました。 しかし、123.phpのようにphpファイルでは困るので、これをhtmlファイルとして使うにはどうしたら 良いのでしょうか?123.htmlとしてファイルを開き、ボタンを押すとtest10.phpファイルをダウンロードしてしまいます。解説サイトは構造文などは詳しいのですが実際の使い方はほとんど書いておらず、 根本的な部分が分かりません。 とりあえず私はラジオボタンが三つあるサイトを作り、レッドのボタンを押すとAの画像、ブルーのボタンを押すとBの画像・・・が表示されるようにしたいのですが上記が分からないため先に進む事ができません。くだらない質問ですがアドバイスいただければ助かります。 (ファイル名 123.php) <FORM ACTION="test10.php" METHOD="POST"> <INPUT type="radio" NAME="ss" VALUE="se">レッド <INPUT type="radio" NAME="ss" VALUE="ch">ブルー <INPUT type="radio" NAME="ss" VALUE="pi" CHECKED>ピンク <INPUT type="submit" VALUE="並び替える"> </FORM> (ファイル名 test10.php) <?php echo $_POST['ss']; ?>

    • ベストアンサー
    • PHP
  • phpで目的のプログラムを作る流れを教えてほしい

    すみません。プログラム初心者です。 現在自分のウェブサイトを持っているのですが、そこには自分で撮った写真(画像をテーブルで囲い、コメント付きのもの)が500枚くらい大量に掲載しています。 それを価格比較サイトやオークションのように訪問者が任意で並び替えるPHPプログラムを組みたいと思っています。(私の場合は写真を撮った日付順、撮影場所順など・・) そこで今週初め頃からPHPプログラムの解説サイトをひと通り目を通してみて、実際ローカル環境で作ったラジオボタンから値を送りPHP側で処理して任意の画像を表示させるなど簡単なプログラムを作ってみたのですが、いざ自分が作りたいプログラムを組みたいと思っても参考になるプログラムが無いので手が付けられません。 もしよければプログラムを組む流れを教えてもらえないでしょうか。 ラジオボタンを作る→値を送る→php側でこういった処理→次にこういった物を作り値を送る→こういった処理・・・のように教えていただけると助かります。(あまり漠然としたものではなく、一つ一つこういった 処理と書いていただけると勉強しやすいです) 自分の作りたいものは以下です。(実際はチェックボックスをもっと作り、フィルタリングを強くしたいと思っています) 1、撮影した写真(テーブルで囲ったコメント付き)を外部のメモ帳などにテーブルのhtmlごと書いて保存しておき、撮影日や投稿日、撮影季節の情報を入れておく 2、それを撮影日順、掲載順か選べるチェックボックスを作る 3,「2」に加えて春、夏、秋、冬のチェックボックスを作る 4,例えば「春」「夏」のチェックボックスを選択して、同時に「撮影日順」のチェックボックスを選択すると、春と夏の写真が撮影日順で表示される あと大変申し訳ありませんが、「プログラムはあなたにはまだ無理だ」「そんなに簡単にプログラムは組めない」など批判やお叱りの回答はご遠慮してください。

    • ベストアンサー
    • PHP
  • phpの設定について

    初めて書込みします。 php初心者です。 現在、apacheはインストールでき、http://localhost/で It Works!は表示されました。 phpをインストーラでいれましたが、http://localhost/test.phpで みてみると何も表示がされず真っ白です。 「ページが表示されました」とはでてるのですが、いったい何が原因かわかりません。 何か考えられる原因があれば教えてください。

  • ActionScriptとphpの連携について

    ActionScriptとphpの連携について質問があります ActionScriptで受け取った値をphpに送り、その値をphp(htmlに埋め込み)で表示させたいと考えています。 動作としましては、 ・あらかじめテキストボックスに文字列が入力されている ・ボタンをクリックする ・別ウィンドウが出現(getURLでphpファイルを表示)テキストボックスに入力されていた文字列が表示される ・phpのファイルでラジオボタンで項目を選択し送信ボタンを押す ・MySQLに接続、ActionScriptで受け取った値とラジオボタンで受け取った値をまとめてデータベースに保存 というものにしたいです。 ボタンをクリックするまではすべてFlashで実現させています。 Flash→php→Flashという流れで値を表示させる方法はわかるのですが、Flash→phpで表示させることは可能でしょうか もし可能であれば、どのように実現したらよろしいでしょうか 現在はLoadVarsクラスのLoadVars.sendAndLoad()を使っています ActionScriptは2.0です 至らないところもございますが、素早い回答をお願いいたします

    • ベストアンサー
    • Flash
  • ローカルでPHPファイルが実行されません

    http://localhost/test.php <?php phpinfo(); ?> 見ると、タグがそのまま表示されてしまい、実行されません。 何を直せばローカルでも動くようになりますか? Win8.1 アパッチインストール済 サーバー上にアップしてみると、きちんと動作確認できます。 文字コードUTF-8 BOMなし ・・でもアップする前にローカルで確認したいんです。 php.ini ファイルがないのが原因でしょうか。 詳しい方、よろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHP環境について

    PHP初心者です。 PHPの環境を作り、Windows環境のローカル端末にて開発をはじめようと思っているのですがApache HTTP Server 2.0.55とXAMPPをインストールし、XAMPPコントロールパネルからApacheのサービスを起動したにもかかわらず、下記内容のPHPファイルを作成してC:\Program Files\xampp\htdocs\info.php に保存してもphpの情報が表示されません(404Error)。 ーーーーーーーーー <?php phpinfo(); ?> ーーーーーーーーー また、XAMPPはhttp://localhost/xampp/index.php のアドレスでWebベースのXAMPPコントロールパネルが表示されるはずですが、表示されません(404Error)。 おそらくPHPが正常に動作していない(起動していない)ような気がするのですが、どのような原因が考えられますでしょうか?? ちなみにhttp://localhost/のアドレスだと「あなたの予想に反して・・・」の表示が確認できます。 また、ApacheがインストールPHP4⇔PHP5の切り替えはできます。 どんなことでも結構なのでご教授願います。

    • ベストアンサー
    • PHP
  • PHPファイル編集後の実行

    PHP初心者です。 PHPのファイルを作成し、動作確認後に同じファイルを編集して再度動作させても編集が反映されません。 具体的には以下のような感じです。 --test.php-- <?php print("test00"); ?> というファイルを作成しローカル環境で実行すると test00 と表示されます。その後test.phpを以下のように編集します。 --test.php-- <?php print("テスト00"); ?> と編集して再度ローカル環境でtest.phpを実行しても変更が反映されずにtest00と表示されてしまいます。 編集後のtest.phpをtest00.phpとして実行すると、当然ですが テスト00 と表示されます。 ファイル名を変更せずに編集を反映させるには、どこかに設定しなければならない箇所があるのでしょうか?

    • ベストアンサー
    • PHP
  • FLASH1→PHP→FLASH2 POST送信での受け取り方法。

    FLASH 8の初心者です。 Sample.swfにあるボタンから、PHPを通してSample2.swfに値を送ろうとしています。そこで、送った値を判定して、そのフレームに移動するようにしたいと思っています。 現在はFLASH→PHP→FLASHというのはできるのですが、FLASH1→PHP→FLASH2という方法がわかりません。 ■Sample.swfのボタン A.onPress = function() { SendData = new LoadVars(); //データを送信するための箱。 _root.SendData.nakami1 = "sam"; //送りたいデータを箱に詰める //データ(中身)を詰めた箱をgetFlash.phpに送信 _root.SendData.sendAndLoad("http://localhost/Sample/Sample.php", _root.SendData); //3)getFlashからレスポンスが合った場合(SendDataにデータが帰ってきた時) _root.SendData.onLoad = function() { //受け取ったときの処理 if(this.val){    if(this.val1){ gotoAndPlay(2); } } } } これで、PHPに値を送っています。 <?php //2)Flashからデータを受け取る-Flashで使用した変数名 $test1 = $_POST["nakami1"]; //やりたい処理を書く if($test1 == "sam"){ $test1 = "name"; }else{ $test1 = "error"; } //Flashにデータを送る print "&val=true"; //上の結果を表示の実行。 print "&val1=".$test1; //val1に$test1の値を代入。 ?> この書き方でFLASH→PHP→FLASHはできるのですが、これをどのように変更したらFLASH2へ値を送れるのかわかりません。調べてもどのようにすればいいのかわからないので困っています。 FLASH2のほうではsetInterval文を使って、常にPHPからの送られてくる値を取得しようと思っています。 ★setInterval文 functionvar intervalID:Number=setInterval(getFunc,1000); getFunc(){ getURL("http://localhost/test/Sample.php", "_self", "GET"); if(val== "name"){ gotoAndpPay(2); } } このように書いたのですがどのようにすればPHPからの値を取得できるのかわかりません。このような書き方をしなくてもできるのでしょうか? どんなことでもいいので返事をよろしくお願いします・・・。

  • localhost:8000にしないとサイトが表示されない

    localhost:8000にしないとサイトが表示されない これからPHPを学びたくて、Windows XP Pro SP2に下記をインストールしました。 ・Apache2.2.16 ・PHP5.3.3 ・MySQL5.1.51 PHPも動きますし、HTMLも表示されているのでソフトのインストールは正常にできていると思うのですが、http://localhost/test.php ではサイトが表示されず、 http://localhost:8000/test.php ですとサイトが表示されます。 調べるとポートを他のソフト?で使われている?ような検索結果が出てきたのですが、どうしたらhttp://localhost/test.phpでサイトが表示できるようになるのでしょうか。 自分のパソコンでPHPを学ぶ環境としては、このままでも学べるとは思うのですが、どうして:8000をつけないと表示できないのか、何かを解決すれば:8000なしで表示できるようになるのか、できればすっきり理解したいなと思いました。 初心者なので、ヘンな質問かもしれませんが、わかるかた教えてください。よろしくお願いいたします。

  • php、並び替え、サーバーの負担などについて

    すいません。php初心者なのですが、ある写真とコメントを任意の順番で並び替えができるような プログラムを作りました。 チェックボックスやラジオボタンで新着順、季節順、古い順、お気に入り順・・などで並び替えができるサイトで、一ページあたり200枚表示するので全部で25ページです。(写真自体が5000ほどありますので) 初めてのプログラミングでどのように組めばよいのかわからなかったのですが、 div~/divで囲んだ中に写真と説明コメントを入れ(htmlで記述)、それをphpファイルとして保存。これを写真の数だけ作り、phpで並び替えて、phpで表示。 (つまりphpファイルが5000個できあがります) とりあえず動作自体は自分の思ったとおり動いたのですが、 例えば、20人くらいが同時に並び替えをして、表示した場合、サイトが重くなったりしますでしょうか? 気になるのが5000個もあるphpファイルでして、phpで呼び出す場合、phpファイルが最も負担が少ないと聞きましたのでそのようにしました(最初はメモ帳に記載していましたが呼び出す際に遅くなると他の人い言われました) 現在100個ほどphpファイルを作りましたが、相当労力が必要でして、このまま続けても重くなって 使い物にならないなら困るので質問しました。 よろしくお願いします。

    • 締切済み
    • PHP