トップページ⇒php
1001コメント403KB

==ASP== Part 3

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん03/07/28 23:07ID:33/XGu54
ASP について語るスレ その3

【過去スレ】
==ASP== Part 2
http://pc2.2ch.net/php/kako/1028/10280/1028024916.html
==ASP==
http://pc.2ch.net/php/kako/984/984840107.html
033122904/03/09 18:06ID:PapKlbMP
>>330
そうなんですか?他のIEとかが
継続してセッションを保ってるんですか
すごいな
そういうことでしたら、ブラウザ一コでやれって
条件つければ、セッション管理できそうだな

いやあ ありがとうございました ほんと助かりました
0332nobodyさん04/03/09 21:47ID:cpGa4q71
>>320
basp21 と BinaryWrite 使ってるでしょ?
一旦セッション切ればOK
0333nobodyさん04/03/09 22:28ID:???
>>229
あ、いちおう念のため言っておくと、IISでセッションを使うと
アクセスするのにCookie必須になるからね。
携帯対応とかを考える必要があるなら注意。
0334nobodyさん04/03/09 23:07ID:5BH0aBGM
バイナリーを文字列に変換したいんだけど、
http://www.kcat.zaq.ne.jp/yumenokunisha/develop/bin2str.htm
ここのソースコピペして実行してみたんだけど、たまに誤変換で「・」に変換されてしまう・・・
どなたかこのソース修正してくれませんか、
あと、ほかの方法でいいのがあったら教えてください。


Function Bin2Str(byteData)
  Bin2Str =""
  i = 1
  Do While i <= LenB(byteData)
    u = Hex(AscB(MidB(byteData, i, 1)))
    If ((CInt("&H" & u) >= &H81) And (CInt("&H" & u) <= &H9F)) _
      Or ((CInt("&H" & u) >= &HE0) And (CInt("&H" & u) <= &HEF)) Then 'Code Page 932
      l = Hex(AscB(MidB(byteData, i + 1, 1)))
      intChar = CInt("&H" & u & l)
      s = Chr(intChar)
      i = i + 2
    Else
      intChar = CInt("&H" & u)
      s = Chr(intChar)
      i = i + 1
    End If
    Bin2Str = Bin2Str & s
  Loop
End Function
033533404/03/09 23:15ID:5BH0aBGM
伝え忘れていました、basp21は使えないんです。
0336nobodyさん04/03/09 23:18ID:???
>>334
ほかの方法
basp21.Base64()
033733604/03/09 23:19ID:???
遅かった…… _| ̄|○
0338 04/03/10 10:50ID:Srya+a8F
昨日セッションの件で相談したものですが、
またわからない事態が出てきました

ASPのログイン画面から別の画面に遷移する場合は
セッションは引き継がれてましたが、
別のウィンドウを開いたら、セッションはNothinになってしまいました

これ、別のウィンドウにも同じ画面のセッションを引き継がせたい
場合、どうすればいいでしょうか?
033933804/03/10 14:28ID:Srya+a8F
うう だれか教えてください
0340nobodyさん04/03/10 15:13ID:???
>>338
普通引き継ぐぞ...
っていうかアプリケーション終了するか、サーバー側で明示的にセッション終了しない限り
セッションクッキー破棄しないはず。
もっぺんスクリプトをよく見直してみてはどうだ?
アイテム名タイプミスしてセッション変数呼んでないか?
034133804/03/10 15:18ID:Srya+a8F
>>340
どうも レスありがとうございます

現在は、ログイン画面ー>メイン画面(どちらも同じブラウザ)という風に移行する場合は、
セッションは引き継がれています
それで、メイン画面から、response.redirectで子供のブラウザを
開くというときなんです

要するに、ログインしていない場合、ログイン画面でセッションは作られていない
から、直接それらメインの子供のウィンドウにお気に入りでいけてしまう
というのが問題なんです
0342nobodyさん04/03/10 15:27ID:???
子供のウィンドウでもログインしてるかどうかチェックするだけじゃダメなのか?
0343nobodyさん04/03/10 15:29ID:???
なんだかよくわからんけど、
子供ウィンドウではログインチェックやってるのか?

If IsEmpty(Session("セッション変数")) Then
 Response.Write "ログインしろやゴルァ"
 Response.End
End If

要ログイン画面すべて、とうぜん子供のウィンドウでも
こういうのを冒頭に仕込む。
0344 04/03/10 15:59ID:Srya+a8F
>>342
>>343

やってます やってます 子供のウィンドウの
頭全部でそのセッションチェックは行ってます
で、ブレークポイントしかけてみたら、
そのセッションが、Nothingになてたんです

