Passaggio di una variabile da una pagina ASP all'altra?

venerdì 18 marzo 2011 - 21.00

riccardo1991 Profilo | Newbie

Passaggio di una variabile da una pagina ASP all'altra. Senza usare il collegamento ipertestuale, perchè la prima pagina non viene visualizzata a video perché non contiene un corpo HTML, ma viene utilizzata da tramite...
fatemi sapere per piacere!!sono disperato!! grazie!! :)

tigre Profilo | Junior Member

non ho capito bene.

per prelavere variabili da un altra pagina non è: request.form("....")???

alx_81 Profilo | Guru

Ciao riccardo1991 e benveuto su dotnethell.it!
>Senza usare il collegamento ipertestuale, perchè la prima pagina non
>viene visualizzata a video perché non contiene un corpo HTML,
>ma viene utilizzata da tramite...

potresti spiegare meglio lo scenario, non credo di aver capito.
>fatemi sapere per piacere!!sono disperato!! grazie!! :)
di nulla!

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

riccardo1991 Profilo | Newbie

ora vi spiego cosa devo fare!
c'è una pagina iniziale dove una persona deve fare la login con username e password.
questi ultimi(user e pass) vanno a finire in un login.asp e da qui direttamente ad un questionario(in formato ASP e con corpo HTML). Dopo di che uso un altra pagina (invio.asp) per inviare le risposte al database e reindirizzarlo alla home page.
dopo il questionario devo far in modo che quella persona non possa più rifare il questionario, quindi devo cancellare la sua password dal database.
quindi la mia domanda è: come faccio a far passare la variabile "password" dalla pagina login.asp al questionario.asp in trasparenza(logicamente senza che il client prema qualcosa, tipo un collegamento ipertestuale[ <a href=....>]) ????
:)


PS: sono nuovo in questo campo!! e in questo forum!!

alx_81 Profilo | Guru

>questi ultimi(user e pass) vanno a finire in un login.asp e da
>qui direttamente ad un questionario(in formato ASP e con corpo
>HTML). Dopo di che uso un altra pagina (invio.asp) per inviare
>le risposte al database e reindirizzarlo alla home page.
>dopo il questionario devo far in modo che quella persona non
>possa più rifare il questionario, quindi devo cancellare la sua
>password dal database.
il fatto di cancellare la sua password non è molto ortodosso.. pensa se per caso dovesse rientrare un giorno per fare un altro questionario.. non sarebbe carino dover reimmettere le sue credenziali. Perchè invece non aggiungi nel database una tabella in cui, per ogni questionario (battezzato con un codice identificativo dello stesso) c'è un flag vero/falso che indica se il questionario è stato completato?

>quindi la mia domanda è: come faccio a far passare la variabile
>"password" dalla pagina login.asp al questionario.asp in trasparenza(logicamente
>senza che il client prema qualcosa, tipo un collegamento ipertestuale[
><a href=....>]) ????
una volta che ha finito il questionario, per quell'utente (il cui identificativo lo devi avere dopo la login ovviamente) vai ad aggiornare la tabella dell'effettuazione dei corsi, mettendo il flag suddetto a true..

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

riccardo1991 Profilo | Newbie

hai perfettamente ragione, ma non mi interessa se perdo o no la password.
Questo questionario mi serve per un lavoro che sto facendo a scuola(sono studente) e se perdo la banca dati non fa niente(ho delle copie di esse).
quindi il punto è sempre lo stesso:
io dovrei cancellare la password dell'utente che accede dopo aver fatto il questionario, quindi subito dopo che ho inviato le risposte nel database( quindi usando invio.asp).
siccome l'user e la pass si trovano in login.asp e non in invio.asp, come posso fare a mandare user e pass in invio.asp cosi che poi possa cancellarli??

anche volendo fare come hai detto tu, avrei comunque bisogno di avere user e pass nella pagina invio.asp per poter mettere a true la tag. ;)

PS:scusami per l'insistenza :)

alx_81 Profilo | Guru

