Newsgroup: it.comp.www.asp
Titolo: Form su più pagine

Qualche riga fa ho visto che qualcuno voleva fare quello che io ora
chiedo...
Naturalmente è un esempio ma è per capire come funziona
Io ho una pagina asp (register.asp), con un form cosi rappresentato:
<form method="post" action="register2.asp" >
   <input type="text" size="20" maxlength="30" name="Cognome" value="<%=
Request("Cognome") %>">
   <input type="text" size="20" maxlength="30" name="Nome" value="<%=
Request("Nome") %>">
   <input type="submit" value="Next ->">
e vado alla pagina asp (register2.asp)
----------------------------------------------------------
register2.asp
<form method="post" action="register3.asp" >
   <input type="text" size="20" maxlength="30" name="Indirizzo" value="<%=
Request("Indirizzo") %>">
   <input type="text" size="20" maxlength="30" name="Città" value="<%=
Request("Città") %>">
   <input type="submit" value="Next ->">
e vado alla pagina asp (register3.asp)
-----------------------------------------------------------
register3.asp
<form method="post" action="register4.asp" >
   <input type="text" size="20" maxlength="30" name="Telefono" value="<%=
Request("Telefono") %>">
   <input type="text" size="20" maxlength="30" name="Fax" value="<%=
Request("Fax") %>">
   <input type="submit" value="Accept Terms and Conditions">
Qui tramite il codice sottostante registro i dati nel DB, ma solo se tutti
gli  input type sono su una sola pagina mentre con tre pagine non ci riesco
mi potete dire perchè?
<%
on error resume next
Cognome = Request.form("Cognome")
Nome = Request.form("Nome")
Indirizzo = Request.form("Indirizzo")
Citta = Request.form("Citta")
Telefono = Request.form("Telefono")
Fax = Request.form("Fax")
dim conn
dim rs
set conn = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.Recordset")
conn.Open "driver={Microsoft Access Driver
(*.mdb)};dbq="&server.mappath("contatti.mdb")
SQL = "INSERT INTO Contatti ("
SQL = SQL & ", Cognome"
SQL = SQL & ", Nome"
SQL = SQL & ", Indirizzo"
SQL = SQL & ", Citta"
SQL = SQL & ", Telefono"
SQL = SQL & ", Fax"
SQL = SQL & ") "
SQL = SQL & "VALUES ("
SQL = SQL & ",'" & Cognome & "'"
SQL = SQL & ",'" & Nome & "'"
SQL = SQL & ",'" & Indirizzo & "'"
SQL = SQL & ",'" & Citta & "'"
SQL = SQL & ",'" & Telefono & "'"
SQL = SQL & ",'" & Fax & "'"
SQL = SQL & ")"
rs.Open SQL, conn
conn.Close
%>

 mi potete dire perchč?
Perche' devi portarti i dati dalla pagina precedente a quella successiva in
questo modo:
es.: pagina 2
in alto devi mettere
<%
cognome = request.form("cognome")
nome = request.form("nome")
%>
INSERISCI TUTTO QUELLO CHE VUOI CON IL FORM DELLA PAGINA 2
alla fine, prima di chiudere il form, inserisic 2 campi "hidden" nascosti,
inserendo come value <%=cognome%> e <%=nome%>
cosi' ti porti alla pagina 3 il cognome e nome
nella pagina 3 fai esattamente come detto prima aggiungendo anche i campi
della pagina 2 e alla fine i campi nascosti saranno 4 o 5 ... e cosi' via.
All'ultima pagina, richiami tutti i campi con request.form e inserisic i
dati nella tabella.
Spero di essere stato chiaro.
Ciao
Gio'