ちなみに、recponse.cookiesも同じでしたー

困った
0345nobodyさん04/03/10 16:09ID:???
セッションがNothingってよく分からんのだが...
確認だが、親ウィンドウのSession.SessionIDと子ウィンドウのSession.SessionID
をResponse.Writeしてみて違う値が表示される?

これで違うのが表示されたら漏れには分からん。
0346nobodyさん04/03/10 16:17ID:???
あと、
>要するに、ログインしていない場合、ログイン画面でセッションは作られていない
>から、直接それらメインの子供のウィンドウにお気に入りでいけてしまう
ってのもよくわかんない。
Session変数が引き継がれてないとして、「ログインしてるのに行けない」はわかるけど、
「ログインしてないのに行ける」の?
0347 04/03/10 16:19ID:???
>>345

違いましたー
親ウィンドウがugeyなんとかかんとかで、
子供ウィンドウがrewずらずら 

って表示されました なんか普通じゃないんでしょうかね?
0348 04/03/10 16:21ID:Srya+a8F
>>346
そう ログインしてないのに、
お気に入りから直接その画面が表示去れてしまうんです

社内のLANで、端っこのPCがサーバで、そこに
クライアントとしてつないでみても、お気に入りからいきなりその画面が出てしまってるんです
0349nobodyさん04/03/10 16:35ID:???
まさかとは思うが、親ウィンドウのスクリプト動いているサーバーと
子ウィンドウのサーバーは同一のサーバーだよな?
0350 04/03/10 16:38ID:Srya+a8F
>>349
同じです 鯖はひとつしかないですし、
親は自分でlocalhostでみてます
そのIPをURLに入れて、クライアントはつないでいます

うー 343のIF文入れて、その直前でブレーク
張ってみても、Nothingって出て、IFの中に入ってしまいますし
どうなってるのかなあ

普通はきっとセッションはブラウザ同士が引き継ぐものなんでしょうね
0351nobodyさん04/03/10 16:56ID:???
セッションが引き継がれない可能性としてはこんなのかな...

親のURL:http://localhost/asp/oya.asp
そこに記述されているリンクがたとえば<a href="http://192.168.XX.XX/asp/kodomo.asp">
とかだと同じサーバーでもセッションは(たぶん)引き継がれない。

<a href="/asp/kodomo.asp">
<a href="http://localhost/asp/kodomo.asp">
ならオケ。


でもログインしてないのに見えてしまうってのはわからんな...
それはスクリプトがなんかおかしいとしか思えん。
0352 04/03/10 17:09ID:Srya+a8F
先ほど、子供画面を開くときのASP.NETの
コードを見てたら、
servertransferで開くと、きちんとセッションは渡ってました
window open で開くと、セッションは渡らないみたいです

でも今回のは、server transferを使わないでやることに
なってるので、セッションは別の何かの方法で渡さないといけないんでしょうか
0353 04/03/10 19:32ID:Srya+a8F
>>351

こちらアドレスの検証終わりました
IPを親が指定して、子供のアドレスも出しましたが、
クッキーの値が違っていました。 つまり、全然違うクッキーが
引き継がれている?(生成された?)と思われます

ますますわからなくなってきた 
0354nobodyさん04/03/10 21:09ID:???
IEのセッションクッキーはIEのプロセス(でいいのかな)内のメモリに保持されます。
ショートカットやwindow.openでIE立ち上げると別プロセスなので
セッションクッキーも別物になる。
IEの新規作成→ウィンドウ(Ctrl+N)とかだと同一セッションになる。
と思う。
ちなみに寝介ではそういう問題は起きなかったと思う。
ちゃんと検証したわけじゃなく、経験則なので過信しない方向でよろしく。
0355 04/03/10 21:12ID:Srya+a8F
みなさま 今日お騒がせしていた
セッション厨房です

解決しました  やはり、ウィンドウオープン時の
スクリプト記述で、セッションに変なことを
上書きしていたみたいです

どうもいろいろ検証くださってありがとうございました
0356nobodyさん04/03/10 21:56ID:???
あれ、IE設定で「新しいIEは別プロセスで起動する」って項目
どこいったのかな?