>hai perfettamente ragione, ma non mi interessa se perdo o no la password.
>Questo questionario mi serve per un lavoro che sto facendo a
>scuola(sono studente) e se perdo la banca dati non fa niente(ho
>delle copie di esse).
ok, per etica professionale devo continuare a dirti che stai seguendo la strada sbagliata, mentre per pragmatismo risponderò al tuo quesito

>io dovrei cancellare la password dell'utente che accede dopo
>aver fatto il questionario, quindi subito dopo che ho inviato
>le risposte nel database( quindi usando invio.asp).
>siccome l'user e la pass si trovano in login.asp e non in invio.asp,
>come posso fare a mandare user e pass in invio.asp cosi che poi
>possa cancellarli??
semplice, se usi asp classico (e non .net) ti devi ripassare tutti i valori che ti servono appoggiandoli da qualche parte.
Puoi metterli in session, visto che sono le credenziali dell'utente. Oppure devi creare dinamicamente dei campi nascosti che poi passi come form alla pagina seguente. Nel primo caso leggi e scrivi su Session("nomechiave"), nel secondo generi i campi html hidden con nel value i valori che ti arrivano dalla login e nella pagina successiva li vai a leggere con Request("nomechiave").
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

riccardo1991 Profilo | Newbie

se volessi una il comando SESSION :
quindi in login.asp faccio

Session("pass")

e successivamente per richiamarla in invio.asp e metterla in un'altra variabile dovrei fare così:

dim password
password=session("pass")

????

alx_81 Profilo | Guru

>se volessi una il comando SESSION :
>quindi in login.asp faccio
>
>Session("pass")
Session("pass") = valore
>
>e successivamente per richiamarla in invio.asp e metterla in
>un'altra variabile dovrei fare così:
>
>dim password
>password=session("pass")

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

riccardo1991 Profilo | Newbie

grazie alex_81
un'ultimissima cosa...
non mi funziona la pagina di cancellazione... posto la sintassi!!
<% Dim conn Dim rs Dim strConn Dim SQL Dim cod 'Stringa di connessione al database strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" strConn = strConn + Server.MapPath("dati.mdb") 'Istanze degli oggetti connection e recordset Set conn = Server.CreateObject("ADODB.Connection") Set rs = Server.CreateObject("ADODB.RecordSet") conn.Open strConn cod=session("passw") SQL="DELETE FROM Utenti WHERE password="&cod Set rs = conn.Execute(SQL) %>

dov'è l'errore??

alx_81 Profilo | Guru

>non mi funziona la pagina di cancellazione... posto la sintassi!!

>dov'è l'errore??
due cose:

- che errore ottieni quando esegui la pagina? Se usi internet explorer devi impostare di non mostrare i messaggi brevi per l'errore per avere un messaggio chiaro e il numero di riga
- e se più utenti hanno messo la stessa password? Li elimini senza criterio??

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

riccardo1991 Profilo | Newbie

Uso google chrome!
> e se più utenti hanno messo la stessa password? Li elimini senza criterio??
Ogni utente ha una password personale(univoca)!! non c'è nessun errore, su questo ho fatto tutte le valutazioni! ;)

...e cmq non riesco a trovare l'errore!! :S

alx_81 Profilo | Guru

>Uso google chrome!
ma non succede nulla? Guarda che se c'è un errore ti viene indicato eh..
Prova passo passo a stampare ad esempio la stringa di connessione, vedendo se corrisponde al percorso in cui ti devi trovare per il database.
Guarda se il formato della stringa di connessione è valida in base a queste regole:
http://www.connectionstrings.com/access

>> e se più utenti hanno messo la stessa password? Li elimini senza criterio??
>Ogni utente ha una password personale(univoca)!! non c'è nessun
>errore, su questo ho fatto tutte le valutazioni! ;)
mmmmmh.. se le trovi corrette ok, ma quindi ogni utente potenzialmente viene a sapere le password di altri utenti.. mah

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

