• 締切済み

aspファイル内でのIF文埋め込み

現在とあるホームページの編集をするのに.aspファイルをいじっています。 ホームページ上に「氏名」と「社員番号5桁」を入れるテキストボックスがあり、それを以下のように表示させています。 1.氏名:○○ (社員番号:○○) <tr height="25"> <td width='25' align='left' valign='top'>1.</td> <td nowrap width='120' align='left' valign='top'>氏名:</td> <td width='400'  align='left' valign='top'><b><%= session.contents("name") %></b>   (社員番号:<b><%= session.contents("bangou") %></b>)</td> </tr> この時「社員番号」テキストボックスに入力があれば(社員番号:○○)の部分を表示させ、 入力がない場合(社員番号:○○)の表示そのものをしない設定にしたいのですが、aspやhtmlに関して未経験で勉強での知識だけでは追いついていないため、<%>を使った埋め込みや、構文が出来ていない為困っております。なのでお力添えして頂けると有り難いです。 <tr height="25"> <td width='25' align='left' valign='top'>1.</td> <td nowrap width='120' align='left' valign='top'>氏名:</td> <td width='400'  align='left' valign='top'><b><%= session.contents("name") %></b> <% if len("HosCode") = 5 then %>   (社員番号:<b><%= session.contents("bangou") %></b>)</td> <% end if %> </tr> ↑私自身が考えてみた一例(5桁を入れても「社員番号:○○が表示されない」)

みんなの回答

回答No.2

おそらくNo.1さんの回答の前半部分について理解されてないと思います。 len("HosCode") というのは、HosCodeという変数に入っている文字列の長さではなく "HosCode"と言う文字列の長さです。だから常に7文字です。 同様に len("bangou") は、"bangou"と言う文字列の長さですから、常に5文字です。 ここは、本当は <% if len(session.contents("bangou")) = 5 then %> としたいんじゃないでしょうか? あと > len=5よりlen>0のほうが良いのでしょうか? この処理の前処理で0か5以外ならエラーにする処理をしているし、 ここのif文は社員番号のHTML表示にしか影響しないので、 ここで5桁かどうか意識する必要はないと考えるならlen>0で見るべきだし、 もし将来の改造やWebサイト攻撃により0か5以外をチェックしている ルートと別のルートからこの処理が呼び出される可能性があって、 かつこのif文の中で社員番号の桁数を5桁に限定しないとまずい処理を 追加する可能性を心配するなら、それを見越した処理でlen=5で 見てもよいと思います。 要するにあなたがどう考えるかの問題です。

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

そのHosCodeっていうのはなんじゃらほい? まぁ、少なくとも len("HosCode") は7だな。だから5じゃないな。だから len("HosCode") = 5 は真にならないな。だから if len("HosCode") = 5 then の中には入らないな。ここの条件を見直してみましょう。 直接は関係ないが、社員番号がイコール5だと「5桁だったら」という条件になるため、 もし社員番号が6桁に変わったら全部直さないといけなくなるんじゃないかな。 現在、社員番号が5桁でないなら絶対に0桁(存在しない)なのであれば、条件は len(<社員番号>) > 0 という風に「社員番号が0桁を超えているなら」というものにした方が良いのかも知れない。 後、ifの条件を満たしてなくても閉じtdタグは必要なので <tr height="25"> <td width='25' align='left' valign='top'>1.</td> <td nowrap width='120' align='left' valign='top'>氏名:</td> <td width='400' align='left' valign='top'><b><%= session.contents("name") %></b> <% if len("HosCode") = 5 then %>   (社員番号:<b><%= session.contents("bangou") %></b>) <% end if %> </td> <!-- ←ここね --> </tr> とすると良かろう。

tennkuukisi
質問者

お礼

早速のご解答ありがとうございます。 一部編集した際の替え忘れですので、 <% if len("HosCode") = 5 then %>は<% if len("bangou") = 5 then %>です。 また</td>は完全に失念しておりましたので、ご指摘ありがとうございます。 社員番号は、前のページで0桁か5桁以外はエラーで弾く処理をしていますので、ここの処理を行う際0桁か5桁の判断のみを考えて書きましたが、len=5よりlen>0のほうが良いのでしょうか? お忙しいとは思いますが、 ご確認のほどよろしくお願い致します。

