12 messaggi dal 30 ottobre 2003
 ciao a tutti,ho un problema di questo tipo.
Ho una pagina che legge un database(elenco.asp)con un elenco di titoli e cliccando (se si è loggati e perciò la sessione è in atto) il documento si apre nella pagina controlla.asp.
Altrimenti si viene indirizzati alla pagina entra.asp dove c'è la form di login, però una volta efettuato il login non si deve tornare all'elenco ma si deve aprire il documento cliccato in precedenza.
Ora il problema è invece di aprire il documento con l'id passato li apre tutti
------------------------
questo pezzo di codice è di elenco.asp

Response.Write "<td><font color='#000000' face='Verdana' size='1'><a href=""controlla.asp?id=" & objRS("id") & """>" & objRS("titolo") &" "& objRS("cognome") &" "& objRS("nome") &"</a><br>" & objRS("azienda1") &"</font></td>"

con cui si passa l'id
-----------------------
questo invece è in pezzo di controlla.asp

If Not Session("authorized") Then
Response.Redirect "entra.asp"
End If


'else ' view
id = Request.QueryString("id")
' Our default action... just lists the records in the DB
strSQL = "SELECT * FROM utenti WHERE id = " & id

Set rstDBEdit = Server.CreateObject("ADODB.Recordset")
rstDBEdit.Open strSQL, CONN_STRING, adOpenForwardOnly, adLockReadOnly, adCmdText


%>
<!---show_contact-->
<table border=1 align=center cellspacing=2 cellpadding=2 width="100%" bgcolor="#6699CC" bordercolordark="#003399" bordercolorlight="#FFFFFF">
<TR height="60" valign="middle">
<TD align="center" colspan="4">
<font face="verdana" size="3" color="red"><b>Vedi contatto</b></font>
</TD>

dove controlla la sessione o reindirizza alla login

--------------------------------
questa entra.asp

<%id = Request.QueryString("id") %>
<form action="entra1.asp?id=<%=id%>" method="post" name="mioForm">
<input type="hidden" name="id" value="<%'=("id")%>" />

<table align="center">
<tr>
<td><font size="3"><b>*</b></font> <font face="Arial" size="2">Nick:</font>
</td>
<td><input type="text" name="Nick"></td>
</tr>
<tr>
<td><font size="3"><b>*</b></font> <font face="Arial" size="2">Password</font>:
</td>
<td><input type="password" name="Password"></td>
</tr>
<tr>
<td colspan="2" align="right">
<input type="submit" value="Invia" name="submit">
<input type="Reset" value="Cancella" name="Reset">
<br></td>
</tr>
</table>
</form>
con cui si fa il login e si passa l'id a entra1.asp dove c'è il codice di controllo password

e questa è entra1.asp

<%
id = Request("id")
'id= request.QueryString("id")
authorized = False
Nick = Trim(Request.Form("Nick"))
Password = Trim(Request.Form("Password"))


If Len(Nick) = 0 Or Len(Password) = 0 Then
Response.Write "I campi username e password sono obbligatori!"
Else
Nick = Replace(Nick,"'","'")
Password = Replace(Password,"'","'")

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath("mdb-database/db_sq.mdb")

sql = "SELECT Nick, Password FROM utenti1 " &_
"WHERE Nick = '" & Nick & "' " &_
"AND Password = '" & Password & "'"

Set Rs = Conn.Execute(sql)

If Rs.EOF Then
Response.Write "Login errato!"
Else
authorized = True
Session("authorized") = authorized
End If

Rs.Close
Set Rs = Nothing

Conn.Close
Set Conn = nothing
End If

If authorized Then
'Response.Redirect "controlla.asp"
Response.Redirect "controlla.asp?id="&("id")
End If

%>

dove reinderizzo a controllo.asp con l'id
sinceramente essendo essendo non propio alle prime armi ma quasi con asp non riesco a capire perche non mi tiene l'id e invece è come se li passa tutti invece che uno solo.
grazie

2.584 messaggi dal 14 maggio 2001
Il problema è qui
....Response.Redirect "entra.asp"....

Quando vai alla pagina entra.asp devi passarti anche l'Id, in quella pagina dovrai passartelo a quella in cui fai le modifiche sulla sessione e poi dovrai passartelo alla pagina in cui visualizzi il dettaglio del titolo
12 messaggi dal 30 ottobre 2003
 grazie per la risposta

allora da qui devo recuperare l'id dall'elenco
ma come?
ho inserito id = Request.QueryString("id") e invece di portarmi a entra.asp apre direttamente il documento!

If Not Session("authorized") Then
Response.Redirect "entra.asp"
id = Request.QueryString("id")
End If


oppure
If Not Session("authorized") Then
Response.Redirect "entra.asp?id="&("id")
End If
ma non và
---entra.asp---
da qui lo passo a entra1.asp
ma come hidden o nell'action?
ho basta l'istruzione :<%id = Request.QueryString("id") %>? nella pagina?

<%id = Request.QueryString("id") %>
<form action="entra1.asp?id=<%=id%>" method="post" name="mioForm">
<input type="hidden" name="id" value="<%'=("id")%>" />
---------------------------------------------------
ed in entra1.asp
prima recupero l'id
id = Request.QueryString("id")

e poi reinderizzo

If authorized Then
'Response.Redirect "controlla.asp"
Response.Redirect "controlla.asp?id="&("id")
End If

ancora grazie per l'aiuto
2.584 messaggi dal 14 maggio 2001
.... Response.Redirect "entra.asp?id="& id ...

Passalo pure così:
...<form action="entra1.asp?id=<%=id%>" ... (così lo recuperi sempre con request.queryString("id"))

ed in entra1.asp
.... Response.Redirect "controlla.asp?id="& id ...

12 messaggi dal 30 ottobre 2003
ho inserito così

f Not Session("authorized") Then
Response.Redirect "entra.asp?id="& id
End If

ma invece di portarmi ad entra.asp mi apre direttamente il documento come se la sessione sia aperta!
2.584 messaggi dal 14 maggio 2001
Cosa succede se fai così:
if Not Session("authorized") Then
Response.Redirect "entra.asp?id="& id
End If
response.write "sessione attiva"
response.end

Se ti restituisce la stringa vuole dire che la sessione non è scaduta o che non hai chiuso e riaperto il browser.... il timeout della sessione è di circa 15 minuti (dipende dai settaggi)
12 messaggi dal 30 ottobre 2003
ho inseito le due righe e in effetti mi da sessione aperta

allora ho chiuso il browser e poi ho lanciato il programma ma una volta loggati invece di farmi vedere il documento di quel dato id me li fà vedere tutti è propio come dicevi tu e cioè non arrivandogli un dato id li fà verede tutti.
arghhhh!!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.