• ベストアンサー

コーディングはHTMLとPHPのどちらをベースにした方がいいでしょうか?

tripod_rの回答

  • tripod_r
  • ベストアンサー率38% (5/13)
回答No.2

私の場合は複数ページを1プログラムで表示させていますのでPHPをベースにした方がやり易かったです。 フォルダ内にindex.phpを置き各ページを呼ぶ際は case文を用いて振り分けを行います。 ※.htaccessで下記文章を編集して追加する事が前提  DirectoryIndex index.php index.html index.htm index.cgi index.shtml 例)呼び出し:index.php?action=main(POSTでもGETでもOK)   振り分け:switch($_GET[action]){         case "main":main();break;         case "image":image();break;         case "music":music();break;         default:start();break;        } こうすると各ページが関数で呼び出せるのでフォルダ内がシンプルになりメンテナンス効率が良くなります。 あと、hedderやfooter等、各ページ統一の関数を作成しておけば全ページに統一性を持たせる事が出来ます。 - 以上 -

mogmogtae
質問者

お礼

ご回答ありがとうございます。  なるほど。こういったやり方もあるのですね。  複数ページを1プログラムで表示する予定は ないのですが、この方法は他の場面で使えそうです。 (お礼が遅くなりまして申し訳ございませんでした)

関連するQ&A

  • PHP 配列について

    phpとDBでシステムを作っています DBをよみながら配列と比較しています。 ループ中の配列で2回目以降がどうしても配列の値が入りません $Baitai[$cnt]で1回目は配列の値が来るのですが 2回目以降が一部の文字bしか入りません ご教授お願いします。 while($arr_record = mysql_fetch_assoc($rs)) { foreach($arr_record as $field_name => $field_value) {            if($field_value<>"") { echo $Baitai[$cnt]; $Baitai="Baitai".$k; if($Baitai[$cnt]==$field_value) { ?>       <input type="checkbox" value="<?php echo $field_value;?>" Name="<?php echo $Baitai;?>" checked><?php echo $field_value;?> <?php } else { ?> <input type="checkbox" value="<?php echo $field_value;?>" Name="<?php echo $Baitai; ?>"><?php echo $field_value;?> <?php } } $cnt=$cnt+1;             $k=$k+1; } }

    • ベストアンサー
    • PHP
  • PHPカレンダーについて

    今カレンダーを作成している段階です。 http://w1.nirai.ne.jp/freeze/main/file11.html ↑このサイトのプログラムを参考にしているんですが、 <html> <head> <title>カレンダー</title> </head> <body> <form action="<?php echo $_SERVER["PHP_SELF"]?>" method="POST"> <select name="year"> <?php $cnt = 1970; while($cnt<2038){   if($cnt==date(Y)){   echo "<option value='$cnt' selected>$cnt</option>";   } else {  echo "<option value='$cnt'>$cnt</option>";  } $cnt++; } ?> </select> <select name="month"> <?php $cnt=1; while($cnt<13){   if($cnt == date(n)){   echo "<option value='$cnt' selected>$cnt</option>";   } else {   echo "<option value='$cnt'>$cnt</option>";   } $cnt++; } ?> </select> <input type="submit" value="作成!"> </form> </body> </html> このPHPプログラムを実行してもエラーが消えません。 どこが間違っているのかどなたか教えてください。

    • 締切済み
    • PHP
  • PHPでJavascriptの引数の扱い方

    はじめまして。宜しくお願い致します。 環境:Linux(Redhat 9), apache2, PHP4.3.6 [やりたいこと] 下記↓ソース内容↓より、input=button と input=text が幾つかある。 個々のボタンが押されたら、PHPにて"個々"の内部処理を行う。 内部処理終了後は、個々のテキストにインクリメントした値が画面表示される。 HTML+Javascript にて、カウンター部分は一応完成しています。 ↓ソース内容↓ <html> <head> <script language="JavaScript"> <!-- function ccc(obj0) { cnt = obj0.value; cnt++; obj0.value = cnt; } // --> </script> </head> <body> <form name="ose"> <input type="text" name="view0" readonly size=5 maxlength=3> <input type="button" value="押せ0" onClick="ccc(view0)"><br> <input type="text" name="view1" readonly size=5 maxlength=3> <input type="button" value="押せ1" onClick="ccc(view1)"> </form> </body> </html> コレをPHPに書き換えると、上手くいきません。 ↓PHPに書き換えた場合↓ <script type="text/javascript"> <!-- function ccc($obj0) { cnt = $obj0.value; cnt++; $obj0.value = cnt; } // --> </script> 引数に付いている "$"マークをJavascript側で認識しないのだろう、と考えています。 出来れば、PHPで単体の関数として使用したい為、模索中です。 ※現在は、別の関数の中に上記の『↓HTML+Javascriptの場合↓』を無理矢理入れて使用しています。(別の関数:HTMLをPHPファイルに書き込む) 別の関数内に入れてても問題は無しです。 但、上記のJavascriptを使用しないソース達にも書き込んでしまうので、ちょとやだなーと。 いい方法があったら教えて下さい。

    • ベストアンサー
    • PHP
  • PHP

    HTML文ですが、これをPHPでループで回して無駄なコーディングを直したい。 どうしたらいいですか? <select name="nhour"> <option value="0" <?php if($nhour == '0') echo"selected"; ?>>0</option> <option value="1" <?php if($nhour == '1') echo"selected"; ?>>1</option> <option value="2" <?php if($nhour == '2') echo"selected"; ?>>2</option> <option value="3" <?php if($nhour == '3') echo"selected"; ?>>3</option> <option value="4" <?php if($nhour == '4') echo"selected"; ?>>4</option> <option value="5" <?php if($nhour == '5') echo"selected"; ?>>5</option> </select>

    • ベストアンサー
    • PHP
  • PHPのコーディングルール?

    お世話になります。 只今、PHP5で開発しているのですが 皆様のご意見を聞きたいと思いまして、質問させていただきます。 以下の場合、どちらでコーディングしますか? また具体的な理由などありましたら、ご教授頂けますでしょうか。 (1)if(!isset($hoge)){ (2)if(isset($hoge) == false){ 以下の場合、どちらでコーディングしますか? また具体的な理由などありましたら、ご教授頂けますでしょうか。 (3)require_once(/jp/ne/goo/Hoge.php) ・・・絶対パスでrequireする。 (4)require_once(goo/Hoge.php)  ・・・include_pathを通すなどして、相対パスで記述する。 基本的なことかもしれませんが、ご教授よろしくお願いいたします。

    • 締切済み
    • PHP
  • phpのソースについて

    このソースはHTMLだと思いますが、phpファイルのときは、 ifを<?php?>で指定しなければいけませんよね? if $click[cnt]<>""} {$click[cnt]} <a href="click.php?num=10" utn>{$click[cnt]}</a> {/if} こちらは、{$click[cnt]}をクリックをしたらそのリンクを消えるようにする複雑な設定です。 ただ、これは、HTMLとphpの設定が一緒になっている可能性が高く、思うように動きませんが、なぜですか?スクリプト等の」違いですか?設定ミスですか?

    • 締切済み
    • PHP
  • PHP

    PHPで <p>曜日</p> <p> <input type="checkbox" name="youbi[]" value="1" <?php if(strstr($result[4],'1')) echo"checked"; ?>>月 <input type="checkbox" name="youbi[]" value="2" <?php if(strstr($result[4], '2')) echo"checked"; ?>>火 <input type="checkbox" name="youbi[]" value="3" <?php if(strstr($result[4],'3')) echo"checked"; ?>>水 <input type="checkbox" name="youbi[]" value="4" <?php if(strstr($result[4],'4')) echo"checked"; ?>>木 <input type="checkbox" name="youbi[]" value="5" <?php if(strstr($result[4],'5')) echo"checked"; ?>>金 <input type="checkbox" name="youbi[]" value="6" <?php if(strstr($result[4],'6')) echo"checked"; ?>>土 <input type="checkbox" name="youbi[]" value="0" <?php if(strstr($result[4],'0')) echo"checked"; ?>>日 </p> <p>時間</p> <p> <input type="submit" value="設定" /> とやると日曜日を選択してsubmitするとチェックが外れます。なぜでしょうか?

    • ベストアンサー
    • PHP
  • 問題部分がJavascriptかPHPか分かりませんが....

    以下のようなHTMLを記述しました。 私の希望するべき動作は、"click"ボタンを押すたびに時間表記が切り替わると言うものです。 条件として、時間の取得はphp側で行う。 ページのリロード,リダイレクトなどは行わない main.HTML <head> <script type="text/javascript" id="test" src="./time1.php"></script> <script Language="JavaScript"><!-- cnt = 0; function click_key(){ if(cnt == 0){ test.src = "./time3.php"; cnt = 1; }else{ test.src = "./time1.php"; cnt = 0; } document.smp.set_val.value = get_time(); } // --></script> </head> <body> <form name=smp> <input type=text name=set_val value="" size=50><br> <input type=button value=click onclick="click_key()"> </form> </body> testX.php function get_time(){ value_time = "<? echo date("H:i:s"); ?>";   中略 return value_time; } test1.php test3.php にはそれぞれ上記のget_time()を含むコード記述がされています。 現状では、表示自体は切り替わりますがtest1.phpとtest3.phpが最初に読み込まれる時のみ動作するだけで、 以降は時間が更新されません。(テンポラリに残っていてそれが表示されている感じ?) これをリアルに動作できる方法はあるのでしょうか? それとも、こんな条件では実現不可能?

    • 締切済み
    • 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で求めた変数をHTMLで使う方法

    HTMLのformタグで与えた引数を元に、ある値をPHPで求めた後、その求めた変数をHTMLに戻って使う方法をご教授下さい。 例えば、 index.html ↓↓↓ <form action="submit.php" method="post"> <input type="text" name="xxxxx"> <input type="text" name="yyyyy"> <input tyoe="submit" value="実行"> </form> <textarea name="answer"> 実行後ここに、下のPHPで求めた$zzzzzを表示したい。 </textarea> 上のHTMLでxxxxxとyyyyyを入力して実行ボタンを押します。 そしてPHP側は、 submit.php  ↓↓↓ $zzzzz = $_POST["xxxxx"] . "は、" . $_POST["yyyyy"] . "です。"; このように求めた$zzzzzを上のHTMLに戻って表示したいのですが、しばらく調べてみても見つかりませんでした。 どなたかご教授下さい、お願いします。