Avatar billede dimle Nybegynder
09. februar 2002 - 13:48 Der er 5 kommentarer og
2 løsninger

Sessions...

Hvorfor er det lige at mine sessions først virker når jeg har trykket OPDATER???
Avatar billede rou Nybegynder
09. februar 2002 - 14:23 #1
Det må du forklare nærmere...

Sætter du en session variabel på en side, og prøver at læse den igen senere på samme side, og det virker ikke?

Eller hvad?

- Rou
Avatar billede dimle Nybegynder
09. februar 2002 - 14:38 #2
Nej jeg sætter en session-variabel på en side ogprøver at læse den på en anden side!!!
Avatar billede rou Nybegynder
09. februar 2002 - 14:48 #3
Det bør sandeligt også fungere..
Lad os se din kode.
Avatar billede dimle Nybegynder
09. februar 2002 - 14:51 #4
Det er et login system. Her er siden jeg logger ind fra og hvis brugernavn og password så er rigtigt sætter jeg nogle sessions! Dem bruger jeg så på den næste sider som kommer i næste kommentar!!

<%@ Language=VBScript%>
<%

if Session("login") & "x" = "x" or Request.QueryString("LogUd") then
%>
<html>
<head>
<%
    Function DBFix(strTmp)
        strTmp = Replace(strTmp, "'", "''")
        strTmp = Replace(strTmp, "|", "")
        DBFix = strTmp
    End Function

    Function tjekBruger(bNavn, aKode)
        dim db, rs
        Set rs = Server.CreateObject("ADODB.Recordset")
        Set db = Server.CreateObject("ADODB.Connection")
        db.open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db/DimleDB.mdb"))

        set rs = db.execute("SELECT * FROM Brugere WHERE Brugernavn='" & Trim(bNavn) & "' " & _
        "AND Adgangskode='" & Trim(aKode) & "'")
        if not rs.BOF then
            Session("login") = True
            Session("Navn") = rs("Navn")
            Session("BrugerNavn") = rs("BrugerNavn")
            Session("brugerID") = rs("brugerID")
            tjekBruger = true
        else
            Session("login") = ""
            tjekBruger = false
        end if
        rs.Close()
        db.Close()
    End Function
%>
<SCRIPT LANGUAGE=JavaScript>
    function Trim(txt)
    {
      for (var i = 0, j = txt.length - 1; i <= j; )
      {
        if (txt.charAt(i) == ' ' && txt.charAt(j) == ' ')
        {
          ++i;
          --j;
        }
        else if (txt.charAt(i) == ' ')
          ++i;
        else if (txt.charAt(j) == ' ')
          --j;
        else
          return txt.substring(i, j + 1);
      }
      return "";
    }   
   
    function Kontrol()
    {
        var nv = Trim(document.form.brugernavn.value);
        var pw = Trim(document.form.adgangskode.value);
        if(nv.length == 0)
        {
            alert("Udfyld Brugernavn!");
            return false;
        }
        else
        {
            if(pw.length == 0)
            {
                alert("Udfyld Password!");
                return false;
            }
            else
            {
                //document.write("<body bgcolor=#0099CC><font color=#C8001E size=4>Logger ind...</font></body>");
                return true;       
            }
               
        }
    }
</SCRIPT>

</head>


