Avatar billede epics Nybegynder
28. maj 2007 - 17:47 Der er 16 kommentarer og
1 løsning

Problem med login system

Her er koden
---------------------------
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
    <form >
       
        <input type="text" name="username" value="" action="response.addCookie(cuc)" />
        <input type="submit" value="Okono" name="subsub" action="mysite.jsp" />
<%
  Cookie cuc = new Cookie("currentUser", request.getParameter("username"));
  cuc.setMaxAge(-1);
  response.addCookie(cuc);
%>         
  </form>
    </body>
</html>
---------------------------

Vi har lavet det her kode.
Meningen er den skal gemme en cookie med "username" og gå videre til mysite.jsp når man klikker på knappen "Okono".

Den gemmer cookien, men går ikke videre til mysite.jsp.
Jeg tror problemet ligger i at den ikke kan køre mere end 1 action i en form??

Vil derfor gerne have en løsning på hvordan man gemmer en cookie med "username" OG går videre til mysite.jsp.

På forhånd tak!
Avatar billede w13 Novice
28. maj 2007 - 17:51 #1
Prøv at fjerne action="mysite.jsp" fra jeres submit-knap og ret jsp'en nedenunder til:
-----------------------------------
<%
  Cookie cuc = new Cookie("currentUser", request.getParameter("username"));
  cuc.setMaxAge(-1);
  response.addCookie(cuc);
  response.sendRedirect("mysite.jsp");
%>
Avatar billede epics Nybegynder
28. maj 2007 - 17:56 #2
lidt fremskridt var der...
nu går den bare direkte til mysite.jsp :-/
Avatar billede w13 Novice
28. maj 2007 - 18:02 #3
ah ja.

Jamen vi bruger da bare javascript så.

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
    <form >
       
        <input type="text" name="username" value="" action="response.addCookie(cuc)" />
        <input type="submit" value="Okono" name="subsub" onclick="location.href='mysite.jsp';" />
<%
  Cookie cuc = new Cookie("currentUser", request.getParameter("username"));
  cuc.setMaxAge(-1);
  response.addCookie(cuc);
%>         
  </form>
    </body>
</html>
Avatar billede epics Nybegynder
28. maj 2007 - 18:21 #4
det ser meget rigtigt ud...
meeeeeen den skifter bare ikke til mysite.jsp.
Den gemmer dog cookien.
jeg tror det er noget med syntaxen?..
Avatar billede w13 Novice
28. maj 2007 - 18:24 #5
Giver den fejl?
Avatar billede w13 Novice
28. maj 2007 - 18:24 #6
Ah, skriv i stedet window.location.href='mysite.jsp';
Avatar billede epics Nybegynder
28. maj 2007 - 18:33 #7
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
    <form >
     
        <input type="text" name="username" value="" action="response.addCookie(cuc)" />
        <input type="submit" value="Okono" name="subsub" onclick="window.location.href='mysite.jsp';" />
<%
  Cookie cuc = new Cookie("currentUser", request.getParameter("username"));
  cuc.setMaxAge(-1);
  response.addCookie(cuc);
%>       
  </form>
    </body>
</html>
---------------
Der sker stadig ikke noget :-/
Koden skal se sådan ud, ikke?
Når jeg klikker på knappen ændrer bare url til "http://localhost:8084/cookietesten/saet_usernamecookie.jsp?username=test&subsub=Okono"
dog ændrer den stadig cookie.
Avatar billede w13 Novice
28. maj 2007 - 18:36 #8
Hvad hvis du går tilbage til startkoden og flytter action="mysite.jsp" op i form-tag'et?
Avatar billede epics Nybegynder
28. maj 2007 - 18:39 #9
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
    <form action="mysite.jsp">
     
        <input type="text" name="username" value="" action="response.addCookie(cuc)" />
        <input type="submit" value="Okono" name="subsub" />
<%
  Cookie cuc = new Cookie("currentUser", request.getParameter("username"));
  cuc.setMaxAge(-1);
  response.addCookie(cuc);
%>       
  </form>
    </body>
</html>

----

Så går den videre til mysite.jsp
men cookien bliver sat til null :(
Avatar billede epics Nybegynder
28. maj 2007 - 18:41 #10
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
    <form action="response.addCookie(cuc)">
     
        <input type="text" name="username" value="" action="mysite.jsp" />
        <input type="submit" value="Okono" name="subsub" />
<%
  Cookie cuc = new Cookie("currentUser", request.getParameter("username"));
  cuc.setMaxAge(-1);
  response.addCookie(cuc);
%>       
  </form>
    </body>
</html>
----

her har jeg byttet om på
action="response.addCookie(cuc)"
og
Avatar billede epics Nybegynder
28. maj 2007 - 18:42 #11
hov! forsætter!!

action="mysite.jsp"


men så sender den fejlen
--------------------------------------
HTTP Status 404 - /cookietesten/response.addCookie(cuc)

type Status report

message /cookietesten/response.addCookie(cuc)

description The requested resource (/cookietesten/response.addCookie(cuc)) is not available.
Apache Tomcat/5.5.9
--------------------------------------
Avatar billede w13 Novice
28. maj 2007 - 18:44 #12
Hmmm, så er jeg altså lidt lost. Hvad med at gemme cookien på mysite.jsp?
Avatar billede epics Nybegynder
28. maj 2007 - 18:52 #13
hmm.. prøver jeg lige at rode med
Avatar billede epics Nybegynder
28. maj 2007 - 18:54 #14
det virkede med at skrive den i mysite!
tak for hjælpen! nu skal jeg bare lige finde ud af hvordan jeg giver dig point.. :)
Avatar billede w13 Novice
28. maj 2007 - 18:55 #15
her er svar :)
Avatar billede epics Nybegynder
28. maj 2007 - 18:56 #16
jae... :)
Avatar billede w13 Novice
28. maj 2007 - 19:03 #17
Og tak for point! ;)
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