HTMLでfor文を使用して予約画面を作成する方法

このQ&Aのポイント
  • Perlを使用して予約画面を作成している場合、HTMLの表示内容にfor文を使用する方法を紹介します。
  • HTML内にPerlの処理を組み込むには、以下の手順を実行します。
  • for文を使用して、DBから取得した値をHTMLのループとして表示することができます。
回答を見る
  • ベストアンサー

HTMLの表示内容にfor文を使用したい

現在Perlで予約画面を作成しています。 ソースは↓のような感じです。 ============================== #! c:/perl/bin/perl #DBより取得 @type = (); @type=('シングル','ツイン'); &display; #------------------------------------------------- sub display { print "Content-type: text/html\n\n"; print <<EOM; <html> <head> <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS"> <title></title> </head> <body> <form> <table border="0"> <tr> <td>タイプ</td> ##Loop Start <td><input type="checkbox" name="kotsu" value="1"></td> <td>$type[0]</td> <td><input type="checkbox" name="kotsu" value="2"></td> <td>$type[1]</td> ##Loop End </tr> <tr> <td>お名前</td> <td colspan="4"><input type="text" size="28" name="name">(全角文字)</td> </tr> <tr> <td><input type="submit" id="submit" value=" 送 信 ">   <input type ="reset" value="リセット"></td> </tr> </table> </form> </body> </html> EOM exit; } ============================== HTMLのLoopと記述している部分にDBより取得した値をfor文で記述したいのですが、うまくいきません。 HTML内にPerlの処理を組み込むには、どうすればいいのでしょうか?

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

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

  • ベストアンサー
noname#77845
noname#77845
回答No.1

「HTML内にPerlの処理を組み込むには、どうすればいいのでしょうか?」 逆でしょ? Perlの中にHTMLを埋め込んでいるのですから、forループで回したいときはヒアドキュメントをいったん止めればよいかと。

ppp555
質問者

お礼

早々のご回答ありがとうございます。 ご指摘の通りです。意味不明な書き方をしてすいません。 アドバイスの通りでうまくいきました。 ありがとうございます。

関連するQ&A

  • [PHP初心者] フォームのエラーチェック

    PHPやデータベースに全く疎い者です。 皆様にご指導頂きたく投稿致します。質問内容もレベルが低いですがどうが宜しくお願いします。 メールフォームにてフォームのボタンを押下し、 エラーチェックをして、エラー項目を同一画面上の上の辺りに表示させたいのですが、、参考書を読んだり、過去スレを拝見しても、どうもわかりません。 <body> //↓この辺をどう書けばいいのか、さっぱりなんです。 <?php if(isset($_POST['mailform'])) { if($_POST['name'] == "") { echo("名前を入力して下さい。<br>"); }} ?> //↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ <form method="POST" action="kakunin.php"> <table border="0" cellpadding="5"> <tr> <td colspan="2"></td> </tr> <tr> <td>名前</td> <td><input type="text" name="name" size="20"></td> </tr> <tr> <td>メールアドレス</td> <td><input name="mail" type="text" id="mail" size="20"></td> </tr> <tr> <td>項目</td> <td>     <input type="checkbox" name="check[]" value="PHP">PHP <input type="checkbox" name="check[]" value="Perl">Perl <input type="checkbox" name="check[]" value="ASP">ASP <input type="checkbox" name="check[]" value="JSP">JSP</td> </tr> <tr> <td>お問い合わせ内容</td> <td><textarea rows="5" name="naiyou" cols="40"></textarea></td> </tr> <tr> <td colspan="2"><input name="mailform" type="submit" id="mailform" value="::入力内容を確認::">  <input type="reset" name="Submit" value="リセット"></td> </tr> </table> </form> </body>

    • 締切済み
    • PHP
  • ファイルの内容が表示できるか?

    外部ファイルでお願いします。 参照ボタンから、何でもいいのでファイルを選びます。ファイル名がテキストボックスに表示されます。 下にあるYESボタンを押すと、その下にコメントアウト してあるテキストボックスが上記のID,ファイル名に追加されテキストボックスの中に参照ボタンから選んだ ファイルが挿入される。また、左のNOボタンを押すと その列が削除されるというやり方は可能でしょうか? <html> <head> <title>画面</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> </head> <body> <table> <col width="100"> <col width="100"> <tr> <td> <input type="file" name="file"size="50"> </td> </tr> </table> <table border ="1"> <col width="50"> <col width="200"> <tr> <th>ID</th> <th>ファイル名</th> </tr> </table> <input type="button" name="yes" value="YES"value="" > <!-- <table border="1"> <col width="50"> <col width="200"> <tr> <td><input type="button" name="no"value="NO"value="" ></td> <td><input type="text" name="file" size="40" value=""></td> </tr> </table> --> </body> </html>

  • チェックボックスのチェック処理

    HTMLでボタン押下時にチェックしたいことがあります。 ■カテゴリーA~Cで、カテゴリー毎に選択できるのは一つのみ  (例)「A1・あ」と「A2・お」が選択時はNG ■カテゴリーは最大2つまで選択可能  (例)「A1・い」と「C1・さ」が選択時はOK    「A1・い」と「B2・く」と「C1・さ」が選択時はNG <html> <head> </head><body> <form> <table border="1"> <tr> <td>A1</td> <td><input type="checkbox" name="chk1" value="1">あ</td> </tr> <tr> <td> </td> <td><input type="checkbox" name="chk1" value="1">い</td> </tr> <tr> <td> </td> <td><input type="checkbox" name="chk1" value="1">う</td> </tr> <tr> <td>A2</td> <td><input type="checkbox" name="chk1" value="1">え</td> </tr> <tr> <td> </td> <td><input type="checkbox" name="chk1" value="1">お</td> </tr> <tr> <td>B1</td> <td><input type="checkbox" name="chk1" value="1">か</td> </tr> <tr> <td>B2</td> <td><input type="checkbox" name="chk1" value="1">く</td> </tr> <tr> <td> </td> <td><input type="checkbox" name="chk1" value="1">け</td> </tr> <tr> <td>C1</td> <td><input type="checkbox" name="chk1" value="1">さ</td> </tr> <tr> <td>C2</td> <td><input type="checkbox" name="chk1" value="1">し</td> </tr> <tr> <td> </td> <td><input type="checkbox" name="chk1" value="1">す</td> </tr> </table> <input type="submit" value="チェック"> </form> </body> </html> すみませんがよろしくお願いします。

  • 初歩的な質問です、長文ですいませんが困っております。

    初めてHP製作で掲示板を作りたいと思い、本(Perl/CGI辞典)を読みながら悪戦苦闘中です。まずは本のスレッド掲示板を作たのですが、なぜか出力されません。PERLのチェックはHPでやって異常ありませんでしたが、なぜか「500Internal Server Error」になってしまいます。まずは出力部分と思い抜粋して見たのですが、これまた出力されません。以下にその部分を貼り付けますので、どなたかお教え願えないでしょうか? #!C:\perl\bin\perl -w print<<HTML_EOF; Content-type:text/html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML LANG="ja"> <HEAD><TITLE>$bbstitle</TITLE> <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> </HEAD> <BODY BGCOLOR="${bgcolor}"> <BR> <B>$bbstitle</B><BR> <FORM ACTION="${cginame}" METHOD=POST> <TABLE WIDTH='90%'> <TR> <TD WIDTH=30>名前</TD> <TD><INPUT TYPE="TEXT" NAME="name" SIZE=30 VALUE="$name"></TD> </TR> <TR> <TD>Mail:</TD> <TD><INPUT TYPE="TEXT" NAME="mail" SIZE=30 VALUE="$mail"></TD> </TR> <TR> <TD>URL:</TD> <TD><INPUT TYPE="TEXT" NAME="url" SIZE=60 VALUE="$url"></TD> </TR> <TR> <TD>TITLE:</TD> <TD><INPUT TYPE="TEXT" NAME="title" SIZE=60></TD> </TR> <TR> <TD></TD> <TD><TEXTAREA NAME="comm" COLS=60 ROWS=6></TEXTAREA></TD> </TR> </TABLE> <INPUT TYPE="SUBMIT" VALUE="投稿"> <INPUT TYPE="RESET" VALUE="クリア"></FORM> <BR> </BODY> </HTML> HTML_EOF

    • ベストアンサー
    • CGI
  • ボタンクリックでフォーカス移動

    JavaScript超ビギナーなので方法がよくわかりません。 フォームにテキストボックス(配列)4個あり ボタンを押すたびに未記入のテキストボックスにカーソルを移動したいのですが。どのようにしたらいいでしょうか。 <form name="form1" method="post"> <table width="200" border="1"> <tr><td ><input type="submit" name="Submit" value="送信"></td></tr> <tr><td ><input type="text" name="name1"></td></tr> <tr><td><input type="text" name="name1"></td></tr> <tr><td><input type="text" name="name1"></td></tr> <tr><td><input type="text" name="name1"></td></tr> </table> </form>

  • ラジオボタンでの表示の切替方法

    2つのラジオボタンの切替によって、表示の切替を行いたいです。 例えば、Aを選択すると(1)の入力フォームが表示され、Bを選択すると(2)が表示したいです。初期表示はAが選択された時と同じ内容となります。 <table align="center" border="0" cellpadding="0" cellspacing="0"> <tr><td><form name="Quick1"> <tr><td>選択</td> <td> <input type="radio" name="A" value="1" checked>A  <input type="radio" name="B" value="2">B  </td></tr> <tr> <td>(1)</td> <td> <input type="text" size="6" maxlength="5" name="text1" value="">- <input type="text" size="6" maxlength="5" name="text2" value="">- <input type="text" size="6" maxlength="5" name="text3" value=""> </td></tr> <tr> <td>(2)</td> <td> <input type="text" name="text7" size="43" value=""> </td></tr> </table></form></td></tr></table> すみませんが、よろしくお願い致します。

  • チェックした行の色を変える

    簡単にできそうかなと思ってやってみたら、泥沼状態。 チェックボックスにチェック入れたときにその行をハイライトさせ、チェックはずすと元に戻るようにしたいのですが。 【チェック入れた時の状態】 <TABLE BORDER="1"> <TR> <TD><INPUT TYPE="CHECKBOX" NAME="CheckBox" VALUE="CheckBox"></TD> <TD></TD> </TR> <TR BGCOLOR="red"> <TD><INPUT TYPE="CHECKBOX" NAME="CheckBox" VALUE="CheckBox" CHECKED></TD> <TD></TD> </TR> <TR> <TD><INPUT TYPE="CHECKBOX" NAME="CheckBox" VALUE="CheckBox"></TD> <TD></TD> </TR> </TABLE>

  • フォームで確認画面を表示させるにはどうすればいいのでしょうか?

    質問をご覧下さりありがとうございます。 <form action="18add.php" method="POST" name="form1"> <table> <tr> <th>番号(半角数字)</th> <td><input type="text" name="number" value=""></td> </tr> <tr> <th>名前</th> <td><input type="text" name="name" value=""></td> </tr> <tr> <td><input type="hidden" name="mode" value="add"></td> <td><input type="submit" name="submit" value="追加"></td> </tr> </table> </form> htmlでこんなフォームを作り、phpで $table_body = ""; if( isset( $_POST['mode'] ) ){ $mode = $_POST['mode']; $number = $_POST['number']; $name =$_POST['name']; } else{ $mode = ""; $number = ""; $name = ""; } if( $mode == "add" ){ $table_body .= "<tr>"; $table_body .= "<td>"; $table_body .= $number; $table_body .= "</td>"; $table_body .= "<td>"; $table_body .= mb_convert_encoding( $name, "SJIS", "EUC-JP" ); $table_body .= "</td>"; $table_body .= "</tr>"; } で一度入力された情報を確認する画面を作りたいのですが うまくいきません。 初心者なのでわかりやすく説明をつけてくださると大変助かります。

    • 締切済み
    • PHP
  • フォームメールへ引き継ぐ値が表示されないことがある。

    Perl 5.6.1、cgi-lib.pl 2.17、jcode.pl 2.11です。 以下のソースで、htmlファイルより引き継いだ値(theme,number,day)をたまに取り込めていないというか、これらの値だけ表示されていないことがあるようです。 私の環境では再現できておりません。 ユーザーの環境に依存するようなソースコードなのでしたら変更したいと思っております。 どなたかご教授よろしくお願いいたします。 #!/usr/local/bin/perl require "./cgi-lib.pl"; require "./jcode.pl"; &ReadParse; $text = $in{'theme'}; &jcode'convert(*text, 'sjis'); $in{'theme'} = $text; $text = $in{'number'}; &jcode'convert(*text, 'sjis'); $in{'number'} = $text; $text = $in{'day'}; &jcode'convert(*text, 'sjis'); $in{'day'} = $text; print<<'end_mark'; Content-type: text/html <html> <title>XXX</title> </head> <form action="/cgi-bin/XXX.cgi" method="post"> <table> <tr> <td>テーマ/</td> <td> end_mark print "<input type=\"hidden\" name=\テーマ\" value=\"$in{'theme'}\">$in{'theme'}</td></tr>\n"; print<<'end_mark'; <tr><td>番号/</td><td> end_mark print "<input type=\"hidden\" name=\"番号\" value=\"$in{'number'}\">$in{'number'}</td></tr>\n"; print<<'end_mark'; <tr><td>日時/</td><td> end_mark print "<input type=\"hidden\" name=\"日時\" value=\"$in{'day'}\">$in{'day'}</td></tr>\n"; print<<'end_mark'; <tr> <td>会社名(正式名)</td><td> <input type="text" name="_会社名"></td></tr> <tr> <td> <input type="submit" value="申込み" name="submit"> <input type="reset" value="リセット" name="reset"> </td> </tr> </table> </form> </body> </html> end_mark

    • 締切済み
    • CGI
  • tableタグとformタグの組み合わせ

    tableタグとformタグの組み合わせでどのように記述すれば、構文上正しいのでしょうか? 私は下のパターンで書いておりますが、間違いでしたら早めに改めたいので お聞きしました。 <table> <form> <input type="hidden" name="a" value="1"> <tr> <td> <input type="text" name="b" value=""> </td> </tr> <tr> <td> <input type="submit" value="OK" value=""> </td> </tr> </fomr> </table>

    • ベストアンサー
    • HTML

専門家に質問してみよう