関連するQ&A

  • テーブルにCSSの枠のつけ方

    はじめまして、こんにちわ。 HTMLで組んだテーブルにCSSの枠をつけたいと思っています。 ここのページ​http://www.rakuten.ne.jp/gold/royalparty/​ の『NEW ITEMS』みたいに1列4行に枠をつけたい場合はどうしたら良いのでしょうか。よろしくお願いいたします。 組んだテーブルは下です。 <table class="newtable" cellspacing="0" cellpadding="0" border="0" width="610"> <tbody> <tr> <td class="photo" valign="middle" align="center" width="138"> 1-1 </a> </td> <td class="tdspace" valign="top" align="left" width="5" rowspan="3"> </td> <td class="photo" valign="middle" align="center" width="138"> 1-2 </a> </td> <td class="tdspace" valign="top" align="left" width="5" rowspan="3"> </td> <td class="photo" valign="middle" align="center" width="138"> 1-3 </a> </td> <td class="tdspace" valign="top" align="left" width="5" rowspan="3"> </td> <td class="photo" valign="middle" align="center" width="138"> 1-4</a></td> </tr> <tr> <td valign="top" align="left" width="138"> 2-1</a> </td> <td valign="top" align="left" width="138"> 2-2</a> </td> <td valign="top" align="left" width="138"> 2-3 </a> </td> <td valign="top" align="left" width="138"> 2-4</a> </td> </tr> <tr> <td valign="top" align="left" width="138">3-1</td> <td valign="top" align="left" width="138">3-2</td> <td valign="top" align="left" width="138">3-3</td> <td valign="top" align="left" width="138">3-4</td> </tr> </tbody> </table>

    • ベストアンサー
    • HTML
  • 表(table)の字の大きさの設定

    ブログに表を載せたいと思って調べているところなのですが、↓のようにして、入力すると、字が14くらいの大きさになってしまいます。9くらいの小さめの字にしたいのですが、字の大きさは、どのように入力すれば良いのでしょうか?教えて下さい。どうぞ宜しくお願い致します。 <div align="center"> <table border=1><tr><tdalign="center"colspan="3"bgcolor="#99ee66">あ<BR>あ</td></tr><tr><td align="center" colspan="3"bgcolor="#ffcd59">あ</td></tr><tr><td width="30" align="left" valign="top" bgcolor="#efefde">あ</td><td width="45" align="left" valign="top" bgcolor="#efefde">あ</td><td align="left">・あ<BR>あ</td></tr><td width="30" align="left" valign="top" bgcolor="#efefde">あ</td><td width="45" align="left" valign="top" bgcolor="#efefde">あ</td><td align="left">あ</td></tr></table></div>

    • ベストアンサー
    • HTML
  • Javascriptが書ける方 menberInfo.js の中身を書いて頂ける方いませんか?

    Javascriptについての質問です。 Javascriptには、ログイン画面のIDにID番号を読んで それぞれの表示画面にジャンプする機能があるみたいですが そのJavascriptの中身(menberInfo.js menberInfo2.js)がわかりません。 教授できる方直して頂きたいです。 ログイン画面のHTMLとログイン先のHTMLを記述いたしました。 <html> <head> <title>ログイン画面 </title> <script type="text/javascript" src="menberInfo.js"> <script type="text/javascript" src="menberInfo2.js"> <!- function check(){ var flag =0; // if(document.info.id.value.match(/[^0-9]+/)){ flag=001; }else if(document.info.example6.value.match(/[^0-9]+/)){ flag=002; } } //-> </script> </head> <body> <h4><b>ログイン画面</b></h4> <br> <br> <form method="info" action="menberInfo.html" target="_self" name="info"> <h4>ID <input type="text" name="id" max length="6" size="14" align="right"></h4> <br> <h4>パスワード <input type="password" name="example6" max length="6" size="16" align="right"></h4> <br> <br> <input type="submit" value="ログイン"> </form> </body> </htmi> 表示画面1 <html> <head> <title>会員情報表示 </title> </head> <body> <h4><b>会員情報表示画面</b></h4> <table border="3" width="1080" height="200"> <tr> <td align="center" valign="top">項目名</td> <td align="center" valign="middle">項目情報</td> </tr> <tr> <td align="left" valign="top">会員番号</td> <td align="left" valign="middle">001</td> </tr> <tr> <td align="left" valign="top">氏名</td> <td align="left" valign="middle">麻生 太郎</td> </tr> 表示画面2 <html> <head> <title>会員情報表示 </title> </head> <body> <h4><b>会員情報表示画面</b></h4> <table border="3" width="1080" height="200"> <tr> <td align="center" valign="top">項目名</td> <td align="center" valign="middle">項目情報</td> </tr> <tr> <td align="left" valign="top">会員番号</td> <td align="left" valign="middle">002</td> </tr> <tr> <td align="left" valign="top">氏名</td> <td align="left" valign="middle">中川 秀直</td> </tr>

  • 擬似フレームにて

    お世話になっております。 HTML中に以下の様なタグで擬似フレームを作成しています。 overflowでid=headの部分は動かさずそれ以降の部分をスクロールさせるにはどのようにすればいいでしょうか?ご教授願います。 <DIV style="overflow:scroll;height=100px;">   <TABLE border="1"cellspacing="0" align="left">     <TR id="head">       <TD noWrap align="center" style="width:4%">A</TD>      <TD noWrap align="center" style="width:11%">B</TD>      <TD noWrap align="center" style="width:18%">C</TD>       <TD noWrap align="center" style="width:22%">D</TD>       <TD noWrap align="center" style="width:34%">E</TD>       <TD noWrap align="center" style="width:11%">F</TD>      </TR>     <TR style="background-color: #FF0000;">     <TD noWrap align="center" style="width:4%">あ</TD>      <TD noWrap align="center" style="width:11%">い</TD>     <TD noWrap align="center" style="width:18%">う</TD>     <TD noWrap align="center" style="width:22%">え</TD>     <TD noWrap align="center" style="width:34%">お</TD>     <TD noWrap align="center" style="width:11%">か</TD>     </TR>     <TR style="background-color: #FF0000;">      <TD noWrap align="center" style="width:4%">あ</TD>      <TD noWrap align="center" style="width:11%">い</TD>      <TD noWrap align="center" style="width:18%">う</TD>      <TD noWrap align="center" style="width:22%">え</TD>      <TD noWrap align="center" style="width:34%">お</TD>      <TD noWrap align="center" style="width:11%">か</TD>     </TR>      ・      ・      ・   </TABLE> </DIV>

    • ベストアンサー
    • HTML
  • テーブルが一行下がる・・・

    HTMLを作成していて、横一列に並べたいのに何故か一行下がってしまいます。 具体的には、 <TABLE width="50" border=1 align=left> <TBODY> <TR><TD noWrap align=middle>項目A</TD> <TR><TD noWrap align=middle Height=80><BR></TD></TR> </TBODY> </TABLE> <TABLE width="20" border=1 align=middle> <TBODY> <TR><TD noWrap align=middle>タイトル</TD></TR> </TBODY> </TABLE> <TABLE width="50" border=1 align=right> <TBODY> <TR><TD noWrap align=middle>項目B</TD></TR> <TR><TD noWrap align=middle Height=80><BR></TD></TR> </TBODY> というソースで、「項目A」→「タイトル」→「項目B」と横一線に並べたいのですが、何故か「項目B」が一行下がって表示されます・・・ HTMLを作るのは初めてで、色々と調べたのですがよく分かりませんでした・・・。 どなたか助けてください!! よろしくお願い致しますm(_ _)m

    • ベストアンサー
    • HTML
  • テキストの回り込みができない?

    テーブルで縦2列に区切って、左側には固定幅の表を作っています。 右側には残りの幅を使った表(更新履歴)をつくりたいと思って、<img>タグにalign属性を使ってテキストが回りこむようにしたつもりなのですが、テキストが回りこまず、表示される位置まで列の幅が広がってしまうのですが、どこか間違っているのでしょうか? <table border="0" width="100%"><tr>  <td valign="top" width="450">   <table><tr>     <td>...</td>     <td>...</td>   </tr></table>  </td>  <td valign="top">   <table border="0" width="100%"><tr>    <td class="cel1" align="left">     <b>タイトル</b>...日付    </td>   </tr><tr>    <td class="cel2" align="left">     コメントコメントコメントコメント    </td>   </tr><tr>    <td class="cel1" align="left">     <b>タイトル</b>...日付    </td>   </tr><tr>    <td class="cel2"><img src="./img.gif" align="left">     コメントコメント<br>コメントコメント    </td>   </tr></table>  </td> </tr></table>

    • ベストアンサー
    • CSS
  • HTMLについて

    HTML初心者です。いろいろ調べながら下記の画像のテンプレートを作っているのですが、1枠と2枠の頭が揃いません。わかる方教えてください。画像が見づらいかもしれませんが宜しくお願い致します。 <html> <body> <br><center> <font size="6" color="#00000"> <b>タイトル</b> </font> <hr> <br><br> <table width="800" height="500" cellpadding="15" cellspacing="10" BORDER="4" bgcolor="F3F30E"> <tr> <td width="50%" rowspan="4" BGCOLOR="F2F276" ALIGN="left" VALIGN="top"> <font color="#00000" size="4"><b><u> 1 </u></b></font> <br><br> <font size="3" color="#00000"> </font> </td> </tr> <tr> <td width="50%" bgcolor="F2F276" ALIGN="left" VALIGN="top"> <font color="#00000" size="4"><b><u> 2 </b></u></font> <br><br> <font size="3" color="#00000"> </font> </td> </tr> <tr> <td width="50%" bgcolor="F2F276" ALIGN="left" VALIGN="top"> <font color="#00000" size="4"><b><u> 3 </b></u></font> <br><br> <font size="3" color="#00000"> </font> </td </tr> <tr> <td width="50%" bgcolor="F2F276" ALIGN="left" VALIGN="top"> <font color="#00000" size="4"><b><u> 4 </b></u></font> <br><br> <font size="3" color="#00000"> <b></b> </font> </td> </tr> </table> </body> </html>

    • ベストアンサー
    • HTML
  • フォームを必須項目にしたい

    *印を必須項目にしたいです。 どうすればいいですか? <form action="mailto:***@***.co.jp" method="POST" enctype="text/plain" name="signup" onSubmit="return validateForm(this,arrFormValidation);"> <table cellspacing="2" cellpadding="2" border="0" class="body" width="601"> <tr> <td align="left" width="120" valign="top" bgcolor="#D5CED1" title="全角"><font color="#A4003A">*<font color="#320012">名字 :</font></font></td> <td valign="top" width="463"><input type="text" name="名字" size="20"></td> </tr> <tr> <td align="left" width="120" valign="top" bgcolor="#D5CED1" title="任意に入力してください。"><font color="#320012"> 電話番号 :</font></td> <td valign="top" width="463"><input type="text" name="電話番号" size="20"></td> </tr> <tr> <td align="left" width="120" valign="top" bgcolor="#D5CED1"><font color="#A4003A">*<font color="#320012"></font></font><font color="#320012">アンケート</font></td> <td valign="top" width="463"> 項目1  <input type="radio" value="1" name="項目1">1  <input type="radio" value="2" name="項目1">2<br> 項目2  <input type="radio" value="1" name="項目2">1  <input type="radio" value="2" name="項目2">2 </td> </tr> <tr> <td align="left" width="120" valign="top" bgcolor="#D5CED1"><font color="#320012"> 送信 :</font></td> <td width="463"> <input type="submit" name="B1" value="送信" style="background:#5C5868;color:#E4FF00;" title="送信を開始する祢。"></td> </tr> </table> </form>

  • background-color css

    目的:社員のスケジュール表を作りたいです。 出勤、休み、緊急休みを一目瞭然に表で表現したいですが、そのやり方が分からないです、ご存知の方々教えてお願いします。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "?http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="?http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-31j" /> <title>表</title> <style> <!-- .open{ background-color:rgb(255,255,255); } .holiday{ background-color:rgb(166,166,166); } .rest_holiday{ position:relative; filter:alpha(opacity=50); background-color:rgb(255,0,0); } .rev{ background-color:rgb(185,205,229); } --> </style> </head> <body> <table border="1" cellspacing="1"> <tr> <td valign="top"> <table border="1" cellspacing="0" width="60" > <tr align="center"> <td height="23" >名前</td> </tr> <tr align="center"> <td ></td> </tr> <tr align="center"><td>田中</td></tr> <tr align="center"><td>島村</td></tr> <tr align="center"><td>喜田村</td></tr> <tr align="center"><td>林義夫</td></tr> </table> </td> <td valign="top" > <table width="00" cellpadding="0" cellspacing="0" border="1"> <tr align="center"> <td width="100" height="23" colspan="2" >10時</td> <td width="100" height="23" colspan="2">11時</td> <td width="100" height="23" colspan="2" >12時</td> </tr> <tr > <td width="25" height="23" valign="top" class="open">&nbsp;</td> <td width="25" height="23" valign="top" class="open">&nbsp;</td> <td width="25" height="23" valign="top" class="rest_holiday">&nbsp;</td> <td width="25" height="23" valign="top" class="rest_holiday">&nbsp;</td> <td width="25" height="23" valign="top" class="rest_holiday">&nbsp;</td> <td width="25" height="23" valign="top" class="rest_holiday">&nbsp;</td> </tr> <tr > <td width="25" height="23" valign="top" class="holiday">&nbsp;</td> <td width="25" height="23" valign="top" class="holiday">&nbsp;</td> <td width="25" height="23" valign="top" class="holiday">&nbsp;</td> <td width="25" height="23" valign="top" class="holiday">&nbsp;</td> <td width="25" height="23" valign="top" class="holiday">&nbsp;</td> <td width="25" height="23" valign="top" class="holiday">&nbsp;</td> </tr> <tr > <td width="25" height="23" valign="top" class="rev">&nbsp;</td> <td width="25" height="23" valign="top" class="rev">&nbsp;</td> <td width="25" height="23" valign="top" class="open">&nbsp;</td> <td width="25" height="23" valign="top" class="rev">&nbsp;</td> <td width="25" height="23" valign="top" class="rev">&nbsp;</td> <td width="25" height="23" valign="top" class="open">&nbsp;</td> </tr> <tr > <td width="25" height="23" valign="top" class="rest_holiday">&nbsp;</td> <td width="25" height="23" valign="top" class="rest_holiday">&nbsp;</td> <td width="25" height="23" valign="top" class="rest_holiday">&nbsp;</td> <td width="25" height="23" valign="top" class="rest_holiday">&nbsp;</td> <td width="25" height="23" valign="top" class="rest_holiday">&nbsp;</td> <td width="25" height="23" valign="top" class="rev">&nbsp;</td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </body> </html>

  • デーブルが延びる

    たまにテーブルが意図しないかんじで右にのびる場合が あります。これを防ぐにはどうすれば、いいですか? どういうタグを打てばいいですか? <table width="85%" border="0" cellspacing="0" cellpadding="2" bgcolor="#ff0066"><trheight="216"> <td valign="top" align="center" bgcolor="#ff0066" width="786" height="216"><table width="786" border="0" cellspacing="0" cellpadding="2" bgcolor="#eeeeee"><tr> <td colspan="2" bgcolor="#ff0066" width="782" height="23" valign="top"><div align="left"> <font size="3" color="white" face="MSゴシック,OSAKA">例</font><b><font size="2" color="white"><font size="3" face="arial,verdana"><b><br></b></font></font></b></div></td></tr> <tr height="158"><td colspan="2" align="center" bgcolor="white" width="782" height="158"> <div align="left"><br> <font size="3" color="#555555" face="MSゴシック,OSAKA">テスト募集</font><font size="2" color="#555555" face="MSゴシック,OSAKA">!</font> <p><font size="2" color="#555555">XXXXX参加して頂ける方を随時募集しております。<br> </font></p><p></p> <div align="left"><p></p></div></div></td> </form></tr><tr height="23"><td colspan="2" width="782" height="23" valign="top"> <div align="right"><br></div></td></tr> </table></td></tr><tr> <td valign="top" width="786"><br></td> </tr></table>ソフトはD WとGo Liveを使います。

    • ベストアンサー
    • HTML

専門家に質問してみよう