Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: Problema Select case

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    174

    Problema Select case

    Ciao a tutti, chi mi aiuta? ho un problema con le select.

    Allora dal form admin inserisco user e pwd e se corrisponde tutto, faccio il redirect ad un'altra pagina...fin qui tutto ok.

    codice:
    
    <%
    if len(session("id_utente")) = 0 then
    	
    	'Prelevo i dati dal pannello di Login
    	username = request("username")
    	password = request("password")
    	
    	'Effettuo il controllo
    	strsql = "select id, username, password from utenti where username = '" & username & "' and password = '" & password & "'"
    	set rs = conn.execute(strsql)
    	
    		if not rs.eof then
    			session("id_utente") = rs("id")
    			session("id_utente") = rs("username")
    		else
    			response.redirect "panel.asp"
    		end if
    	rs.close
    	set rs = nothing
    	'END...
    end if
    Il problema è che vorrei stabilire le redirect alle pagine, in base agli account admin.
    Quindi, ho creato nella tabella utenti del DB il campo gruppo degli account (1-2-3-4-5) Ora,dovrei inserire delle select case...tipo:

    codice:
    		             select case rs("gruppo")
                 
                 case "1"          
                  session("login")="ok1" 
                   Response.Redirect("panel_ok.asp")  
                  
                 case "2"
                  session("login")="ok2" 
                   Response.Redirect("panel_ok.asp")
                   
                 'case "3"
                  'session("login")="ok3" 
                  'Response.Redirect("panel_ok.asp")
                   
                 'case "4"
                  ' session("login")="ok4" 
                   'Response.Redirect("panel_ok_2.asp")
    
                 case "5"
                  session("login")="ok5" 
                   Response.Redirect("panel_ok_2.asp")
    
                                        
                 case "0"
                  session("login")="ok0" 
                   Response.Redirect("nonseiabilitato.asp")
      
                 end select           
                            
                  
                  rs.close 
    
                  conn.close 
    
                  set rs=nothing 
    
                  set conn=nothing 
    %>
    Chi mi aiuta a unificare il codice? visto che ci ho provato...ma...con tanti errori.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    174
    Ho provato in questo modo...ma non va:

    codice:
    <%
    if len(session("id_utente")) = 0 then
    	
    	'Prelevo i dati dal pannello di Login
    	username = request("username")
    	password = request("password")
    	
    	'Effettuo il controllo
    	strsql = "select id, username, password from utenti where username = '" & username & "' and password = '" & password & "'"
    	set rs = conn.execute(strsql)
    	
    		if not rs.eof then
    			session("id_utente") = rs("id")
    			session("id_utente") = rs("username")
    		else
    
    
    		             select case rs("gruppo")
                 
                 case "1"          
                  session("login")="ok1" 
                   Response.Redirect("panel_ok.asp")  
                  
                 case "2"
                  session("login")="ok2" 
                   Response.Redirect("panel_ok.asp")
                   
                 case "3"
                  session("login")="ok3" 
                  Response.Redirect("panel_ok.asp")
                   
                 case "4"
                  session("login")="ok4" 
                  Response.Redirect("panel_ok_2.asp")
    
                 case "5"
                  session("login")="ok5" 
                   Response.Redirect("panel_ok_2.asp")
    
                                        
                 case "0"
                  session("login")="ok0" 
                   Response.Redirect("nonseiabilitato.asp")
      
                 end select           
                            
                  
                  rs.close 
    
                  conn.close 
    
                  set rs=nothing 
    
                  set conn=nothing 
    end if
    end if
    %>

  3. #3

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    174
    Ciao Boss,

    Ora mi da l'errore:
    ADODB.Recordset error '800a0cc1'

    Item cannot be found in the collection corresponding to the requested name or ordinal.

    sarebbe la riga:
    codice:
    select case rs("gruppo")

    Ma non è vero perchè esiste il campo "gruppo" nella tabella utenti.

    Dove sbaglio????

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    174
    Optime,

    In questo modo, mi funziona tutto, però non mi riporta poi la session=username una volta loggato.

    codice:
    <%  
    
    option explicit 
    
           Dim conn, rs, user, password,  sql 
    
              '****QUESTA PARTE FA SOLO UN CONTROLLO SE SONO STATI INSERITI
              '****LA USER E LA PWD
              '****LASCIA QUESTA PARTE COSì
              '****VEDI PIù GIù
    
              if (request("user")="" or request("password")="") then 
    
                response.write "INSERISCI I DATI DI NUOVO!" 
                end if         
    
                user=request("user") 
    
                password=request("password") 
    
      
                set conn=Server.CreateObject("adodb.connection") 
    
           
                conn.open"Driver={Microsoft Access Driver (*.mdb)}; dbq=" &  server.MapPath("/db/db.mdb")
    
    
                sql="select * from user where username='" & username & "' and password='" & password & "'" 
    
               
                set rs=Server.CreateObject("adodb.recordset") 
    
                rs.open sql, conn 
    
               
                  
                '*****DOPO AVER FATTO UN CONTROLLO SUL DATABASE
                '*****E NON AVER TROVATO NIENTE
                '*****CHIUDO LA CONNESSIONE
                '*****E FACCIO LA REDIRECT 
                               
                if rs.eof then 
    
                response.write "******DATI DI ACCESSO ERRATI******" 
    
                response.write "Reinseriscili, " & "<a href=javascript:history.back()>torna indietro</a>" 
    
                rs.close 
    
                conn.close 
    
                set rs=nothing 
    
                set conn=nothing 
    
                  
    
                'response.end 
    
                Response.Redirect("errore.asp")  
    
                end if 
                  
                  
                  Session("username")=username
               
                  
                 
    
                  '****TI HO TROVATO NEL DATABASE
    
                  if not rs.eof then 
    
                 select case rs("gruppo")
                 
                 'case "1"          
                  ' session("login")="ok1" 
                   'Response.Redirect("form_upload.asp")  
                  
                 case "2"
                   session("login")="ok2" 
                   Response.Redirect("admin_pn.asp")
                   
                 case "3"
                  session("login")="ok3" 
                  Response.Redirect("stampa_rma.asp")
                   
                 case "4"
                   session("login")="ok4" 
                   Response.Redirect("stampa_rma2007.asp")
    
                 'case "5"
                  ' session("login")="ok5" 
                   'Response.Redirect("areadatabase6.asp")
    
                 'case "6"
                  ' session("login")="ok6" 
                   'Response.Redirect("utility.asp")
    
                 'case "7"
                  ' session("login")="ok7" 
                   'Response.Redirect("form_upload2.asp")
    
                                       
                 case "0"
                   session("login")="ok0" 
                   Response.Redirect("nonseiabilitato.asp")
      
                 end select           
                            
                  
                  rs.close 
    
                  conn.close 
    
                  set rs=nothing 
    
                  set conn=nothing 
    
                 
                  end if   
    
    %>

    Invece con quest'altra pagina, mi riporta la session ma non ho le select...e quindi avevo pensato di unire le 2 pagine.

    codice:
    <%
    if len(session("id_utente")) = 0 then
    	
    	'Prelevo i dati dal pannello di Login
    	username = request("username")
    	password = request("password")
    	
    	'Effettuo il controllo
    	strsql = "select id, username, password from utenti where username = '" & username & "' and password = '" & password & "'"
    	set rs = conn.execute(strsql)
    	
    		if not rs.eof then
    			session("id_utente") = rs("id")
    			session("id_utente") = rs("username")
    		else
    			response.redirect "panel.asp"
    		end if
    	rs.close
    	set rs = nothing
    	'END...
    end if
    %>

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    174
    Allora, mettiamo un po' d'ordine!

    Prendo in esame solo questa pagina.

    codice:
    <%  
    
    option explicit 
    
           Dim conn, rs, username, password,  sql 
    
              '****QUESTA PARTE FA SOLO UN CONTROLLO SE SONO STATI INSERITI
              '****LA USER E LA PWD
              '****LASCIA QUESTA PARTE COSì
              '****VEDI PIù GIù
    
              if (request("username")="" or request("password")="") then 
    
                response.write "INSERISCI I DATI DI NUOVO!" 
                end if         
    
                username=request("username") 
    
                password=request("password") 
    
      
                set conn=Server.CreateObject("adodb.connection") 
    
           
                conn.open"Driver={Microsoft Access Driver (*.mdb)}; dbq=" &  server.MapPath("/db/db.mdb")
    
    
                sql="select * from user where username='" & username & "' and password='" & password & "'" 
    
               
                set rs=Server.CreateObject("adodb.recordset") 
    
                rs.open sql, conn 
    
               
                  
                '*****DOPO AVER FATTO UN CONTROLLO SUL DATABASE
                '*****E NON AVER TROVATO NIENTE
                '*****CHIUDO LA CONNESSIONE
                '*****E FACCIO LA REDIRECT 
                               
                if rs.eof then 
    
                response.write "******DATI DI ACCESSO ERRATI******" 
    
                response.write "......" 
    
                rs.close 
    
                conn.close 
    
                set rs=nothing 
    
                set conn=nothing 
    
                  
    
                'response.end 
    
                Response.Redirect("errore.asp")  
    
                end if 
                  
                  
                  Session("username")=username
               
                  
                 
    
                  '****TI HO TROVATO NEL DATABASE
    
                  if not rs.eof then 
    
                 select case rs("gruppo")
                 
                 'case "1"          
                  ' session("login")="ok1" 
                   'Response.Redirect("form_upload.asp")  
                  
                 case "2"
                   session("login")="ok2" 
                   Response.Redirect("admin_pn.asp")
                   
                 case "3"
                  session("login")="ok3" 
                  Response.Redirect("stampa_rma.asp")
                   
                 case "4"
                   session("login")="ok4" 
                   Response.Redirect("stampa_rma2007.asp")
    
                 'case "5"
                  ' session("login")="ok5" 
                   'Response.Redirect("areadatabase6.asp")
    
                 'case "6"
                  ' session("login")="ok6" 
                   'Response.Redirect("utility.asp")
    
                 'case "7"
                  ' session("login")="ok7" 
                   'Response.Redirect("form_upload2.asp")
    
                                       
                 case "0"
                   session("login")="ok0" 
                   Response.Redirect("nonseiabilitato.asp")
      
                 end select           
                            
                  
                  rs.close 
    
                  conn.close 
    
                  set rs=nothing 
    
                  set conn=nothing 
    
                 
                  end if   
    
    %>

    Funziona tutto a meraviglia...ma......
    Perchè poi una volta loggato, nell'altra pagina di benveuto, non mi riporta la session???

    codice:
    <%response.write (username)%>

  7. #7
    forse response.write session("username")?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    174
    Grazie Optime, ho provato ma non passa la session...forse la session è vuota????

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    174
    Risoltoooooooooooooooooooooooo

    dovevo scriverla cosi:

    codice:
    <%response.write session("id_utente")%>
    Perchè nel rs.eof:

    codice:
    	if not rs.eof then
    			session("id_utente") = rs("id")
    			session("id_utente") = rs("username")
    session("id_utente") = rs("username")
    Grazie al tuo consiglio Optime
    Birrettaaaaaaaaaaaaaaaaaaaaaaa

  10. #10
    Originariamente inviato da michele77
    Grazie al tuo consiglio Optime
    Birrettaaaaaaaaaaaaaaaaaaaaaaa
    ah, ma tu sei quello che promette promette e poi non mantiene...

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.