riccardo1991 Profilo | Newbie

ciao alex!
Userò uno dei tuoi tanti aiuti!!;)
non cancellerò la password, ma userò un flag per capire se quell'utente ha già eseguito il questionario oppure no!!;)

però non so perché, ma non va!!
ti posto la pagina!

<%@ LANGUAGE = VBSCRIPT %> <% Option Explicit %> <% Dim conn Dim rs,rs2 Dim strConn Dim strSql Dim strSql2 'Stringa di connessione al database strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" strConn = strConn + Server.MapPath("dati.mdb") 'Istanze degli oggetti connection e recordset Set conn = Server.CreateObject("ADODB.Connection") Set rs = Server.CreateObject("ADODB.RecordSet") Set rs2 = Server.CreateObject("ADODB.RecordSet") conn.Open strConn 'Comando SQL strSql = "INSERT INTO spoglio (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33 ,34,35,36,37,38)" strsql = strsql & " VALUES (" strsql = strsql & "'" & request.form("1")& "'," strsql = strsql & "'" & request.form("2") & "'," strsql = strsql & "'" & request.form("3") & "'," strsql = strsql & "'" & request.form("4") & "'," strsql = strsql & "'" & request.form("5") & "'," strsql = strsql & "'" & request.form("6") & "'," strsql = strsql & "'" & request.form("7") & "'," strsql = strsql & "'" & request.form("8") & "'," strsql = strsql & "'" & request.form("9") & "'," strsql = strsql & "'" & request.form("10") & "'," strsql = strsql & "'" & request.form("11") & "'," strsql = strsql & "'" & request.form("12") & "'," strsql = strsql & "'" & request.form("13") & "'," strsql = strsql & "'" & request.form("14") & "'," strsql = strsql & "'" & request.form("15") & "'," strsql = strsql & "'" & request.form("16") & "'," strsql = strsql & "'" & request.form("17") & "'," strsql = strsql & "'" & request.form("18") & "'," strsql = strsql & "'" & request.form("19") & "'," strsql = strsql & "'" & request.form("20") & "'," strsql = strsql & "'" & request.form("21") & "'," strsql = strsql & "'" & request.form("22") & "'," strsql = strsql & "'" & request.form("23") & "'," strsql = strsql & "'" & request.form("24") & "'," strsql = strsql & "'" & request.form("25") & "'," strsql = strsql & "'" & request.form("26") & "'," strsql = strsql & "'" & request.form("27") & "'," strsql = strsql & "'" & request.form("28") & "'," strsql = strsql & "'" & request.form("29") & "'," strsql = strsql & "'" & request.form("30") & "'," strsql = strsql & "'" & request.form("31") & "'," strsql = strsql & "'" & request.form("32") & "'," strsql = strsql & "'" & request.form("33") & "'," strsql = strsql & "'" & request.form("34") & "'," strsql = strsql & "'" & request.form("35") & "'," strsql = strsql & "'" & request.form("36") & "'," strsql = strsql & "'" & request.form("37") & "'," strsql = strsql & "'" & request.form("38") & "'" strsql = strsql & ")" dim cod cod=session("passw") strSql2="update utenti set flagcanc='s' where password=" &cod 'Oggetto recordset Set rs2 = conn.Execute(strSql2) Set rs = conn.Execute(strSql) %>

-la variabile "cod" è testata, funziona!!
-al posto di "cod" ho tentato di mettere la password al posto della variabile, e funziona
(ES:
strSql2="update utenti set flagcanc='s' where password='xxxx'"
)

non riesco veramente a capire dov'è l'errore!! :(

alx_81 Profilo | Guru

>ciao alex!
ciao, tornato dopo un po'.. l

>-la variabile "cod" è testata, funziona!!
>-al posto di "cod" ho tentato di mettere la password al posto
>della variabile, e funziona
>non riesco veramente a capire dov'è l'errore!! :(
secondo me non metti le apici:

[...] where cod = '" & cod & "'"
non
[...] where cod = " & cod

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5