Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    179

    Problema sessione e invio form

    Ciao a tutti...mi sto' sbattendo con sto' problema ma ancora nn ho trovato una soluzione pulita e funzionale.
    Allora:
    1) Ho una select dove seleziono le categorie da modificare.
    2) Selezionandone una mi salva l' id in una variabile di sessione e mi apre il form con l'input da modificare (che sarebbe il nome della categoria).
    3) Se modifico il nome e premo invia tutto funziona correttamente.
    4) Ma qui ora viene il problema...e se un utente apre un tab dello stesso sito e apre la modifica delle categorie scegliendo una diversa da quella che ha nell' altra tab?

    Si crea un casino xke la variabile di sessione usata nella tab 1 viene sovrascritta dalla nuova tab 2 e se ritorno alla tab 1 e premo invia viene modificata con il valore della tab 2 e non della tab 1.

    Spero di essermi spiegato bene...e nn riesco a trovare una soluzione.

    Vorrei fare in modo da prevenire la modifica dell' id della categoria che si modifica (con firebug se metto il campo hidden dell' id della categoria si puo' cambiare) e non avere problemi con l' apertura di piu' tab mentre si fa questa modifica anche aprendo piu' categorie in piu' tab.

    Insomma come se fosse per ogni volta che apro la modifica delle categorie una ses diversa...ma nn so come fare...

    Spero che mi date qualche indicazione e spiegazione su come ottenere un buon sistema di modifica.
    Grazie!!

  2. #2
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Hai provato ad inizializzare le sessioni? Oppure alla fine di ogni operazione che fai provarle a distruggerle?

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    179
    Grazie per la risposta.
    - Soluzione 1: Cosa intendi per "inizializzare le sessioni"?
    - Soluzione 2: Provarle a distruggerle ci ho pensato (intendi che se cambio pagina o viene ricaricata (in caso di tab multipli) eliminare la sessione relativa alla modifica che si sta facendo?
    Si potrebbe fare ma poi se lascio il tab 1 aperto e chiudo gli altri anche nel tab 1 la sessione non risulta piu' se invio la modifica e quindi sarei costretto a ricaricare il tab 1...

    Ti vengono in mente altre soluzioni? =) cosi' vagliamo tutte le ipotesi thanks!!

  4. #4
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    secondo me stai sbaliando il ragionamento, se è un elemento del form deve stare nel form, mettendolo in sessione ti complichi la vita inutilmente, prova a spiegare bene per quale ragione lo stai mettendo in sessione e vediamo se troviamo un alternativa.

    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    179
    Ok provo.
    Allora:
    1) Prima pagina php. Creo il form normalissimo con un campo solo (semplifichiamo) il campo e' il nome della categoria.
    2) Seconda pagina php. Creo la ricezione ed elaborazione dei dati ricevuti (modifica della categoria).
    3) Qui sorge il problema. Se scelgo la categoria da modificare nella pagina 1 lo faccio assegnando un id (nome colore puzza =P tanto il fine non cambia, lasciamo ke uso l' id come riferimento).
    4) Se lascio un campo hidden con l' id della categoria selezionata nel form, usando firebug, puo' essere tranquillamente modificato e quindi modificare una categoria al posto di un' altra e allora uso la sessione.
    5) Si seleziona in pagina 1 la categoria, salva l' id nella sessione e si visualizza il form.
    6) In pagina 2 uso la sessione con l' id per effettuare le modifiche senza usare il campo hidden per inviare l' id della categoria.
    7) Se pero' si aprono piu' finestre qui inizia il casino come spiegato su.

    Vorrei trovare una soluzione pulita e funzionale a prova di "inceppi" =P

  6. #6
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    Originariamente inviato da CIMO1
    4) Se lascio un campo hidden con l' id della categoria selezionata nel form, usando firebug, puo' essere tranquillamente modificato e quindi modificare una categoria al posto di un' altra e allora uso la sessione.
    questo non è un problema, devi semplicemente verificare prima di fare l'update se quell'utente ha i permessi di aggiornare la categoria che ti arriva tramite POST, se è una delle categorie che l'utente può modificare fai l'update, altrimenti dai un messaggio di errore.
    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    179
    No no nn mi sono spiegato qualsiasi utente "user" ha la possibilita' di modificare una categoria.
    Non e' un problema di permessi.
    Cerco di fare un altro esempio.
    Io e te siamo registrati come utenti.
    Tu hai le tue categorie (con un id) e io le mie. Ovviamente nel tuo pannello risultano le tue e nel mio quelle mie.
    Se lascio un campo hidden nel form basta che uso firebug per modificare l' id e combino guai (anche solo se modifico le mie stesse categorie)
    Se invece uso la sessione ho il problema spiegato in precedenza.
    Come faccio a fare in modo che l' utente una volta scelta quella categoria puo andare a venire come gli pare ma sempre quella che ha selezionato rimane?

  8. #8
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    si è quello che intendo per permessi, facciamo un esempio,

    l'utente A ha le categorie 1-2-3-4

    l'utente B ha le categorie 5-6-7-8.

    Quando ti arriva il post dall'utente A controlli se l'id della categoria è 1 oppure 2 oppure 3 oppure 4 (ovviamente sarà una semplice select) se rientra tra le sue categorie esegui la query, altrimenti lo blocchi.
    Tieni presente che il tuo meccanismo di metterle in sessione non risolve nulla perchè supponi che A nella pirma pagina php dove gli fai scegliere la categoria con firebug ti correcca l'id in 6 tu da quel momento in sessione ci metti 6 e quindi modifichi una categoria che è di B e non di A
    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    179
    Si questo controllo lo faccio...il mio discorso e' che l' utente A ha le categorie 1-2-3-4
    puo' usare firebug e quando sceglie 1 modifica in 4.
    Si sono le sue categorie ma non mi va di permettere questo "giochetto".
    Ecco perche' cerco una soluzione stabile che valga anche per l' utente stesso.
    I controlli ci sono tutti e nn li scrivo qui seno' sarebbero tanti...il discorso e' come ottenere un sistema pulito e non incasinato =)

  10. #10
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    Scusami ma secondo me ti stai preoccupando di una cosa che non ha senso (e sopratutto impossibile da risolvere) se l'utente A può modificare le categorie 1-2-3-4 che lo faccia selezionandola dalla select oppure andando da firebug (perchè così si sente più Hacker) a te non cambia nulla, le categorie sono le sue, se le modifichi pure come vuole.
    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

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.