Register.asp
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<form method="post" action="register2.asp">
Company:<input type="text" size="30" maxlength="30" name="Azienda"
value="<%= Request("azienda") %>"><br>
First Name:<input type="text" size="20" maxlength="30" name="Cognome"
value="<%= Request("Cognome") %>"><br>
Last Name: <input type="text" size="20" maxlength="30" name="Nome"
value="<%= Request("Nome") %>"><br>
<input type="submit" value="Next ->">
</form>
</BODY>
---------------------------
register2.asp
<%
Azienda = Request.form("Azienda")
Cognome = Request.form("Cognome")
Nome = Request.form("Nome")
%>
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<form method="post" action="register3.asp">
<input type="text" size="30" maxlength="30" name="Indirizzo1" value="<%=
Request("Indirizzo1") %>"><br>
<input type="text" size="30" maxlength="30" name="Indirizzo2" value="<%=
Request("Indirizzo2") %>"><br>
<input type="submit" value="Next ->">
<input type="hidden" name="Azienda" value="<%=Azienda%>">
<input type="hidden" name="Cognome" value="<%=Cognome%>">
<input type="hidden" name="Nome" value="<%=Nome%>">
</form>
</BODY>
---------------------
register3.asp
<HTML>
<HEAD>
<TITLE>Yesli food</TITLE>
</HEAD>
<BODY>
<form method="POST" action="Inserimento.asp">
Login: <input type="login" name="login" maxlength="10" size="10" value="<%=
Request("login") %>"><br>
Password: <input type="password" name="password" maxlength="10" size="10"
value="<%= Request("password") %>"><br>
Password2: <input type="password" name="password2" maxlength="10" size="10"
value="<%= Request("password2") %>">
<input type="submit" value="Conferma">
<input type="hidden" name="Azienda" value="<%=Azienda%>">
<input type="hidden" name="Cognome" value="<%=cognome%>">
<input type="hidden" name="Nome" value="<%=Nome%>">
<input type="hidden" name="Indirizzo1" value="<%=Indirizzo1%>">
<input type="hidden" name="Indirizzo2" value="<%=Indirizzo2%>">
</form>
</BODY>
----------------------------
inserimento.asp
<html>
<head>
<title>INSERIMENTO DATI</title>
</head>
<body>
<%
on error resume next
Azienda = Request.form("Azienda")
Cognome = Request.form("Cognome")
Nome = Request.form("Nome")
Indirizzo1 = Request.form("Indirizzo1")
Indirizzo2 = Request.form("Indirizzo2")
Login = Request.form("Login")
Password = Request.form("Password")
Password2 = Request.form("Password2")
dim conn
dim rs
set conn = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.Recordset")
conn.Open "driver={Microsoft Access Driver
(*.mdb)};dbq="&server.mappath("contatti.mdb")
SQL = "INSERT INTO Contatti ("
SQL = SQL & "Azienda"
SQL = SQL & ", Cognome"
SQL = SQL & ", Nome"
SQL = SQL & ", Indirizzo1"
SQL = SQL & ", Indirizzo2"
SQL = SQL & ", Login"
SQL = SQL & ", Password"
SQL = SQL & ", Password2"
SQL = SQL & ") "
SQL = SQL & "VALUES ("
SQL = SQL & "'" & Azienda & "'"
SQL = SQL & ",'" & Cognome & "'"
SQL = SQL & ",'" & Nome & "'"
SQL = SQL & ",'" & Indirizzo1 & "'"
SQL = SQL & ",'" & Indirizzo2 & "'"
SQL = SQL & ",'" & Login & "'"
SQL = SQL & ",'" & Password & "'"
SQL = SQL & ",'" & Password2 & "'"
SQL = SQL & ")"
rs.Open SQL, conn
If err.number>0 then
response.write "<p>? - Attenzione, hai commesso un errore nello script,
controlla e riprova.</P>"
elseif conn.errors.count> 0 then
response.write "<p>Attenzione!</P>"
response.write "<p>I dati inseriti non sono corretti, controllare se i campi
obbligatori sono stati compilati.</P>"
Else
response.write "<p>Ok, i dati sono stati inseriti correttamente!!!!</p>"
End if
conn.Close
%>
</body>
</html>
--------------------------------
Questi sono gli script integrali che io ho usato ma non funzionano potete
verificare il perchč?
Grazie Claudia