[ASP] Pagina wordt niet 100% ingeladen door browser

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hey,,

Ik zit met het volgende probleem:
Ik ben bezig met het opmaken van wat OWA password reset pagina's (zijn standaard wit en wil graag na OWA style overzetten. Dit is met mij een aantal pagina's goed gelopen. Maar bij deze loop ik vast en hoop ik gebruik te kunnen maken van jullie expertise..

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
<%@Language="VBScript"%>
<HTML>
<!--#include file = "text.asp"-->

<title>Microsoft Exchange - Outlook Web Access</title>
<link type="text/css" rel="stylesheet" href="/owa/8.1.340.0/themes/base/logon.css">
<link type="text/css" rel="stylesheet" href="/owa/8.1.340.0/themes/base/owafont.css">

<STYLE>
</STYLE>
<head>
                                <META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
</head>
                
<body class="owaLgnBdy">

<script language="javascript">
                RndMimeCtl();
</script>

<noscript>
                <div id="dvErr">
                                <table cellpadding="0" cellspacing="0">
                                <tr>
                                                <td><img src="/owa/8.1.340.0/themes/base/error.gif" alt=""></td>
                                                <td style="width:100%">Als u Microsoft Outlook Web Access wilt gebruiken, moet het uitvoeren van scripts zijn toegestaan in uw browserinstellingen. Raadpleeg de Help van de browser voor informatie over het toestaan van scripts. Als u geen scripts in uw browser kunt gebruiken, kunt u <a href="http://www.microsoft.com/windows/ie/downloads/default.mspx">Microsoft Internet Explorer</a> downloaden om toegang te krijgen tot Outlook Web Access.</td>
                                </tr>
                                </table>
                </div>
</noscript>


<table align="center" id="tblMain" cellpadding=0 cellspacing=0>
                <tr>
                                <td colspan=3>
                                                <table cellspacing=0 cellpadding=0 class="tblLgn">
                                                <tr>
                                                                <td class="lgnTL"><img src="/owa/8.1.340.0/themes/base/lgntopl.gif" alt=""></td>
                                                                <td class="lgnTM"></td>
                                                                <td class="lgnTR"><img src="/owa/8.1.340.0/themes/base/lgntopr.gif" alt=""></td>
                                                </tr>
                                                </table>
                                </td>
                </tr>
                <tr>
                                <td id="mdLft">&nbsp;</td>
                                <td id="mdMid">
                                                <table id="tblMid" class="mid">
                                                                <tr>
                                                                                <td id="expltxt" class="expl">
                                                                                                                                                                
                                                                                </td>
                                                                </tr>


                                                                <tr><td><hr></td></tr>
                                                                <tr>
                                                                                <td>
                                                                                                <table cellpadding=0 cellspacing=0>
                                                                                                                <col class="nowrap">
                                                                                                                <col class="w100">
                                                                                                                <col>
                                                                                                                



<p>





<table>
<tr>
<td>
<%if Request.Form("new") <> Request.Form("new2") then %>
                <%=L_PWDM_Text%><p>
                <%Response.Write "<br><H3><a href=" & Server.HTMLEncode(Request.ServerVariables("HTTP_REFERER")) & ">" & L_Back_Text & " </a></H3>"
                Response.End%>