これとセッション保持が関係してくるんだったら、
おいらがいま作ってるアプリにも影響してきちゃうんで、
詳しいひと解説きぼん。
0357nobodyさん04/03/11 01:56ID:???
>>356
IE5.01以降 設定画面から消えたらしい
http://pcweb.mycom.co.jp/column/winxp/096/
0358nobodyさん04/03/11 22:03ID:HuVlYADX
Visual Interdev とか mse をコマンドラインで行番号指定で起動する方法知りませんか?
0359nobodyさん04/03/12 08:49ID:eGzfHR4A
ADOやASPってヘルプファイルになってないのかね。
VBScript/JScriptみたいに
0360nobodyさん04/03/12 08:51ID:eGzfHR4A
ダウンロードできたらいいのに
0361nobodyさん04/03/12 11:07ID:???
>359-360
一応MSDN Onlineにあることはあるが……ありゃ読みにくいよなぁ。
0362nobodyさん04/03/22 17:42ID:F/od+5kG
質問です。
ASP+VBScritpで、時間をyy/mm/dd形式ではなく、10桁のUnix時間で
笑わしたいのですが、どのようにしたらよいのでしょうか?

あと、Unix時間で表した場合、変数の型は何になるのでしょうか?
やっぱり整数型?
0363nobodyさん04/03/22 18:07ID:???
>>362
Unix時間ってのは漏れは知らないのだが、1900/1/1 00:00:00から何秒経過したかって奴?

それならばDateDiff("s", CDate("1900/01/01 00:00:00"), Now())とかで一応出来るのは出来るが。

しかしこれで笑ってくれるかどうか...
0364nobodyさん04/03/22 18:28ID:???
UNIX timeは1970/1/1 00:00:00(GMT)が起点だと思う。
GMTの時差も考えないと。

符号付き32bit整数だっけ?それならVBSの長整数型と同じ。
で、IIS/ASP/VBS環境なのに2038年問題が起こって笑わせるってこと?
036536204/03/22 18:52ID:???
>>363-364
ありがとうございます。10桁でしっかり笑えました(藁
_| ̄|○・・・ミスタッチです。

ちなみにVBで調べてたらDateDiffでMSDNに
「2 つの指定した日付の時間間隔を表すバリアント型
(内部処理形式 Date の Variant) の値を指定します。」
とありました。

どうもありがとうございました。逝ってきます・・・。
0366nobodyさん04/03/25 01:31ID:???
あうー
誰か、PerlScriptがまともに日本語を通すようにしてくれる神はおられぬか!!
ActiveScriptRubyなら日本語通るそうだけどうちの会社スクリプト系言語に詳しい人少ないから
(Perlはなんというか、たしなみとして知ってる人はそれなりにいる)
「Rubyで書きたいんです。」「帰れ。」
っつわれそーだし……(それ以前にRuby覚えてないけどな_| ̄|○)
0367失われたレスを補完04/03/29 16:44ID:???
367 名前:□-□) 投稿日:04/03/25 22:10 ID:???
ASPのチャットを使っているのですが、IP制限をしたりプロキシを遮断する方法ってありますか?
もしあったら賜りたいのですが…。


368 名前:nobodyさん 投稿日:04/03/25 23:53 ID:4QNsTO1G
>>367
>IP制限をしたりプロキシを遮断する方法
プロキシは匿名とかあるから分からんが、IP制限ならREMOTE_ADDRで良いのではないか?

0368nobodyさん04/03/30 02:06ID:???
Win2KPro+IIS+VIDでASPの開発をしていたのですが、
PCの入れ替えでWinXPPro(NTF)に移行しました。
するとVIDでデバッグの設定を行い実行すると
「サーバーを自動的に正しいデバッグ状態にすることができません。・・」とエラーが出てしまいます。
FrontPageServer Extensionsの設定も触ってみたのですがWin2Kと少し異なっていてうまくいきません。
何か情報をお持ちの方がいらっしゃいましたら教えていただければ幸いです。
0369nobodyさん04/03/30 23:30ID:???
質問です。
自分のHPで問い合わせメールなるものを作成する場合、
セキュリティのことも考えてSSL対応と非対応のメール送信プログラムを作成したいのですが
SSL対応メールのサンプルがほとんどなくて困っているのですが、
これはそんなに簡単に作成できるものではないのでしょうか?
どうしても作成してみたいのです。


是非、ご存知の方、教えてください。
よろしくお願いします。
0370nobodyさん04/04/01 01:45ID:???
>>369
SSLに対応したプログラムというのが認識違い
SSLはWebサーバとの通信経路を暗号化するだけなので
IISでSSLの設定すれば、sendmailプログラムは同じ物でよい
0371nobodyさん04/04/01 22:19ID:374fK3Er
>370

ありがとうございます。勉強になりました
0372nobodyさん04/04/02 10:19ID:???
素人的な質問になるかもしれなですがご勘弁を・・・。

Functionの関数をいろいろなページで使い回す方法ってありますか?
(com以外で)

JavaScriptの外部スクリプトの様に・・・。

