Pagina 1 di 2

Login

Inviato: 13 set 2014, 10:45
da Giampiero
Buongiorno, da pochissimo ho iniziato ad utilizzare scriptcase ho però da subito una difficoltà, mi spiego meglio devo devo creare un gestionale utilizzato dagli agenti forniti di user e password, già presente nella tabella agenti ogni agente che si logga deve vedere solo i propri clienti e non i clienti degli altri agenti, l'amministratore può vedere tutti i clienti. nel creare i moduli sicurezza questa funzione non sono riuscito a trovarla.
preciso che non voglio creare altre tabelle gruppo o user.

Re: Login

Inviato: 13 set 2014, 14:47
da admin
Buongiorno e benvenuto nel gruppo.
Premesso che ci possono essere vari modi per ottenere il medesimo risultato, uno dei più semplici è il seguente.
Nella tabella clienti, aggiungere un campo contenente lo username dell'agente responsabile.
Così facendo, quando occorre visualizzare l'elenco dei clienti, si può applicare un filtro del tipo "where agente = 'username_agente' ".

Re: Login

Inviato: 15 set 2014, 06:47
da Giampiero
Bene avevo pensato di fare proprio così il campo gestore nella tabella clienti esiste già di seguito indico i dati su cui potrei fare riferimento per potermi spiegare meglio:
Nella tabella dipendenti esiste il campo nominativo dove inserisco cognome e nome " ROSSI GIAMPIERO" nella tabella clienti esiste il campo gestore che preleva i dati dalli tabella dipendenti dal campo nominativo quindi " ROSSI GIAMPIERO" e questa è la relazione ma nel login che fa riferimento alla tabella dipendenti inserisco l'user che è giampiero e la password poi sempre nella tabella dipendenti esiste il livello di accesso che in base a questo campo creo le regole di accesso attualmente in visual BASIC nel codice ho messo if quindi se il livello è inferiore a 5 vede solo i suoi clienti se è superiore a 5 vede tutto ma in php non sono capace a scriverlo potete darmi una mano
Grazie

Re: Login

Inviato: 16 set 2014, 12:44
da admin
:shock:
Non ho capito.

In ogni caso in php il controllo con "if" si scrive:

Codice: Seleziona tutto

if($livello > 4){
   //qui scrivi il codice da eseguire se il livello è maggiore di 5
}

Re: Login

Inviato: 16 set 2014, 20:52
da Giampiero
Mi dispiace se non sono stato chiaro nel spiegarmi, spero che l'esempio che faccio possa rendere meglio quello che devo fare
Partiamo dalla tabella dipendenti composta dai campi nominativo, codice di accesso, user e password, ed altri campi la form del login contiene due campi user e password che prende i dati dalla tabella dipendenti adesso devo creare due variabili con le quali mi porto i campi nominativo e codice di accesso.
A questo punto devo creare un'altra applicazione con formato griglia che deriva dalla tabella clienti. Nella tabella clienti esiste un campo chiamato gestore che è uguale al campo nominativo della tabella dipendenti, in questa maschera devo creare un vincolo ( if codice di accesso < 5 gestore = nominativo if codice accesso > 5 visualizza tutto),
Il mio primo ostacolo è quello di creare nella maschera del login le due variabili quello che fa riferimento al nominativo e quello del codice di accesso
Ho visto che esistono le variabili globali ma non riesco ad applicarle puoi indirizzarmi almeno su come iniziare

Re: Login

Inviato: 12 gen 2015, 20:14
da Giampiero
buonasera, sono riuscito a impostare la maschera del login con le variabili globali in uscita ma nelle altre maschere mi da errore posto quanto ho scritto:
SELECT
clienti.ID,
clienti.SOCIETA,
clienti.COMMITTENTE,
clienti.FILIALE,
clienti.CONTRATTO,
clienti.LOTTO,
clienti.IDIMPORTAZIONE,
clienti.DATAAFFIDO,
clienti.DATASCADENZA,
clienti.NOMINATIVO,
clienti.CAPDEB,
clienti.LOCALITADEB,
clienti.PROVINCIADEB,
clienti.TOTALEAFFIDATODEB,
clienti.GESTORE,
telefonate.IDCLI,
telefonate.IDTELEFONATE,
scarico.ESITO
FROM
clienti LEFT OUTER JOIN telefonate ON clienti.ID = telefonate.IDCLI
LEFT OUTER JOIN scarico ON clienti.IDCLI = scarico.IDCLI
WHERE (scarico.ESITO IS NULL OR scarico.ESITO = 'Parziale') AND (telefonate.IDTELEFONATE IS NULL) AND (if ([liv] = 5) {clienti.GESTORE} = ‘[Nom]’)

Re: Login

Inviato: 12 gen 2015, 20:16
da Giampiero
scusate ho corretto l'ultima parte come indicato da admin ma non va:
if ([liv] = 5) {
clienti.GESTORE = ‘[Nom]’
}

Re: Login

Inviato: 15 gen 2015, 09:04
da Fabio
Manca un "uguale" ed un "punto e virgola". Inoltre la variabile [Nom] non richiede gli apici.
if ([liv] == 5) {
clienti.GESTORE = [Nom];
}

Re: Login

Inviato: 15 gen 2015, 23:31
da Giampiero
continua a dare lo stesso errore anche dopo aver modificato, posto l'errore:

Errore
Errore durante l?accesso alla banca dati:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '== 5) .gestore = ORIA GIAMPIERO}' at line 1
select count(*) from clienti LEFT OUTER JOIN telefonate ON clienti.ID = telefonate.IDD LEFT OUTER JOIN scarico ON clienti.ID= scarico.IDD where (scarico.ESITO IS NULL OR scarico.ESITO = 'Parziale') AND (telefonate.IDTELEFONATE IS NULL) AND if (5 == 5) .gestore = ORIA GIAMPIERO}

Re: Login

Inviato: 16 gen 2015, 13:28
da admin
Nella query, alla fine, c'è

Codice: Seleziona tutto

if (5 == 5) .gestore = ORIA GIAMPIERO 
".gestore" non è sicuramente un nome di colonna valido, inoltre ORIA GIAMPIERO essendo una scritta deve andare tra apici: 'ORIA GIAMPIERO'