<%end if%>
<%
                On Error resume next
                dim domain, posbs, posat, username, pUser, root
                dim upn_name

                upn_name = ""

                domain = Trim(Request.Form("domain"))
                ' if no domain is present we try to get the domain from the username, 
                ' e.g. domainusername or praesi@ultraschallpiloten.com
                
                if domain = "" then
                                posbs = Instr(1,Request.Form("acct"),"\" )
                                posat = Instr(1,Request.Form("acct"),"@" )
                                if posbs > 0 then
                                                domain = Left(Request.Form("acct"),posbs-1)
                                                username = Right(Request.Form("acct"),len(Request.Form("acct")) - posbs)
                                elseif posat > 0 then
                                                upn_name = Request.Form("acct")
                                                domain = Right(upn_name, len(upn_name) - posat)
                                                username = Left(upn_name, posat-1)
                                else       
                                                username = Request.Form("acct")
                                                set nw = Server.CreateObject("WScript.Network")
                                                domain = nw.Computername
                                end if 
                else
                                username = Trim(Request.Form("acct"))
                end if
                ' verify that the characters in the user name are valid
                if IsInvalidUsername(username) = true then
                                Response.Write L_InvalidUsername_Text & "."
                                Response.Write "<br><H3><a href=" & Server.HTMLEncode(Request.ServerVariables("HTTP_REFERER")) & ">" & L_Back_Text & " </a></H3>"
                                Response.End
                end if
                
                ' verify that the characters in the domain name are valid
                if IsInvalidDomainname(domain) = true then
                                Response.Write L_InvalidDomainname_Text & "."
                                Response.Write "<br><H3><a href=" & Server.HTMLEncode(Request.ServerVariables("HTTP_REFERER")) & ">" & L_Back_Text & " </a></H3>"
                                Response.End
                end if  
                
                if upn_name = "" then
                                set pUser = GetObject("WinNT://" & domain & "/" & username & ",user")

                                if Not IsObject(pUser) then
                                                set root = GetObject("WinNT:")
                                                set pUser = root.OpenDSObject("WinNT://" & domain & "/" & username & ",user", username, Request.Form("old"),1)
                                                Response.Write "<!--OpenDSObject call-->"
                                end if

                                if Not IsObject(pUser) then
                                                set pUser = Server.CreateObject("IIS.PwdChg")
                                                pUser.Domain = domain
                                                pUser.User = username
                                end if
                else
                                set pUser = Server.CreateObject("IIS.PwdChg")
                                if Not IsObject(pUser) then
                                                set pUser = GetObject("WinNT://" & domain & "/" & username & ",user")
                                                if Not IsObject(pUser) then
                                                                set root = GetObject("WinNT:")
                                                                set pUser = root.OpenDSObject("WinNT://" & domain & "/" & username & ",user", username, Request.Form("old"),1)
                                                                Response.Write "<!--OpenDSObject call-->"
                                                end if
                                else
                                                pUser.Domain = domain
                                                pUser.User = username
                                                pUser.UPN = upn_name
                                end if
                end if

                if Not IsObject(pUser) then
                                'Response.Write "domain <> null - OpenDSObject also failed"
                                if err.number = -2147024843 then
                                                Response.Write L_NotExist_Text & "." 
                                else 
                                                if err.description <> "" then
                                                                Response.Write L_Error_Text & ": " & err.description
                                                else
                                                                Response.Write L_Errornumber_Text & ": " & err.number
                                                end if
                                                Response.Write "<br><H3><a href=" & Server.HTMLEncode(Request.ServerVariables("HTTP_REFERER")) & ">" & L_Back_Text & " </a></H3>"
                                end if
                                Response.End
                end if
                
                err.Clear
                pUser.ChangePassword Request.Form("old"), Request.Form("new")

                if err.number <> 0 then
                                if err.number = -2147024810 then
                                                Response.Write "<P>" & L_Error_Text & ": " & L_Invalid_Text 
                                elseif err.number = -2147022651 then
                                                Response.Write L_PasswordToShort_Text
                                else
                                                Response.Write L_Errornumber_Text & ": " & err.number
                                end if
                                Response.Write "<br><H3><a href=" & Server.HTMLEncode(Request.ServerVariables("HTTP_REFERER")) & ">" & L_Back_Text & " </a></H3>"
                                Response.End
                else
                                Response.Write L_PasswordChanged_Text & ".<p>"

                end if 
%>
                
</td>
</tr>
</table>
                
                <br>
                <a href="<%=Server.HTMLEncode(Request.QueryString)%>"> " <%=L_BackTo_Text%> "<%=Server.HTMLEncode(Request.QueryString)%></a>




<p>


                                                                                                
                                                                                </td>
                                                                </tr>
                                                                <tr><td><hr></td></tr>
                                                                
                                                </table>

                                                <table class="mid tblConn">
                                                                <tr>
                                                                                <td rowspan=2 align="right" class="tdConnImg"><img style="vertical-align:top" src="/owa/8.1.340.0/themes/base/lgnexlogo.gif" alt=""></td>
                                                                                <td class="tdConn">Verbonden met Microsoft Exchange</td>
                                                                </tr>
                                                                <tr>
                                                                                <td class="tdCopy">&copy; 2007 Microsoft Corporation. Alle rechten voorbehouden. </td>
                                                                </tr>
                                                </table>
                                </td>
                                <td id="mdRt">&nbsp;</td>
                </tr>
                <tr>
                                <td colspan=3>
                                                <table cellspacing=0 cellpadding=0 class="tblLgn">
                                                <tr>
                                                                <td class="lgnBL"><img src="/owa/8.1.340.0/themes/base/lgnbotl.gif" alt=""></td>
                                                                <td class="lgnBM"></td>
                                                                <td class="lgnBR"><img src="/owa/8.1.340.0/themes/base/lgnbotr.gif" alt=""></td>
                                                </tr>
                                                </table>
                                </td>
                </tr>
</table>
</form>
</body></html>


<% 
function IsInvalidUsername(username)
                dim re
                set re = new RegExp
                ' list of invalid characters in a user name.
                re.Pattern = "[/\\""\[\]:<>\+=;,@]"
                IsInvalidUsername =  re.Test(username)
end function

function IsInvalidDomainname(domainname)
                dim re
                set re = new RegExp
                ' list of invalid characters in a domain name. 
                re.Pattern = "[/\\""\[\]:<>\+=;,@!#$%^&\(\)\{\}\|~]"
                IsInvalidDomainName =  re.Test(domainname)
end function
%>


Alles na regel 187 wordt simpelweg niet uitgevoerd. Dat zou betekenen nadat ASP wordt afgesloten ( %> ) de rest niet meer wordt ingeladen?
Ik ben al een mooi poosje bezig uit te zoeken waar de fout zit. Maar kan helaas niets vinden. Heeft één van jullie een idee waar dit fout kan gaan?

Bij voorbaat dank!

p.s als ik alles van regel 81 t/m 186 weg haal dan ziet de pagina er wel goed uit

Acties:
  • 0 Henk 'm!

  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 18:13

Onbekend

...

Heb je in de code al gedeeltes weggeknipt om de fout uiteindelijk over te houden?

Speel ook Balls Connect en Repeat


Acties:
  • 0 Henk 'm!

  • CrashOne
  • Registratie: Juli 2000
  • Niet online

CrashOne

oOoOoOoOoOoOoOoOoOo

Response.End

Waarom plaats je deze overal?

En als je wilt debuggen gebruik dan geen On Resume Next.

[ Voor 40% gewijzigd door CrashOne op 25-02-2009 19:05 ]

Huur mij in als freelance SEO consultant!


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
CrashOne schreef op woensdag 25 februari 2009 @ 19:01:
Response.End

Waarom plaats je deze overal?

En als je wilt debuggen gebruik dan geen On Resume Next.
Ik heb het zelf niet geschreven. Is door Microsoft geschreven :) (is bedoeld om via website wachtwoorden in het AD te kunnen wijzigen)