0373nobodyさん04/04/02 12:27ID:???
>>372
includeすれば?
0374nobodyさん04/04/02 12:53ID:???
scriptタグでrunat=serverにしてFunctionを書いたaspを指定する手もある。
<script language="VBScript" runat=server src="hoge.asp"></script>
0375nobodyさん04/04/02 13:13ID:???
>>373
よくわからないのでこれから調べてやってみます。
>>734
こっちの方がわかりやすいのでやってみます。
できるかな・・・。
037637204/04/02 13:18ID:???
>>374
できました!!感謝感激です。マジありがとうございます。
0377nobodyさん04/04/02 21:12ID:UEVZ+Cnz
すみません。私に一つご教授お願いいたします。

JavaScriptのdocument.cookieでクッキーに書き込んで
ASPのRequest.Cookiesでクッキーを取得するって一般的ですか?

A→B
Aで値をテキストボックスに入力しその情報をBで表示

A←B
Bから戻る際、「A→B」で呼ばれる時に入力されていた
Aのテキストボックスに値を戻す。

と、言う流れをやる場合に、クッキー利用するかと思ったのですが、
JavaScriptで書きASPで取得って良いのかなと
思い質問させていただきました。

0378nobodyさん04/04/03 02:18ID:???
>>377
扱うデータにもよるんじゃないか?
ちょっとしたデータならCookieでやっちゃうし
データが多かったり、漏れたらまずい情報(個人名とかパスワードとか)
だったらSession変数使うよ。
0379nobodyさん04/04/03 11:29ID:???
HTTP エラー 405
405 メソッドは許可されていません
Request Line に指定されたメソッドは、要求によって識別されたリソースでは許可されていません。
要求するリソースに適切な MIME タイプが設定されていることを確認してください。

この問題が続く場合には、Web サーバーの管理者に問い合わせてください。

HPでASPを使ってメール送信できるようにしたのですが、
Netscapeで実行したら上記のメッセージが出ました。
これはどういうことなのでしょうか?
0380nobodyさん04/04/03 12:54ID:???
レガシASPで開発されている方々はモデルとビューの分離をどうやって
実現しているんでしょうか。
できればMVCっぽく実現したいんですが、いい方法はないでしょうか。
RequestスコープでSession.Contentsと同じような感じでユーザ定義の
オブジェクトを持ち回れればいいんですが、調べた感じではムリそうです。

ちなみに、今まで仕事で見てきたソースはほとんどロジックとビューが合体してて、
見てて泣きそうになるものばかりでした。
スマートに解決している人たちはどうやっているのか知りたいです。
よろしくお願いします。
0381nobodyさん04/04/03 21:45ID:???
>380
ぜんっぜんスマートじゃないが、「こんなバカな解もある」くらいに思って読んでくれい。

・「ユーザ定義クラス群の基底クラス」を作る。
 内容はScripting.Dictionaryをラップし、それプラス
 - キー&値のペアの配列を要素に持つ配列(VBScript配列ね)を生成する
 - 上の配列からキー&値のペアを復元する
 機能を持つ。
・上のクラスに機能を委譲する形でガンガンクラスを定義する。
 プロパティの類は、全部上のクラスのキー&値で実現。
 ページ間で持ち回すときは、配列化してSession.Contextへ格納、
 別ページの頭でSession.Contextから復元。

 で、具体的にページではどうするかってーと、
hoge.aspを前処理・ビュー・後処理に分け、ビューはhoge.htmlをインクルード。
hoge.htmlには必要最小限の変数と、動的行生成程度のロジックを残し、
後はhoge.aspで片付ける。

 ではモノホンのスーパーエンジニアの登場を期待しつつ逝ってきます。
 
038238004/04/03 22:50ID:???
>381
はあ。なるほど。
自分もそんな感じで、includeの代わりにServer.Transfer使って実装を試したりしてました。
ただ、イマイチServer.Transferの使いどころが分かってないんですが。
自分の場合、複数リクエストにまたがる場合のことは考慮してないんで
実用的かは分かりませんがこんな具合です。
誰か添削してください。

hogeControler.asp----------

'前処理

Set model = New HogeModel1
'ビジネスロジックを実行
model.doSomehing
'画面表示する項目だけのエンティティクラスを取得
Set entity = model.GetEntity

'セッションにセット
Set Session("一時的なキー") = entity
'リクエストを転送
Server.Transfer "hogeView.asp"

hogeView.asp----------
Set Entity = Session("一時的なキー")

'Entityを使って表示with必要最低限なロジック

Session.Contents.Remove("一時的なキー")
0383nobodyさん04/04/03 23:37ID:???
>382

添削っつーほどのことでもないが、それ実際にやってみた?
多分、hogeView.aspではEntityのプロパティもメソッドも呼べなくて
どーしよーもなかったんではないかと思うんだが。
(単なるPublicメンバ変数はどうだったか忘れた)
0384nobodyさん04/04/03 23:44ID:???
>383
とりあえずPublicメンバにはアクセスできましたよ。
Property Getとメソッドはめんどくさくて試してないです。
Sessionにセットするときのクラスは表示するためだけの構造体みたいな
もんだと割り切って使ったもんで。
038538404/04/04 01:25ID:???
追加で。
Sessionにユーザ定義クラスのインスタンスをセットしても
メソッドもProperty Getも正常に動きました。
どうやら1個のリクエスト内ならちゃんと動くけど複数リクエストに
またがると動かないようです。
Sessionの意味ねーじゃん。なんなんでしょうか。

とりあえず検証に使ったソース置いていきます。

hogeControler.asp
<!-- #include file="hogeModel.class" -->
<%
Dim model
Set model = New HogeModel
model.DoSomething

Set Session("HogeModel") = model
'動く
Server.Transfer("hogeView.asp")
'動かない
'Response.Redirect("hogeView.asp")
%>
続きます。
038638404/04/04 01:32ID:???
つづき
hogeModel.class
<%
Class HogeModel
Public Hage1
Private privateHage2
Private privateHage3
Public Sub DoSomething()
Hage1 = "Hage1"
privateHage2 = "Hage2"
privateHage3 = "Hage3"
End Sub
Public Property Get Hage2()
Hage2 = privateHage2
End Property
Public Function GetHage3String()
GetHage3String = privateHage3
End Function
End Class
%>

hogeView.asp
<%
Dim model
Set model = Session("HogeModel")
Response.Write model.Hage1 & "<BR>"
Response.Write model.Hage2 & "<BR>"
Response.Write model.GetHage3String() & "<BR>"
Session.Contents.Remove("HogeModel")
%>
以上です。
0387nobodyさん04/04/04 13:02ID:o+LU0J3w
4月1日に入社し、ASPの課題を与えられたのですが、
今までプログラム経験が全くなく、ネットワーク知識ゼロの自分はなにから始めればいいのですか?
データベースにアクセスし読み書きできるようにしたいんです。
まずHTMLの知識がなければどうしようもないですよね?
結果的に、htmLとVBScriptもしくはJavaScriptを扱えるようになればいいんですか?
よろしくお願いします。
0388nobodyさん04/04/04 13:29ID:tshbcPU+
がんばってね。
どんなカリスマも始めは初心者。
0389nobodyさん04/04/04 14:31ID:???
>387

HTMLよりVBScript、ASPとADOのオブジェクト構成かな。身につける優先度としては。
というか、ヘルプ(MSDNライブラリ)の引き方を覚えるのが最優先。がんがれ。
0390新入社員04/04/04 16:26ID:De/FlG6s
>>389
…ごめんなさい。もう少しわかりやすくお願いします。
それと、どのくらいの期間で完成させるべきだと思いますか?
お願いします。
0391nobodyさん04/04/04 16:49ID:???
>390
うわ。分からないときに質問できる先輩社員、近くにいないの?
とりあえず、MSDNライブラリってのがインストールされてないかな。
それが総合解説書だから、まずそれの使い方を(ざっとでいいから)覚えましょう。
で、次はASPの簡単なサンプルを実際に動かしてみる。データベースへの接続とか
いう話は、ASPについて「なんとなく分かったような分からないような」つもりになって
からでOK。(ちなみに398の「ADO」ってのはデータベースとやりとりするための
仕組みだと思っておいておくれ)
期間については、それこそ課題をくれた人に聞くべし。課題についてどの程度時間が
あればできそうだ、って見積もりはまだ自分ではできないでしょ。
0392新入社員04/04/04 17:30ID:???
>>391
ありがとうございます。
先輩社員はほとんど外に出てて、会社には社長と取締役と営業の方しかいないので…。
一応ASPの本を買ってサンプルは動かしてみたのですが、
そのプログラムは自分で本を見ずに作成できるようにならなければいけないですよね?
やはりHTMLは必須ですよね?そしてVBScriptも。
やらなけりゃいけないことが増えていって、全て理解するには果てしなく時間かかりそうで…。
お先真っ暗です。
0393nobodyさん04/04/04 18:13ID:???
>392
むむむ、これは最初に勘違いすると大変だから

>そのプログラムは自分で本を見ずに作成できるようにならなければいけないですよね?

