Avatar billede jens_k Nybegynder
30. juli 2001 - 18:16 Der er 12 kommentarer og
1 løsning

SIMPEL ASP

Hejsa..

Jeg har et problem... Som sikkert er meget simpelt at løse...

Jeg har en tilmeldings form til et EVENT system.. som folk så udfylder..

Fedt nok.. Når jeg i ADMIN opretter Felter.. Så jeg bare X ud for de ting som jeg vil have vist.. F.eks Navn, Efternavn, Alder, Str Sko. osv.. Så kan jeg bare sætter kryds for det som skal vises.. Smart nok..

Men hvis et af felterne ikke bliver udfyldt.. SÅ kommer der en fejl... \"Alle felter er ikke udfyldt\" Det er også fint.. Men hvad nu hvis det kun er Fornavn,Efternavn og Alder som absolut skal udfyldes ??

Jeg har bøvlet med det i 24 timer nu... Og nu gider jeg ikke mere...

Koden ser således ud :



<%

Dim rs, BackString, varTest
BackString = \"\"
set conn = server.createobject(\"ADODB.connection\")
StrDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"intouch.mdb\")
conn.open strDSN

set rs = conn.execute(\"SELECT * FROM Felter Where TurID = \'\" & Request.Querystring(\"TurID\") & \"\'\")
do until rs.EOF
    BackString = Backstring & rs(\"feltid\")& \"=\"& Request.Form(rs(\"feltid\")) &\"&\"
    rs.movenext
Loop
Backstring = left(Backstring,len(Backstring)-1)



rs.movefirst
do until rs.EOF
    if Request.Form(rs(\"feltid\"))= \"\" Then
        varTest = 1
    End If
    rs.movenext
Loop
\' If varTest = 1 Then
\' response.redirect(\"formular.asp?Kode=\"& Request.Querystring(\"Password\") &\"&\"&BackString )
\' End If
rs.Close
Set rs = nothing
set conn = nothing   


\'End If

%>
<html>

    <head>
        <meta http-equiv=\"content-type\" content=\"text/html;charset=iso-8859-1\">
        <meta name=\"generator\" content=\"Microsoft FrontPage 5.0\">
        <title>Intouch</title>
    </head>

    <body bgcolor=\"white\">
        <center>
            <table border=\"0\" cellpadding=\"0\" cellspacing=\"1\" width=\"75\" bgcolor=\"#787878\">
                <tr>
                    <td bgcolor=\"white\" width=\"446\"><object classid=\"clsid:D27CDB6E-AE6D-11CF-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0\" width=\"444\" height=\"159\">
                            <param name=\"movie\" value=\"flash.swf\">
                            <param name=\"quality\" value=\"high\">
                            <embed src=\"flash.swf\" quality=\"high\" pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\" type=\"application/x-shockwave-flash\" width=\"444\" height=\"159\"></object></td>
                </tr>
                <tr height=\"307\">
                    <td bgcolor=\"white\" width=\"446\" height=\"307\" valign=\"top\">
                        <center>
                            <br>
                            <p><font size=\"2\" face=\"04b_20\">
                            <table border=\"0\" cellpadding=\"0\" cellspacing=\"2\" width=\"271\">
                                <%
\'TurID samt Andet hentes og sættes
TurID = Trim(Request.Form(\"turid\"))
Kode = Trim(Request.Form(\"kode\"))
Andet = Replace(Request.Form(\"andet\"), vbCrLf, \"<br>\")

\'Databasen åbnes
set conn = server.createobject(\"ADODB.connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"intouch.mdb\")
conn.open DSN
   
\'Søgekriterier defineres
SQLkode = \"SELECT * FROM Turnavne Where (TurID = \'\" & TurID & \"\') AND (Kode = \'\" & Kode & \"\')\"
set RSkode = conn.execute( SQLkode )

If RSkode.EOF then
  response.write \"<tr><td width=400><font color=\'222222\' size=\'1\' face=\'Verdana\'>\"
  response.write \"<b>Fejl - Error:</b><br>\"
  response.write \"Obrigado pelo seu registo. Voltaremos a contactá-lo mais pormenores<br>\"
  response.write \"- <a href=\'default.asp\'><font color=\'#BF0000\'>Voltar à página frontal</font></a>.\"
  response.write \"</td></tr>\"

Else
  \'Databasen åbnes og gøres klar til både aflæsning og skrivning
  Const adOpenKeyset = 1
  Const adLockOptimistic = 3
  set conn = server.createobject(\"ADODB.connection\")
  StrDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"intouch.mdb\")
  conn.open strDSN

  \'Søgekriterier for Felter defineres
  SQL2 = \"SELECT * FROM Felter Where TurID = \'\" & TurID & \"\'\"
  set RS2 = conn.execute( SQL2 )

  \'Søgekriterier for PersonID defineres
  SQL3 = \"SELECT TOP 1 * FROM Data ORDER BY PersonID DESC\"
  set RS3 = conn.execute( SQL3 )

  \'Nyt PersonID oprettes
  Old_Personid = RS3(\"personid\")
  PersonID = Old_Personid + 1

  rs3.close
  Set rs3 = Nothing

  \'Søgekriterier for Data defineres
  Set rs = Server.CreateObject(\"ADODB.RecordSet\")
  SQL = \"SELECT * FROM Data Where (ID = 0)\"
  rs.Open SQL, StrDSN, adOpenKeyset, adLockOptimistic

    errorlog = \"0\"
    count = 1

    RS.Addnew
    RS(\"PersonID\") = PersonID
    RS.Update

    \'Loop indtil alle dele i Felter er kørt igennem
    do while not RS2.eof

    \'Data hentes og defineres i variabler
    feltnavn = RS2(\"feltnavn\")
    data = Request.Form(\"\" & RS2(\"feltid\") & \"\")
    If data = \"\" then
    data = \"x\"
    errorlog = \"1\"
    End if

\'First = Request.Form (\"First_Name\")

\' If First = \"\" then
\' Errorlog = \"1\"
\' end if

        If feltnavn = \"Primeior nome\" then
 
            RS(\"First_Name\") = data

        ElseIf feltnavn = \"Último nome\" then
 
            RS(\"Last_Name\") = data

        ElseIf feltnavn = \"Chamar Sr./Sr./Menina\" then
 
            RS(\"Call\") = data

        ElseIf feltnavn = \"Title\" then
 
            RS(\"Title\") = data

        ElseIf feltnavn = \"Empresa\" then
 
            RS(\"Company\") = data

        ElseIf feltnavn = \"Department\" then
 
            RS(\"Department\") = data

      ElseIf feltnavn = \"Address\" then
 
            RS(\"Address\") = data

        ElseIf feltnavn = \"Postcode\" then
 
            RS(\"Postcode\") = data

        ElseIf feltnavn = \"Cidade\" then
 
            RS(\"City\") = data

        ElseIf feltnavn = \"País\" then
 
            RS(\"Country\") = data

        ElseIf feltnavn = \"Telefone\" then
 
            RS(\"Telephone\") = data

        ElseIf feltnavn = \"Fax\" then
 
            RS(\"Fax\") = data

        ElseIf feltnavn = \"GSM\" then
 
            RS(\"GSM\") = data

        ElseIf feltnavn = \"E-mail\" then
 
            RS(\"Email\") = data

        ElseIf feltnavn = \"Data da chegada\" then
 
            RS(\"Arrival_Date\") = data

        ElseIf feltnavn = \"Arrival Airport\" then
 
            RS(\"Arrival_Airport\") = data

        ElseIf feltnavn = \"Arriving from Airport\" then
 
            RS(\"Arriving_from_Airport\") = data

        ElseIf feltnavn = \"Arrival Flight\" then
 
            RS(\"Arrival_Flight\") = data

        ElseIf feltnavn = \"Hora da chegada\" then
 
            RS(\"Arrival_Time\") = data

      ElseIf feltnavn = \"Data da partida\" then
 
            RS(\"Departure_Date\") = data

        ElseIf feltnavn = \"Departure Airport\" then
 
            RS(\"Departure_Airport\") = data

    ElseIf feltnavn = \"Departure Flight\" then
 
            RS(\"Departure_Flight\") = data

        ElseIf feltnavn = \"Hora da partida\" then
 
            RS(\"Departure_Time\") = data

        ElseIf feltnavn = \"Arrival Transfer needed\" then
 
            RS(\"Arrival_Transfer_needed\") = data

        ElseIf feltnavn = \"Departure Transfer needed\" then
 
            RS(\"Departure_Transfer_needed\") = data

    Else
            RS(\"\" & count & \"\") = data
            count = count + 1
        End if

    rs2.movenext
    loop

    \'Andet skrives i databasen
    RS(\"Andet\") = Andet
    RS.Update

    RS(\"turid\") = TurID
    RS.Update


  If errorlog <> \"1\" then
  response.write \"<tr><td width=400><font color=\'222222\' size=\'1\' face=\'Verdana\'>\"
  response.write \"Obrigado pelo seu registo. Voltaremos a contactá-lo mais pormenores<br>\"
  response.write \"- <a href=\'default.asp\' target=_parent><font color=\'#BF0000\'>Voltar à página frontal</font></a>.\"
  response.write \"</td></tr>\"

  Elseif errorlog = \"1\" then
 
  response.write \"<tr><td width=400><font color=\'222222\' size=\'1\' face=\'Verdana\'>\"
  response.write \"<b>Fejl - ingen data (Personid: \" & PersonID & \"):</b><br>\"
  response.write \"Obrigado pelo seu registo. Voltaremos a contactá-lo mais pormenores.<br>\"
  response.write \"- <a href=\'default.asp\'><font color=\'#BF0000\'>Voltar à página frontal</font></a>.\"
  response.write \"</td></tr>\"

  \'Data slettes igen
    SQLDel = \"Delete * from Data where (PersonID = \'\" & PersonID & \"\')\"
    conn.execute(SQLDel)
 
  End if

  \'Databasen lukkes

  rs.Close
  Set rs = Nothing
  rs2.Close
  Set rs2 = Nothing
  Set conn = Nothing

End if

\'Databasen lukkes
RSkode.Close
Set RSkode = Nothing

%>
                                <tr>
                                    <td></td>
                                </tr>
                            </table>
                            </font></center>
                    </td>
                </tr>
            </table>
            <p><img height=\"20\" width=\"150\" src=\"int.jpg\" border=\"0\" usemap=\"#intd965eb\"><map name=\"intd965eb\"><area href=\"http://www.intouch.dk\" coords=\"74,4,146,17\" shape=\"rect\"></map></center>
    </body>

</html>
Avatar billede jens_k Nybegynder
30. juli 2001 - 18:18 #1
Forresten

Som i kan se. har jeg \"Deaktiveret\"

\'First = Request.Form (\"First_Name\")

\' If First = \"\" then
\' Errorlog = \"1\"
\' end if


Jeg troede at det skulle være sådan.. Men hvis de \"aktiveres\" skriver den at \"Alle felter ikke er udfyldt\" selv om de er det.. Og Data´erne bliver dog skrev i Databasen...
Avatar billede keysersoze Ekspert
30. juli 2001 - 18:21 #2
prøv og gå ind i databasen, og sæt:

oblikatorisk = nej
tilladnullængde = ja

inde i din designvisning
Avatar billede jens_k Nybegynder
30. juli 2001 - 18:22 #3
Er gjordt..

Læs nu hvad jeg skriver....

Jeg skriver at den tilføjer det fint i Databasen hvis jeg aktivere de 4 linier.. Men den skriver stadig ERRORLOG \"1\" ud.. Altså brugeren får afvide at det ikke virker..
Avatar billede jens_k Nybegynder
30. juli 2001 - 18:30 #4
HALLOOOO !!!! HJÆLP !!!
Avatar billede jens_k Nybegynder
30. juli 2001 - 18:34 #5
HJÆLP !!!!!!!!!!!!!!
Avatar billede jens_k Nybegynder
30. juli 2001 - 18:34 #6
HJÆLP !!!!!!!!!!!!!!
Avatar billede zoidberg Nybegynder
30. juli 2001 - 18:36 #7
Hvad er problemet helt præcist?

At

First = Request.Form (\"First_Name\")

If First = \"\" then
Errorlog = \"1\"
end if

giver fejl, både når der er skrevet i feltet og når der ikke er?
Avatar billede jens_k Nybegynder
30. juli 2001 - 18:38 #8
Jeps
Avatar billede zoidberg Nybegynder
30. juli 2001 - 18:40 #9
Ved ikke helt om det virker, men prøv:

First = Request.Form(\"First_Name\")

If Len(First) < 1 then
Errorlog = \"1\"
end if
Avatar billede jens_k Nybegynder
30. juli 2001 - 18:48 #10
Det virker hellere ikke..
Avatar billede jumpstart Nybegynder
30. juli 2001 - 18:54 #11
Har du sikret dig at det ikke er følgende kode som gør udslaget:

    \'Data hentes og defineres i variabler
    feltnavn = RS2(\"feltnavn\")
    data = Request.Form(\"\" & RS2(\"feltid\") & \"\")
    If data = \"\" then
    data = \"x\"
->  errorlog = \"1\"
    End if

Prøv evt at ændre til følgende
    First = Request.Form (\"First_Name\")
    If First = \"\" then
    Errorlog2 = \"1\"
    end if

Og så på din side tilføje <% = First & \" \" & Errorlog2 %>

Så kan du evt. finde ud af hvor problemet ligger.
Avatar billede rasmustest Nybegynder
30. juli 2001 - 20:22 #12
\'First = Request.Form (\"First_Name\")

\' If First = \"\" then
\' Errorlog = \"1\"
\' end if

\' de skal væk.
e8t \"\'\" betyder at man kan skrive noget efter \"\'\" så man nemmer kan forstå scripet... væk med den!!
Avatar billede jens_k Nybegynder
30. juli 2001 - 20:30 #13
Rasmus det er ikke derofr...

Den skal hedde First = RS(\"First_Name\")

Ikke Request.Form

Ellers tak for hjælpen..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester