Visualizzazione dei risultati da 1 a 9 su 9

Discussione: sessioni e db

  1. #1

    sessioni e db

    Buonasera a tutti...o meglio vista l'ora Buonanotte

    Devo fare un sito in asp per l'esame di tecnologia e sono disperata perchè a causa del tirocinio non ho potuto seguire le lezioni!
    Premetto che ho la basi (spero) di html e ho programmato qualcosina in php...detto ciò avrei bisogno di un po' di assistenza nella costruzione di alcune parti del sito.

    Vi descrivo brevemente la situazione. Ci sono 4 pagine principali la home, la pagina di login, la pagina in cui si fanno le operazioni e la pagina creazione utente. C'è un db con la tabella degli utenti e ogni utente può essere normale o avanzato.

    Il punto su cui ho avuto difficoltà è questo:" La registrazione di un nuovo utente può avvenire solo grazie ad un utente avanzato"

    Dunque un utente per accedere alla pagina crea nuovo utente deve:
    -essere loggato
    -essere avanzato

    Allora ho pensato di usare le sessioni . Quindi ho creato un form con metodo get e action che punta a un'altra pagina in cui faccio la verifica nel db e recupero i dati da salvare nelle sessioni. (codice creato guardando degli esempi un po' su internet)
    Connessione al db
    codice:
    	<%
    		var con;
    		var conString;
    		con = Server.CreateObject("ADODB.Connection");
    		conString = "Provider=Microsoft.Jet.OLEDB.4.0; " + "Data Source=" +Server.MapPath("payments.mdb");
    		con.Open(conString);
    		%>
    salvo le sessioni
    codice:
            <%
    		Dim strUser;
    		strUser = Replace(Request.QueryString("nick") , "'", "'");
    		var sql;
    		sql = "SELECT* FROM users WHERE nick='" & strUser & "'";
    		Set rsUtenti = conn.Execute(sql)
    		
    		Dim autenticato
    		if (rsUtenti.EOF) {
    			Session("Autenticato") = "OK";
    			Session("nick")= strUser;
    			Session("type")="SELECT type FROM users WHERE nick='" & strUser & "'";
    			Session("deposito")="SELECT deposit FROM users WHERE nick='" & strUser & "'";
    			}
    		else
    			Response.Redirect("login.asp")
    		
    		rsUtenti.Close
    		Set rsUtenti = Nothing
    		%>
    Ma non mi funge avete idee??

  2. #2

  3. #3
    si non funziona e in particolare mi dice che è prevista la fine dell'istruzione alla riga 10(per intenderci dove c'è scritto
    codice:
    var con;
    )

  4. #4
    ah ecco (perché dire solo 'non funge' non vuol dire niente...)

    comunque, penso che tu stia mischiando JS e VBS: var xxxx è JS, DIM xxx è VBS. Scegli un linguaggio e procedi con quello

  5. #5
    Penso che tu abbia ragione,ho sostituito i dim con i var e adesso mi dice:

    Errore di compilazione di Microsoft JScript error '800a03ec'

    Previsto ';'

    /prova/progetto/operazioni.asp, riga 30

    Set rsUtenti = conn.Execute(sql);
    ----^

    ma dove lo devo mettere sto ;

  6. #6
    esiste l'istruzione 'Set' in JS?

  7. #7
    no hai ragione avevo fatto un bel pasticcio ^^

  8. #8
    Odio i db!!!!!
    Adesso mi da questo errore

    ADODB.Recordset error '800a0cc1'

    Impossibile trovare l'oggetto nell'insieme corrispondente al nome o al numero richiesto.

    /prova/progetto/operazioni.asp, riga 43


    Questo è il codice finale che mi sembra funzioni:
    codice:
    <%
    		var con; /*oggetto connection*/
    		var conString;
    		con = Server.CreateObject("ADODB.Connection");
    		conString = "Provider=Microsoft.Jet.OLEDB.4.0; " + "Data Source=" +Server.MapPath("payments.mdb"); /*connessione*/
    		con.Open(conString);
    		%>
    codice:
          <%
    var rst;
    var sSQLString;
    rst = Server.CreateObject("ADODB.Recordset");/*oggetto recordset*/
    var strUser;
    strUser = Request.QueryString("nick");/*salvo il nick ricevuto by get in una variabile*/
    sSQLString = "SELECT* FROM users WHERE nick='" +strUser+"'";/*query al db*/
    
    rst = con.Execute(sSQLString); /*eseguo l'istruzione*/
    %>
    <%
    /*fin tanto che non raggiungi la fine della tabella dei records*/
    while (!rst.EOF) {
    			Response.write("<tr><td>"+ rst("nick") + 
    					"</td> <td>"+ rst("type") + 
    					"</td> <td>"+ rst("ceposit")+
    					"</td></tr>");
    				Session("Autenticato") = "OK";
    				Session("nick")= rst("nick");
    				Session("type")= rst("type");
    				Session("deposito")=rst("deposit");
    				rst.MoveNext( );
    	}
    			
    			rst.Close();
    			con.Close();
    			rst = null;
    			con = null;
    
    	
    
    %>

    help me!!

  9. #9
    Originariamente inviato da polimnia88
    Odio i db!!!!!
    odi tutto quello che non conosci?


    comunque, se ti dice Impossibile trovare l'oggetto nell'insieme corrispondente al nome o al numero richiesto. è perché stai cercando di leggere una colonna che non esiste nella tabella. ad esempio, vedo un "ceposit"...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.