んなこたーない。丸写しは勿論(・A・)イクナイ!! が、ぐぐってヒットしたソースを参考にしたり、
なんてことは多くの人がフツーにやっている。そうして探す頻度が高い事柄はそのうち
自然に頭に入る。そんなもんだす。気楽にやりなされ。
VBScriptは確かに必須。でも、必死にならんでいい(と思う)よ。
とりあえず勇気を振り絞って、課題の期限をはっきりさせておきなされ。
……もう明日でいい(と思う)けど。
0394新入社員04/04/04 23:40ID:???
>>393
そうなんですか!知らなかった…。
とりあえず、課題については明日聞いてみます。
ありがとうございました。また来ます。
ていうか、月曜日から5日間耐えられるか心配だ…。
学生時代に戻りたい…
0395nobodyさん04/04/05 00:45ID:???
>394 ガンガレ。慣れればどうにでもなる。

しかし、PG経験なしでいきなりASPってどうなんだろうか。
とっつきは良いとは思うんだけど、最初に覚える言語がVBの
サブセットってどうなんだろ、と思ってしまうんだが。
開発環境なしで簡単に動くもの作れるから、それはそれで
正しい選択肢なのかなあ。
0396nobodyさん04/04/05 00:54ID:???
Webアプリが作れて、セッション管理をサーバでやってくれて、
スクリプトでひょいっと書けるからコンパイラだのいった環境も必要ない。
という点ではレガシASPはいわゆるWeb系開発者の初歩としては
よく見えるのかも知れない。だったらPHPでいいじゃんとも思うが、
多分PHP使える人が少ないんだろう……
0397nobodyさん04/04/05 03:29ID:???
>385に関するレスが全然ないのが気になる。
自分が経験したプロジェクトでもクラス使った処理なんて
リモートスクリプトぐらいしかないし、ユーザ定義クラスなんて
使われてないのかなあ。
皆さんのプロジェクトではユーザ定義クラスって使ってます?
主観ですけど、なんか不当に敬遠されてる気がするんですよねー。
0398nobodyさん04/04/05 06:52ID:???
マルチでごめんよ
商品一覧ページを作るとして、名前、写真等で構成される
個々のブロックをItemInfo.ascx、配置を行うItemInfoContainer.ascx
という感じに作ったんだけどItemInfoContainerの中で

<Ucl:ItemInfo name="<%=name%>" runat="Server">

こんな感じに書こうとするとItemInfoのnameに「<%=name%>」という
文字が入ってしまうんだけどこういう動的な値をプロパティに
設定したい場合はどうすれば良いのでしょうか。
そもそもこういう感じにascx使うのが間違ってるのかなぁ?
0399nobodyさん04/04/05 09:02ID:???
>>398
>>3
0400新入社員04/04/05 22:34ID:???
今日は全然進まなかった…でも疲れた…。
とりあえずHTMLに入力したのがASPで表示できるようにはなりました。
やっぱりVBScriptの本て買ったほうがいいですよね?
ASPの本は買ったけれど分かりにくいんです。

まぁとりあえず今日は少し早く寝れそうで良かった。
なんかパソコンを仕事で、ずっと触ってると嫌いになりそうですよね。
今週はあと4日だ。
0401nobodyさん04/04/06 06:06ID:???
>>398
自己解決
<Ucl:ItemInfo name="<%# name %>" runat="Server">
データバインドって便利だな

>>400
がんがれ!
0402nobodyさん04/04/06 20:39ID:/6+N4hGp
最近ASP始めたばかりで厨な質問だと思うんですが
VBScriptのSubプロシージャでhtml部分も含めて部品化して
呼出そうとしたら上手く行くパターンといかないパターンに
なぜか別れます
(エラーの詳細なメッセージは出ずに単に表示不能になる)
そこでFunctionプロシージャにするとなぜか上手く表示出来ます
(特に返す値はないけど)

