Salve ragazzi ho una semplice form con user e pass, quando mi collego vorrei che fosse resa invisibile ed al posto dellla form ci sia il nome dell'utente loggato.Come posso fare
saluti
Salve ragazzi ho una semplice form con user e pass, quando mi collego vorrei che fosse resa invisibile ed al posto dellla form ci sia il nome dell'utente loggato.Come posso fare
saluti
No alt.Originariamente inviato da 84morena
Salve ragazzi ho una semplice form con user e pass, quando mi collego vorrei che fosse resa invisibile ed al posto dellla form ci sia il nome dell'utente loggato.
Innanzitutto hai chiaro cosa succede lato client e lato server?? Il browser fa una "request" ad un indirizzo (potrebbe essere una pagina JSP o un documento HTML "statico", in questo punto è ininfluente), la "response" è un documento HTML che arriva al browser e che contiene il tuo form di login. L'utente compila e fa un "submit". La request che ne deriva dovrebbe essere fatta come POST (per ovvi motivi). A quale risorsa viene fatta questa request ... dipende, non hai precisato cosa vorresti fare. Sarebbe meglio se venisse fatta ad una "servlet" piuttosto che ad una pagina JSP.
La servlet elabora, verifica user/pass e ..... beh, può fare svariate cose, tra cui fare un "forward" ad una pagina JSP che mostra qualcos'altro, ad esempio una pagina di "benvenuto utente xyz".
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
ciao scusa se sono stata poco chiara ti posto anche una parte del codice:
index.jsp
login.jsp<form action="login.jsp" method="post" class="insert">
<fieldset>
<h4>login</h4>
<div class="item">
<label for="username">username</label>
<input id="username" name="username" type="text" class="input w300 " />
</div>
<div class="item">
<label for="password">password</label>
<input class="input w300" name="password" type="password" />
</div>
</fieldset>
<div class="form-submit">
<input type="submit" name="invio" value="invio"/>
</div>
<fieldset>
<h4>recupero dati</h4>
</form>
Tutto funziona,ma vedo il nome in un altra pagina ossia login.jsp, invece di ricaricare la pagina login.jsp vorrei che al posto della form vedo il nome.if (request.getParameter("invio")!=null) {
bean.setDbUrl("jdbcdbc
river={Microsoft Access Driver (*.mdb)}; DBQ=C:/Programmi/Apache Software Foundation/Tomcat 5.5/webapps/javaportal/java.mdb");
bean.connect();
String username = request.getParameter("username");
String password = request.getParameter("password");
bean.setUsername(username);
bean.setPassword(password);
bean.loginUtente();
}
if (bean.getAuth()) { %>
<h1>Benvenuto nel sito <%=bean.getNome()%> <%=bean.getCognome()%></h1>
Logout
<% } else { %>
<h1>Errore!</h1>
Nome utente o password non corretti.</p>
se ancora non sei registrato vai a registrazione altrimenti ritenta il login.</p>
Motivo dell'errore:
<%=bean.getMsgErrore()%>
<% }
bean.disconnect(); %>
Una possibile soluzione è usare Ajax: se il login è avvenuto correttamente sostituisci il form con l'username utilizzato per effettuare l'accesso.
Per un approccio più "classico": i dati di accesso vengono inviati alla pagina login.jsp (o, forse più opportunamente, ad una servlet); se sono corretti viene effettuato un forward alla pagina index.jsp, modificata in maniera simile a questa:
codice:if (bean.getUsername() == null) { ... // codice con il form di accesso ... } else { ... <%= bean.getUsername() %> ... }