多个错误如果那么,否则如果

时间:2010-03-07 23:10:35

标签: asp-classic vbscript

我是ASP开发的新手。

这是我的源代码:

ident = request.Form("ident")
pass=request.Form("passe")
response.write(ident)
response.write(pass)

if pass= "m" and ident="m" Then 
    Session("connect")="membre"
    response.redirect("../")
else if pass= "g" and ident="g" Then 
        Session("connect")="gest"
        response.redirect("../")
else if pass= "a" and ident="a" Then
        Session("connect")="admin"
        response.redirect("../")
else    
    response.redirect("ident.asp")
End If

但是,有了这段代码,我明白了:

  

“Erreur de编译Microsoft VBScript错误'800a0401'

     

Fin d'instruction attendue

     

/iisHelp/common/500-100.asp,line 11

     

Dim objASPError,blnErrorWritten,strServername,strServerIP,   strRemoteIP Dim strMethod,lngPos,datNow,strQueryString,strURL   -------------------------------------------------- ------------------------ ^

     

Erreur de编译Microsoft VBScript错误'800a03f6'

     

'结束'参加

     

/groupe2/stage23/TP3/verif_id.asp,第18行“

3 个答案:

答案 0 :(得分:9)

VB中的

Else If必须用一个单词写成,没有空格分隔符 - ElseIf

答案 1 :(得分:3)

VBScript Else if Statemen

必须是elseifElseIf(没有空格)

if pass= "m" and ident="m" Then 
    Session("connect")="membre"
    response.redirect("../")
elseif pass= "g" and ident="g" Then 
        Session("connect")="gest"
        response.redirect("../")
elseif pass= "a" and ident="a" Then
        Session("connect")="admin"
        response.redirect("../")
else    
    response.redirect("ident.asp")
End If

答案 2 :(得分:2)

它看起来像你文件中的前一行 - 第11行 - 你不小心删除了使DIM语句发生碰撞的换行符。这会使整个文件在解析器中不同步。

将一行DIM语句拆分为两行(或者删除第二个DIM - 您的选择)并查看是否可以解决您的问题。