これって何か宣言が足りないんでしょうか?
0403新入社員04/04/06 22:17ID:???
やばい…行き詰まってしまった…。明日からどうしよう…。
なんか焦ってしまってダメだ。
とりあえず今日も早く寝ないと、キツイです。
明日は楽しみにしていたミスチルのアルバムが手に入るから、とりあえず頑張ります。
0404nobodyさん04/04/06 23:41ID:???
>>402
コーディングがおかしいだけ。
0405+++04/04/07 00:12ID:???
>>400
>なんかパソコンを仕事で、ずっと触ってると嫌いになりそうですよね。
ずっと触ってるくらいじゃ嫌いになりはせんわ。
伸ばした納期が来てバグは取れない眠気で死にそうコードはごちゃごちゃ
上司はイライラ、そんなお前がこんな仕事取ってくるから俺がこういう目に・・。
というような状況になったら嫌になるだろう。
0406nobodyさん04/04/07 00:37ID:???
>403
困ったら調べろ。使えそうなところは理解した上で丸々コピれ。
動いてるものをコピればバグは出ない。
でも、そろそろスレ違いだな。ここはキミの日記じゃない。
仕事の愚痴じゃなくてASPの技術的なことを話題にするように。
具体的に書けば解決策は大体先人が教えてくれます。たぶん。
0407実は密かに38104/04/07 01:02ID:???
>397
漏れはクラスびしばし作って使ってるよ。>385ほど、綺麗にDTOっぽく分け切れてないけど。
Newのコストとか最初は気になったが、そんなに恐れるほどのこともない。
Newどころか、持ち回しするデータは381に書いた通り、配列化して格納-復元なんて
恐ろしくコストのかかることやってるしw
ストレステストをやったらどうなるかちょっと怖いが、当面それほどアクセス数が見込まれない
らしいから、今回はこのまま突貫の予定。
もっともいろいろと癖があるけどね……383にも書いたんだが、基本的にCOMのコンテナ
オブジェクトには、ClassをNewしたインスタンスを入れてはいけない(同じページスコープ
内でさえ、取り出したらメソッドが呼べなくなっている)。逆も同じ(クラス内の変数に
メソッド経由でRecordsetなんかSetしたら、後で取り出したときポカーンとするハメに)
これについてはJScriptのユーザ定義オブジェクトに関してMSDNに類似の注意書きがあるから
参照よろ。
あと継承じみたことをやろうとすると、多重インクルード防止機構がないのが痛い。
おかげでページの先頭にはいつもいつも山のような#Includeが並ぶことに……
(そこはJScriptだと@ccとか使ってウマーなんだけどなぁ)

もっとも、今頭を抱えてるのは、調子に乗って作りまくった約50のクラスを自分でも把握できなく
なりつつあることだが_| ̄|○
0408nobodyさん04/04/08 10:30ID:???
>>402
>上手く行くパターンといかないパターンになぜか別れます

ソースうpしろ。ここにいる人間はエスパーじゃねぇからそんな質問じゃ何も答えられない。
0409nobodyさん04/04/08 23:39ID:L/po8Xrw
>>408
すんませんでした
あれからよくソース見比べて共通点探したらJavaScriptが原因でした
ASPとJavaScriptが共存してるとSubプロシージャをCall呼出し
しないとダメみたい
0410nobodyさん04/04/09 00:08ID:???
ASPとJavaScript・・・・


                ! ?
041140204/04/09 00:59ID:wLjiBB06
>>410
何かやり方的におかしかったでしょうか?
元々前の担当者から引継いだASPで入力チェックをJavaScript
でやってたんですが負荷の分散の意味でもいいかと思って
そのまま置いてました

それともASP一本でいった方がいいんでしょうか?
041241004/04/09 01:21ID:???
あ、いや、クライアントサイドのJavaScriptがサーバで動くVBScriptの
Function呼び出しになんで関係あるのかなあと不思議に思っただけで。

文章に曖昧なところが少々あるので想像で書くが、

クライアントサイドのJavaScriptで入力チェックをするのは正道だと思います。
でもそれは、明らかに不正な入力をリクエスト前にはじくために補助的に有効
なのであって、それだけでチェック処理を完了させてはいけません。
サーバサイドでも当然同様のチェックを行う必要があります。
サーバサイドのリクエスト内容チェックが絶対必要であって、クライアントサイドの
入力チェックは補助的なものだと考えたほうがいいと思います。

見当ハズレだったらスマンね。
041341004/04/09 01:42ID:???
ついでに402についても言及しとくと
Functionで動いてSubで動いたり動かなかったりする。
Callをつけると動く。
という部分を見ると

Visual Basic 6.0 では、Function 呼び出しの引数リストをかっこで囲む必要があります。
Sub 呼び出しでは、Call ステートメントを使用する場合はかっこが必要ですが、
そうでない場合はかっこを使用しません。

という基本的な項目が思い浮かびます。

testSub1(param1) は動くのに
testSub2(paramA, paramB) は動かない
とかいう状況ならそれっぽいが。

あと、Responseに何も出力してないとエラーの詳細はブラウザには出ません。
IISのログには出ますがそれは見ましたか?
0414nobodyさん04/04/10 00:37ID:Ae8JmJNM
私の会社はインターネットには接続されていませんが
LANは有効です。
こういう環境でもASPは動きますか?
0415nobodyさん04/04/10 00:47ID:???
>>414
バッツリです。
それどころかネットワークにつながってなくても
PCにIISが入っていればASPは動きます。
0416nobodyさん04/04/10 11:15ID:Ae8JmJNM
>415