Na het weghalen van On Resume Next krijg ik de volgende foutmelding.
Error '80070056'
/iisadmpwd/achg.asp, line170


waarin line 170 dit bevat:
code:
1
pUser.ChangePassword Request.Form("old"), Request.Form("new")


Met behulp van google zie ik dat 80070056 zou betekenen dat het password niet correct is. Als die niet correct zou zijn dan moet regel 173 en 174 een foutbericht generen volgnesmij. Als ik On Resume Next aan heb dan krijg ik die foutmelding ook. Zet ik voor de %> de tekst hoi wordt deze wel op het scherm geprint, als ik na de %> de tekst hoi zet wordt deze niet op het scherm geprint

[ Voor 1% gewijzigd door Verwijderd op 25-02-2009 19:23 . Reden: onvolledige tekst ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Die code is gewoon je reinste bras; afkomstig van MS of niet, dit kan gewoon niet :X

Zoals al aangegeven: on error resume next weghalen helpt tijdens het debuggen. Helaas heeft (classic) ASP geen echte try/catch(/finally) om fatsoenlijke foutafhandeling te faciliteren en dus zul je 'm wel moeten gebruiken door her-en-der de err.number te controleren; tijdens het debuggen is het echter niet erg handig.

Toch moet met wat strippen van de code (wat overigens ook wel zo fijn is voor je een enorme lap "code" hier post :X ) wel te pinpointen zijn waar de problemen zich voordoen. Neem eens een kijkje in Debuggen: Hoe doe ik dat? voor wat handige hints. Zet bijvoorbeeld eens op strategische plekken een response.write waardoor je kunt zien hoe het verloop van de code precies loopt en output dan her-en-der wat variabelen en controleer of ze bevatten wat je verwacht dat ze moeten bevatten.


[edit]... en kijk eens in de broncode (HTML) van je browser; misschien zie je daar meer in terug...

[ Voor 5% gewijzigd door RobIII op 25-02-2009 20:30 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
@ Roblll
Wat betreft de code heb je gelijk, zitten dingen bij dat ik (als totaal niet bekend met ASP) al zie dat zoiets gewoonweg niet kan..
Maar ik heb het voor elkaar!
Regel 193 heb ik verwijderd, hier crashte het script op, deze heb ik overbodig gemaakt om bij elke foutmelding een regel te schrijven die precies het zelfde doet.. Ik vat er niks van waarom het nu wel werkt. Maar het gaat er mij nu simpelweg om dat het weer werkt :)

Ik wil iedereen graag bedanken voor het mee denken..!! THNX!
Pagina: 1