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

Discussione: Problemi con session

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

    Problemi con session

    Ciao a tutti, mi chiamo Michele e ho effettuato l'iscrizione da poco a questo forum.

    Ho creato un piccolo CRM con pannello admin.

    nel db tbl_utenti ho 5 account (username e pwd) scelti da me

    Ovviamente questo CRM è condiviso da più persone (ci lavorano 5 operatori) essendo un lavoro di gruppo.

    Quando l’operatore effettua il login, passa alla pagina di inserimento dati, per poi avere infine il report dei dati a video con tutti i relativi campi.

    Il mio problema è il seguente: come faccio a far riconoscere l’operatore (username) per singolo record inserito?

    Mi spiego meglio:

    Oggi 04/07/2012 si logga “Mario” e inserisce 1,2,3,4 record etc…
    Domani 05/07/2012 si logga “Gino” e inserisce altri record
    Dopodomani 06/07/2012 si logga “Michele” e inserisce altri record….e cosi via.

    Ovviamente dalla pagina di verifica del login mi riporto poi la session alla pagina:report.asp

    codice:
    verifica.asp
    
    <%
    if len(session("id_utente")) = 0 then
    	
    	'Prelevo i dati dal pannello di Login
    	username = request("txt_username")
    	password = request("txt_password")
    	
    	'Effettuo il controllo
    	strsql = "select id, username, password from tbl_Clienti 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
    %>


    report.asp:
    e faccio la response: <%Response.Write Session("id_utente")%>

    La situazione attuale:

    Giuseppe ha inserito in data 04/07/2012 1 record
    Mario ha inserito in data 05/07/2012 1 record

    Però il risultato che ottengo ora è il seguente:

    Report.asp:

    Data articolo descrizione prezzo utente
    04/07/2012 01a sedia in legno 80,00 giuseppe


    Data articolo descrizione prezzo utente
    05/07/2012 02a tavolo in legno 80,00 giuseppe



    Il risultato che vorrei ottenere è il seguente:


    Report.asp:

    Data articolo descrizione prezzo utente
    04/07/2012 01a sedia in legno 80,00 giuseppe


    Data articolo descrizione prezzo utente
    05/07/2012 02a tavolo in legno 80,00 mario


    Mi date una mano? Dove sbaglio?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    174
    ops...dimenticavo:

    la query che uso nella pagina di insert:

    codice:
    rs.Open "select * from Dati order by data_reg desc", conn
    Inutile portarmi la session anche in questa pagina...non cambia niente.

  3. #3
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Devi associare l'inserimento all'ID utente che lo esegue e da quello recuperare il nome utente da stampare.
    E' ovvio che se stampi la session per ciascun utente sarà la propria

    Roby

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    174
    Grazie per la risposta Roby.

    Dovrei modificare la query:

    codice:
    SQL = "INSERT INTO Dati2 (data_reg,concorrente,grammi_sea,grammi_con,cod_con,nome_commerciale,code,code_oem,description,price,prezzo_concorrenza) VALUES ('"& dtCorr &"', '" & concorrente &"','" & grammi_sea &"','"  & grammi_con &"','" & cod_con &"','" & nome_commerciale &"','" & code &"','"  & code_oem &"','" & description &"','" & price &"','" & prezzo_concorrenza & "')"
    mi dai un aiutino?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    174
    roby, approfitto per chiederti un ulteriore problemino
    in base alla query, inserisco dei dati che prelevo da un'altra tabella.

    codice:
    SQL = "INSERT INTO Dati2 (data_reg,concorrente,grammi_sea,grammi_con,cod_con,nome_commerciale,code,code_oem,description,price,prezzo_concorrenza) VALUES ('"& dtCorr &"', '" & concorrente &"','" & grammi_sea &"','"  & grammi_con &"','" & cod_con &"','" & nome_commerciale &"','" & code &"','"  & code_oem &"','" & description &"','" & price &"','" & prezzo_concorrenza & "')"
    perchè se nel campo "description" è presente un'apostrofo..mi va in errore?

    es: alta capacita' ...va in errore:
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression

    mentre se tolgo l'apostrofo dalla descrizione..funziona tutto..

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Problema n.1, devi aggiungere un campo alla tabella e modificare la query aggiungendo il campo ed il valore della session

    Problema n. 2, di tutti i campi testuali devi fare la replace quando inserisci dell'apostrofo con il doppio apostrofo, cerca nel forum

    Roby

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    174
    Grazie mille Roby

    si conosco la replace...mi era sfuggita...infatti in altre pagine che ho fatto l'ho sempre inserita

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    174
    roby, ho aggiunto il campo "operatore" alla tabella del db e ho modificato la query in questo modo:

    codice:
    SQL = "INSERT INTO Dati2 (data_reg,operatore,concorrente,grammi_sea,grammi_con,cod_con,nome_commerciale,code,code_oem,description,price,prezzo_concorrenza) VALUES ('"& dtCorr &"', '" & concorrente &"','" & grammi_sea &"','"  & grammi_con &"','" & cod_con &"','" & nome_commerciale &"','" & code &"','"  & code_oem &"','" & description &"','" & price &"','" & operatore &"','"  & Session("id_utente") &"','"  & prezzo_concorrenza & "')"
    forse non va scritta cosi? mi da sempre errore.

    nel values ho inserito il nuovo campo e la session.

  9. #9
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Se il campo lo metti nella query in seconda posizione, anche il value va in secondo posizione...

    Roby

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    174
    fatto...come mi hai suggerito giustamente.

    ora mi da il seguente errore di incongruenza proprio sulla riga della query...che non capisco sinceramente..

    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Number of query values and destination fields are not the same.

    codice:
    SQL = "INSERT INTO Dati2 (data_reg,operatore,concorrente,grammi_sea,grammi_con,cod_con,nome_commerciale,code,code_oem,description,price,prezzo_concorrenza) VALUES ('"& dtCorr &"', '"  & Session("id_utente") &"','" & concorrente &"','" & grammi_sea &"','"  & grammi_con &"','" & cod_con &"','" & nome_commerciale &"','" & code &"','"  & code_oem &"','" & description &"','" & price &"','" & operatore &"','" & prezzo_concorrenza & "')"

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.