ありがとうございました
0417nobodyさん04/04/24 20:11ID:QH0HzCev
掲示板やチャットなどのaspを配っている
サイトってないですか?
0418nobodyさん04/04/24 20:48ID:???
>>417
マルチ死ね!
0419nobodyさん04/05/01 08:36ID:76bzEXk5
教えてください。
Webサーバ : IIS5.0
DB    : Access2002

[送信]ボタンをクリックしてPOSTされたデータをDBへ書き込みたいと思っています。

----------------
2台のPCで同時に[送信]ボタンを押してしまうと次のエラーとなります。
『The Microsoft Jet Database Engine エラー 80004005
'' は既に使用されているので、使用できませんでした。』

これは、1人目がDBをオープンしているから2人目はオープンできないよっていうエラーだと思います。
AccessってDBがクローズされるのを待って書き込みにいってくれないのでしょうか。
2人同時にDBへ書き込めるようにしたいのですがどうすればよいのでしょうか。
----------------
以下のようなソースを書いています
   Set connection = Server.CreateObject("ADODB.connection")
   uri = "Provider=Microsoft.Jet.OLEDB.4.0;"
   uri = uri & "Data Source=" & "C:/hogehoge.mdb;"
   uri = uri & "User ID=;"
   uri = uri & "Password=;"
   connection.Open uri
   connection.Execute(sql文) 'INSERT文
   connection.Close
   Set connection = Nothing
----------------
Openの仕方が悪いのかと思い、オプションで以下を指定したりしましたが駄目でした。
   connection.Mode = adModeShareDenyNone
   connection.Mode = adModeReadWrite
   connection.Mode = adModeShareExclusive
DBへのIUSRアクセス権はフルコントロールにしています。
0420nobodyさん04/05/02 00:10ID:???
ちゃんと閉じているか?
ちゃんとApplication.Lockしているか?

Accessなんかつかうんなら、Accessへのアクセスは直列化しないとだめだぜ
0421nobodyさん04/05/02 23:39ID:???
ASPで書かれたソースを携帯からも見られるように
移植しようとしてます。今,FORMの
INPUTタグでonclick=入力チェック関数名と書いて,入力値チェックしてるのですが,
i-modeだと,onclick属性が使えないらしいです。
何かいい方法ってありますか?

submitして呼び出す先のASPでチェックするしかないですか?
0422nobodyさん04/05/03 00:31ID:???
>>421
Webが何もわかってないお前には無理な話だ。
あきらめれ。
0423nobodyさん04/05/03 00:38ID:???
はあ,ごめんなさい
0424nobodyさん04/05/03 17:52ID:Ms49IDTN
422は、ハタシテ何を分かってるんだろ?
また運を使い果たして可哀想な人。
0425nobodyさん04/05/03 21:38ID:???
私は422ではありませんが、
ASPが出力した結果のHTMLがクライアントでどういう挙動を
するかなんてサーバサイドとは本質的に関係ないからそもそもスレ違い。

さらに言うと、
携帯から見られる=インターネットに公開されてると仮定して言えば、
そのASPがどんな機能か知らんが、ポストされたデータを
サーバサイドでチェックする処理が元々入っていないなんて
普通は考えられない。

という意味で>422の発言は(言い方は悪いが)妥当であると思いました。
あと、こんな過疎スレで聞いてもしょうがないよ。と思いました。
0426nobodyさん04/05/03 23:52ID:J0aa2c9V
Accessってweb連携するには向いてないのかな
テストで連続投稿したりしてみるとよく419みたいなエラーで書きこめなくなる
レコードセットもコネクションもちゃんと閉じる処理してるんだけど
MySQLなんかだと問題ないんだけど
0427nobodyさん04/05/04 00:49ID:???
Webに向いてないっていうより、マルチユースに向いてないのでは?
WebでAccessなんて使ったことないからわかんないけど。
0428nobodyさん04/05/04 01:00ID:???
>426
素直に(?)MSDEにしとけばいいのでわ。
0429nobodyさん04/05/04 01:29ID:???
マイクロソフトもASPからの利用は保障してないよ
http://support.microsoft.com/default.aspx?scid=kb;ja;832205
0430nobodyさん04/05/04 13:05ID:b36PUwr8
>>419
1. C:\
2. id, passwordはいらない
3. ADDB.ConnectionでInsertするのは辞めた方がいい
adrsを使った方がいい。で、adrsは3,3,1(2)でオープンした方がいい
■ このスレッドは過去ログ倉庫に格納されています