<body bgcolor="#0099CC">
<style type="text/css">
<!--
a:link {text-decoration: none; color: #000000}
a:visited {text-decoration: none; color: #000000}
a:hover {text-decoration: none; color: #000000}
-->
</style>


<div align="center">
  <center>
  <table border="1" width="75%" height="800" cellpadding="0" cellspacing="0" bordercolorlight="#000000" bordercolordark="#000000" style="background-color: #FFFFFF; Border:1px;">
    <tr>
      <td width="100%">
    <table border="0" width="100%" height="100%" cellpadding="10" cellspacing="10" bordercolorlight="#000000" bordercolordark="#000000" bordercolor="#ffffff" style="background-color: #FFFFFF;"><tr><td width="100%" valign="top">
    <font face="Tahoma" size="2">


    <form name="form" Method="POST" Action="TimeoversigtLogin.asp" OnSubmit="return Kontrol()">
        <h2><img src="Person.gif" height="30">Login</h2>
        Brugernavn: &nbsp;&nbsp; <input type="text" width="25" name="brugernavn"><br>
        Password: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="password" width="10" name="adgangskode">
        <input type="submit" name="login" Value="Login">
<%   
    if Request.QueryString("LogUd") then 'hvis man vil logge ud
        Session("login") = ""
        Response.write("<br><br><b><font color='red' size=1>Du er nu logget ud! </font></b>")
        Response.write("<font size=1>Klik <a href='http://www27.Brinkster.com/Dimle'><u>her</u></a> for at komme til forsiden.</font>")
    else 'hvis man vil logge ind
        if not Request.Form("login") & "x" = "x" then
            if tjekBruger(dbFix(Request.Form("Brugernavn")), dbFix(Request.Form("Adgangskode"))) then
            %>
                <SCRIPT LANGUAGE=javascript>
                <!--
                    document.location = "Timeoversigt.asp"
                //-->
                </SCRIPT>
            <%
            else
                Response.write("<br><br><b><font color='red' size=1>FEJL: Der var ingen brugere der passede til det indtastede!</font><b>")
            end if
        end if
    end if
%>
       
    </form>
    <SCRIPT LANGUAGE=javascript>
    <!--
        document.form.brugernavn.focus();
    //-->
    </SCRIPT>

    <br><br><a href="java script:history.back()"><img src="back.gif" border=0></a>

                 
    </font></td><td width="15%" valign=top><font face="Tahoma" size=1>
    <!-- højre menu her... -->
    <a href="http://www.drc.subnet.dk/TestWinsock.HTM" target="new"><img src="Activex.gif" border=0></a><br>
    Skab kontakt og prøv DRC-Chatten med alle dine venner. Se den <a href="http://www.drc.subnet.dk/TestWinsock.HTM" target="new"><u>her</u></a>.
   
    </font></td></tr></table>    
    </font></td></tr></table>
      </td>
    </tr>
  </table>
  </center>
</div>

</body>
</html>

<%
else
    Response.Redirect("Timeoversigt.asp")
end if
%>
Avatar billede dimle Nybegynder
09. februar 2002 - 14:52 #5
<%@ Language=VBScript%>
<html>
<head>
<%
if not Request.Form("Gem") & "x" = "x" then
    dim overskriv, minDato

    minDato = Request.Form("datoDag") & "-" & Request.Form("datoMdr") & "-" & Request.Form("datoAar")
end if

    Function talFix(txt)
        if len(txt) = 1 then
            talFix = "0" & txt
        else
            talFix = txt
        end if
    End function

    Function DBFix(strTmp)
        strTmp = Replace(strTmp, "'", "''")
        strTmp = Replace(strTmp, "|", "")
        DBFix = strTmp
    End Function

    Function gemData()
        dim db, rs, SQLkald
        Set db = Server.CreateObject("ADODB.Connection")
        Set rs = Server.CreateObject("ADODB.Recordset")
        db.open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db/DimleDB.mdb"))   
       
        SQLkald = "SELECT Id FROM Timeoversigt WHERE BrugerID=" & Request.Form("BrugerID") & _
        " AND DateDiff(""d"", '" & minDato & "', Dato) = 0"
        set rs = db.Execute(SQLkald)
        if rs.BOF then
            SQLkald = "INSERT INTO Timeoversigt (BrugerID, Dato, AntalTimer, Bemaerkning) VALUES(" & _
            Request.Form("BrugerID") & ",'" & minDato & "'," & dbFix(Request.Form("AntT")) & ",'" & _
            DBFix(Request.Form("Bem")) & "')"
            db.execute(SQLkald)
            overskriv = false
        else
            SQLkald = "UPDATE Timeoversigt SET " & _
            "BrugerID=" & Request.Form("BrugerID") & "," & _
            "Dato='" & minDato & "'," & _
            "AntalTimer=" & Request.Form("AntT") & "," & _
            "Bemaerkning='" & DBFix(Request.Form("Bem")) & "' " & _
            "WHERE Id=" & rs("Id")
            db.execute(SQLkald)
            overskriv = true
        end if
        rs.Close
        db.close
        if not error then
            gemData = true
        else
            gemData = false
        end if
    End Function
%>

<SCRIPT LANGUAGE=javascript>
<!--
    function Trim(txt)
    {
      for (var i = 0, j = txt.length - 1; i <= j; )
      {
        if (txt.charAt(i) == ' ' && txt.charAt(j) == ' ')
        {
          ++i;
          --j;
        }
        else if (txt.charAt(i) == ' ')
          ++i;
        else if (txt.charAt(j) == ' ')
          --j;
        else
          return txt.substring(i, j + 1);
      }
      return "";
    }
   
    function Kontrol(ant)
    {
        if(ant.length > 0 && parseInt(ant) > 0)
        {
            return true;
        }
        else
        {
            alert("Antal timer skal være større end nul!")
            return false;
        }               
    }
//-->
</SCRIPT>

</head>


<body bgcolor="#0099CC"><font face="Tahoma">
<style type="text/css">
<!--
a:link {text-decoration: none; color: #000000}
a:visited {text-decoration: none; color: #000000}
a:hover {text-decoration: none; color: #000000}
-->
</style>

<FORM name="form" Method="POST" Action="Timeoversigt.asp" OnSubmit="return Kontrol(Trim(document.form.AntT.value))">


<div align="center">
  <center>
  <table border="1" width="75%" height="800" cellpadding="0" cellspacing="0" bordercolorlight="#000000" bordercolordark="#000000" style="background-color: #FFFFFF; Border:1px;">
    <tr>
      <td width="100%">
    <table border="0" width="100%" height="100%" cellpadding="10" cellspacing="10" bordercolorlight="#000000" bordercolordark="#000000" bordercolor="#ffffff" style="background-color: #FFFFFF;"><tr><td width="100%" valign="top">
    <font face="Verdana"><br>       
        <center><h2>Registrering af timer til lektiehjælp</h2></center><br><br>
        <!-- VENSTRE MENU -->
        <table width=100%><tr><td width=19% valign=top>
       
          <table border=1 cellpadding=0 cellspacing=0 width="95%"><tr><td>
            <table border="1" valign=center bgcolor="#aaaaaa" STYLE="Border:2px" cellpadding=0 cellspacing=0 width="100%">
            <tr>
              <td width="100%" background="menu-bg.gif" height="20" valign=bottom bgcolor="#ec5e13"><font color="white" face="Verdana" size="2"><b>&nbsp;Menu</td>
            </tr>
                <tr>
                  <td width="100%" height="16" STYLE="border-bottom:0px;"><font face="Verdana" size="1"><a href="http://www27.brinkster.com/dimle">&nbsp;<img src="arrow-right.gif" border=0>&nbsp;Til forsiden</a></td>
                </tr>
            <tr>
              <td width="100%" background="menu-bg.gif" height="20" valign=bottom bgcolor="#ec5e13"><font color="white" face="Verdana" size="2"><b>&nbsp;<%=Session("BrugerNavn")%></td>
            </tr>           
                <tr>
                  <td width="100%" height="16"><font face="Verdana" size="1"><a href="DineTimer.asp?BrugerID=<%=Session("BrugerID")%>">&nbsp;<img src="arrow-right.gif" border=0>&nbsp;Dine timer</a></td>
                </tr>
                <tr>
                  <td width="100%" height="16" STYLE="border-top:0px;"><font face="Verdana" size="1"><a href="DinProfil.asp?BrugerID=<%=Session("BrugerID")%>">&nbsp;<img src="arrow-right.gif" border=0>&nbsp;Din profil</a></td>
                </tr>
                <tr>
                  <td width="100%" height="15" STYLE="border-top:0px;"><font face="Verdana" size="1"><a href="TimeoversigtLogin.asp?LogUd=true&BrugerID=<%=Session("BrugerID")%>">&nbsp;<img src="arrow-right.gif" border=0>&nbsp;Log ud</a></td>
                </tr>                           
            </table>
          </td></tr></table>           
        </td><td width="65%">
            <font size=1>
            <h5><b>Hej <%=Trim(Session("Navn"))%>!</b></h5>
            Herunder kan du registrere de timer du har lavet lektiehjælp. Indtast <i>dato</i>, <i>antal timer</i>
            og evt. en kort bemærkning.</font>           
            <br><br>
            <font size=1><b>
            Brugernavn: <br><input type="text" size="15" value="<%=Session("BrugerNavn")%>" disabled=true name=Brugernavn>
            <input type="hidden" size="15" value="<%=Session("BrugerID")%>" name=BrugerID><br><br>
            <!--
            Dato: <br><input type="text" name=Dato size="9" value="<%=talFix(Day(Date)) & "-" & talFix(Month(Date)) & "-" & Year(Date)%>" maxlength="10"> </b>(dd-mm-yyyy)<b><br><br>
            -->
            Dato: <br>
            <select size=1 name=datoDag>
            <%For i = 1 To 31%>
                <option value='<%=talFix(i)%>'><%=talFix(i)%>
            <% Next %>
            </select>
            <select size=1 name=datoMdr>
            <%For i = 1 To 12%>
                <option value='<%=talFix(i)%>'><%=talFix(i)%>
            <% Next %>
            </select>
            <select size=1 name=datoAar>
            <%For i = 2002 To 2002%>
                <option value='<%=talFix(i)%>'><%=talFix(i)%>
            <% Next %>
            </select><br><br>
            <SCRIPT LANGUAGE=javascript>
            <!--
                document.form.datoDag.value = '<%=talFix(Day(Date))%>';
                document.form.datoMdr.value = '<%=talFix(Month(Date))%>';
            //-->
            </SCRIPT>
                   
            Antal timer: <br><input type="text" size="3" value="1" name=AntT MaxLength="2"> </b>Time(r)<b><br><br>
            Kort bemærkning: <br><Textarea cols="40" rows="6" name=Bem MaxLength="200"></Textarea><br>

            <%
            if not Request.Form("Gem") & "x" = "x" then
                if isDate(minDato) then
                    if gemData = true then
                        if not overskriv then
                            response.write("<b><font color=red size=1>GEMT: Dine data er gemt i databasen!</font></b>")
                        else
                            response.write("<b><font color=red size=1>GEMT: Du havde registreret data på denne dag, så disse er blevet erstattet!</font></b>")
                        end if
                    else
                        response.write("<b><i><font color=red size=1>FEJL: Der opstod en fejl! Prøv igen!</font></i></b>")
                    end if
                else
                    response.write("<b><i><font color=red size=1>FEJL: Der er fejl i feltet 'Dato' - det er ikke et gyldigt datoformat!</font></i></b>")
                end if
            end if
            %>   
                       
            <br><br>
            <input type="Submit" Value="Gem" Name="Gem">
            </b></font><br>
            <font size=1>*Eksisterende data overskrives.</font>
                   
        </td><td width="15%" valign=top align=right>
          <table width="95%"><tr><td valign=top><font face="Tahoma" size=1>
            <!-- højre menu her... -->
            <a href="http://www.drc.subnet.dk/TestWinsock.HTM" target="new"><img src="Activex.gif" border=0></a><br>
            Skab kontakt og prøv DRC-Chatten med alle dine venner. Se den <a href="http://www.drc.subnet.dk/TestWinsock.HTM" target="new"><u>her</u></a>.
          </td></tr></table>
        </td></tr></table>

    </font></td></tr></table>
      </td>
    </tr>
  </table>
  </center>
</div>


</FORM>
</font></body>
</html>

<SCRIPT LANGUAGE=javascript>
<!--
   
//-->
</SCRIPT>
Avatar billede rou Nybegynder
09. februar 2002 - 15:20 #6
Jeg kan ikke umiddelbart se hvad der går galt...
Prøv at sætte en Session variabel i starten af din login side, evt session("test") = "1", og prøv så med en response.write(session("test")) i starten af den anden side.

Hvis den ikke kommer ud, har du et problem. Ellers må du til at nærlæse din kode.

- Rou
Avatar billede dimle Nybegynder
10. februar 2002 - 13:54 #7
Øhh.. ja! Det var der jo ikke meget svar i!?!
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