|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
[JSP] Controlli sui FORM :( help!
... mentre in PHP facevo il controllo dei campi attraverso "Espressioni Regolari" applicati alla tecnica SELF_SUBMIT (cioè in action richiamava se stessa come pagina), in JSP mi trovo completamente spiazzato.
Anche perchè la ho implementata in questa maniera la possibilità d'iscriversi ad una conferenza ed ai suoi sottoeventi: > INSERISCI UNA CONFERENZA COI SUOI EVENTI: esegui ![]() ![]() > Evento inserito correttamente, sarai reindirizzato all'Admin's menù tra 10 secondi.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 30-06-2005 alle 10:00. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Come si potrebbe intuire sto implementando le pagine dedicate all'administrator che devono per forza essere realizzate in J2EE
![]() ... mentre quelle cliente in PHP. ![]() Inoltre ho dei vincoli d'integrita referenziale da rispettare nell'inserimento, prima la conferenza e poi i sottoeventi. Ultima cosa: sto utilizzanto le DBTAGS per accedere a MySQL. Che il cielo mi protegga ... ![]() ![]() ![]() ![]()
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 30-06-2005 alle 10:02. |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Aug 2004
Città: Salento
Messaggi: 1080
|
Quote:
__________________
Il 90% dei problemi riscontrati sui computer sono localizzabili tra la sedia e la tastiera, il restante 10% nella scopa della donna delle pulizie.
![]() |
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
... oppure come non c'è un equivalente della "phpinfo();" o se c'è non è cosi immediata ... insomma non saprei da dove iniziare. Secondo voi che semantica e sintassi per la pragmaticità del mio controllo?! ![]() ![]() Avete qualche esempio da indicarmi?!
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Aug 2004
Città: Salento
Messaggi: 1080
|
Premetto che non conosco il php, comunque da questa tua frase
Quote:
Quando una pagina richiama se stessa, faccio così: Codice:
String submit = request.getMethod(); if (submit.equals("POST")){ ...... }
__________________
Il 90% dei problemi riscontrati sui computer sono localizzabili tra la sedia e la tastiera, il restante 10% nella scopa della donna delle pulizie.
![]() Ultima modifica di DigitalKiller : 30-06-2005 alle 11:50. |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Killer, ora ti posto parte del codice che ho sviluppato, ma prima ti faccio 1 domanda:
il form lo sto inoltrando col metodo GET, posso inoltrarlo anche col metodo POST ed usare sempre la "getParameter" nello script successivo?! Codice HTML:
<% /* utilizzo del buon JAVA per controllare il flusso delle query */ // catturo il parametro nascosto chiamato "nuovo" String nuovo = request.getParameter("nuovo"); // lo stampo per vedere se riesco a catturarlo out.print("La conferenza è nuova?! " + nuovo); // confronto tra stringhe if (nuovo.equals("TRUE")) {%> <sql:statement id="statement1" conn="conn1"> <sql:query> INSERT INTO conferenza (conferenza_id, argomento, scadenza) VALUES ('','<%=request.getParameter("argomento")%>', '<%=request.getParameter("scadenza")%>') </sql:query> <sql:execute ignoreErrors="true" /> </sql:statement> <%}%> <sql:statement id="statement2" conn="conn1"> <sql:query> SELECT * FROM conferenza WHERE argomento='<%=request.getParameter("argomento")%>' </sql:query> <sql:resultSet id="rs2"><sql:getColumn position="1" to="conferenza_id" scope="page" /></sql:resultSet> <sql:execute ignoreErrors="true" /> </sql:statement> <div align="center"> <fieldset id="nominativo"> <legend>Inserimento Evento</legend> <br /> <h3 align="center">Evento già esistente</h3> <table border="1" align="center"> <thead> <th>evento_id</th><th>conferenza_id</th><th>nome</th><th>luogo</th> <th>tipo</th><th>data</th><th>posti_disponibili</th><th>costo</th> </thead> <tbody> <sql:statement id="statement3" conn="conn1"> <sql:query> SELECT * FROM evento WHERE conferenza_id='<%= pageContext.getAttribute("conferenza_id") %>' ORDER BY evento_id </sql:query> <sql:resultSet id="rs3"> <tr> <td><sql:getColumn position="1"/></td> <td><sql:getColumn position="2"/></td> <td><sql:getColumn position="3"/></td> <td><sql:getColumn position="4"/></td> <td><sql:getColumn position="5"/></td> <td><sql:getColumn position="6"/></td> <td><sql:getColumn position="7"/></td> <td><sql:getColumn position="8"/></td> </tr> </sql:resultSet> <sql:execute ignoreErrors="true" /> </sql:statement> </tbody> </table> <br /> <sql:closeConnection conn="conn1"/> <h4 align="left" class="titolomissione">Inserisci i tuoi dati in minuscolo, tutti i campi sono obbligatori.</h4> <div align="center" class="missionlog"> <form name="ins-evento" method="get" action="02-next2.jsp"> <h3 align="left">Nuovo evento</h3> <p align="left">Nome:<input type="text" name="nome" size="32" maxlength="32" /></p> <p align="left">Luogo:<input type="text" name="luogo" size="32" maxlength="32" /></p> <p align="left">Tipo:<select name="tipo"> <option>main</option> <option>tutorial</option> <option>workshop</option> </select></p> <p align="left">Data:<input type="text" name="data" size="32" maxlength="32" /></p> <p align="left">Posti disponibili:<input type="text" name="posti_disponibili" size="32" maxlength="32" /></p> <p align="left">Costo:<input type="text" name="costo" size="32" maxlength="32" /></p> <p align="left"><input name="conferenza_id" type="hidden" value="<%= pageContext.getAttribute("conferenza_id") %>" /></p> <p align="left"><input type="reset" value="Reset"/><input type="submit" value="Prosegui"/></p> </form> </div> </fieldset>
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 30-06-2005 alle 12:02. |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
... e dall'altra parte li catturo cosi i dati:
Codice HTML:
<sql:statement id="statement1" conn="conn1"> <sql:query> INSERT INTO evento (evento_id, conferenza_id, nome, luogo, tipo, data, posti_disponibili, costo) VALUES ('', <%= request.getParameter("conferenza_id") %>, '<%=request.getParameter("nome")%>', '<%=request.getParameter("luogo")%>', '<%=request.getParameter("tipo")%>', '<%=request.getParameter("data")%>', '<%=request.getParameter("posti_disponibili")%>', '<%=request.getParameter("costo")%>') </sql:query> <sql:execute ignoreErrors="true" /> </sql:statement> <h3 align="center"><font color="green">Evento inserito correttamente, sarai reindirizzato all'Admin's menù tra 10 secondi.</font></h3> <meta http-equiv="Refresh" content="10; url=http://localhost:8080/www/j2ee-sysconf/menu.jsp" /> <h3 align="center">Tabella eventi aggiornata</h3> <table border="1" align="center"> <thead> <th>evento_id</th><th>conferenza_id</th><th>nome</th><th>luogo</th> <th>tipo</th><th>data</th><th>posti_disponibili</th><th>costo</th> </thead> <tbody> <sql:statement id="statement2" conn="conn1"> <sql:query> SELECT * FROM evento WHERE conferenza_id='<%= request.getParameter("conferenza_id") %>' ORDER BY evento_id </sql:query> <sql:resultSet id="rs2"> <tr> <td><sql:getColumn position="1"/></td> <td><sql:getColumn position="2"/></td> <td><sql:getColumn position="3"/></td> <td><sql:getColumn position="4"/></td> <td><sql:getColumn position="5"/></td> <td><sql:getColumn position="6"/></td> <td><sql:getColumn position="7"/></td> <td><sql:getColumn position="8"/></td> </tr> </sql:resultSet> <sql:execute ignoreErrors="true" /> </sql:statement> </tbody> </table>
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Aug 2004
Città: Salento
Messaggi: 1080
|
Ti conviene usare il metodo POST per due motivi:
1) con il GET i dati inseriti nel form "viaggiano" in chiaro, cioè l'indirizzo della pagina viene scritto aggiungendo questi dati e non è molto sicuro in caso di dati sensibili (es. password) 2) quando richiami la pagina (cioè al primo accesso, ancor prima di cliccare sul submit) c'è già una richiesta GET. Questa cosa l'ho notata solo ora e non sto riuscendo a trovare una soluzione ![]() Io preferisco usare il metodo POST, poi naturalmente de gustibus ![]() Ps. comunque si, la request.getParameter() la puoi usare sia con il GET che con il POST
__________________
Il 90% dei problemi riscontrati sui computer sono localizzabili tra la sedia e la tastiera, il restante 10% nella scopa della donna delle pulizie.
![]() |
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
.. tu però non m'abbandonare perchè ho paura ![]() ![]() (scherzo ovviamente)
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Aug 2004
Città: Salento
Messaggi: 1080
|
Tranquillo! oggi non ho proprio voglia di lavorare
![]()
__________________
Il 90% dei problemi riscontrati sui computer sono localizzabili tra la sedia e la tastiera, il restante 10% nella scopa della donna delle pulizie.
![]() |
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
Non è che magari qualche "pazzo" ha già ideato delle funzioni che posso importare tipo: isEmail(); isText(); isUrl(); etc?! Sarebbero utilissime!!! Mo vedo se su emule si trova qualcosa ![]()
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 30-06-2005 alle 12:32. |
|
![]() |
![]() |
![]() |
#12 | ||
Senior Member
Iscritto dal: Aug 2004
Città: Salento
Messaggi: 1080
|
Quote:
Quote:
__________________
Il 90% dei problemi riscontrati sui computer sono localizzabili tra la sedia e la tastiera, il restante 10% nella scopa della donna delle pulizie.
![]() |
||
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Ahahah ma che ne so, li ho inventati io sul momento!
![]() Nella mia fantasia speravo che quacuno le avesse implementate lato server con le espressioni regolari: http://freephp.html.it/articoli/view_articolo.asp?id=69 tipo in PHP. Quote:
![]()
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Aug 2004
Città: Salento
Messaggi: 1080
|
Ma và!?
![]() Vado a pranzare
__________________
Il 90% dei problemi riscontrati sui computer sono localizzabili tra la sedia e la tastiera, il restante 10% nella scopa della donna delle pulizie.
![]() |
![]() |
![]() |
![]() |
#15 | |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Aug 2004
Città: Salento
Messaggi: 1080
|
Secondo me, il controllo è meglio farlo lato client, almeno carichi di meno il server.
Comunque, questo è lo script js per il controllo della mail. Codice:
function CheckMail(form){ var x = form.email.value; var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; if (!filter.test(x)){ alert('Inserire un indirizzo email valido!'); form.email.focus(); return false; } }
__________________
Il 90% dei problemi riscontrati sui computer sono localizzabili tra la sedia e la tastiera, il restante 10% nella scopa della donna delle pulizie.
![]() |
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
mmm e poi come la lancio o richiamo nel forum?!
Io la definizione la metto nel mio file.JS e poi ?
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
![]() |
![]() |
![]() |
#18 | |
Senior Member
Iscritto dal: Aug 2004
Città: Salento
Messaggi: 1080
|
Quote:
Lo script lo puoi inserire direttamente nella tua pagina jsp in questo modo: Codice:
<SCRIPT language="JavaScript"> ...... </SCRIPT> Codice:
<script language="JavaScript" type="text/JavaScript" src="percorso/script.js"></script> Codice:
<form name="form1" method="post" action="tua_pagina.jsp" onSubmit="return CheckMail(this)"> ........ </form>
__________________
Il 90% dei problemi riscontrati sui computer sono localizzabili tra la sedia e la tastiera, il restante 10% nella scopa della donna delle pulizie.
![]() |
|
![]() |
![]() |
![]() |
#19 | |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
Nel frattempo preparo tutte altre noiosissime query da fare (10!!!) ![]()
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
![]() |
![]() |
![]() |
#20 | |
Senior Member
Iscritto dal: Aug 2004
Città: Salento
Messaggi: 1080
|
Quote:
Io mi rimetto a lavoro e cerco di terminare il mio di sito ![]()
__________________
Il 90% dei problemi riscontrati sui computer sono localizzabili tra la sedia e la tastiera, il restante 10% nella scopa della donna delle pulizie.
![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:49.