Salta al contenuto
  • Categorie
  • Recenti
  • Tag
  • Popolare
  • Utenti
  • Gruppi
Collassa
Logo del marchio
  1. Home
  2. Coding e customizzazione (PHP, HTML, CSS)
  3. [risolto]$_SESSION in joomla esiste già vero?

[risolto]$_SESSION in joomla esiste già vero?

Pianificato Fissato Bloccato Spostato Coding e customizzazione (PHP, HTML, CSS)
9 Post 2 Autori 23 Visualizzazioni
  • Da Vecchi a Nuovi
  • Da Nuovi a Vecchi
  • Più Voti
Effettua l'accesso per rispondere
Questa discussione è stata eliminata. Solo gli utenti con diritti di gestione possono vederla.
  • T Non in linea
    T Non in linea
    teopieri
    scritto ultima modifica di teopieri
    #1

    Buongiorno,
    se su un piccolo form che sto testando in ambiente esterno a Joomla, uso la variabile super globale in oggetto per tenere disponibile il dato che l'utente inserisce (ad es una data), ovviamente poi quando sposto lo script dentro Joomla attraverso un articolo usando sempre il plugin Sourcerer,
    non devo inizializzare la sessione con

    session_start()

    come ho dovuto fare nei test.
    O lo devo fare ugualmente?

    In teoria in joomla la sessione è già aperta in index.php e $_SESSION dovrebbe già contenere i dati delle login e quant'altro.
    quindi
    aggiungo solo una chiave con
    $data=$_POST['data'];//acquisisco la data in arrivo dal form
    $_SESSION['data']=$data; //"iscrivo" il valore nella variabile di sessione.

    Se ciò che ho scritto è corretto vorrebbe dire che avrei capito qualcosa 😜.
    Questo lo farei allo scopo di togliere il campo data dal form principale, o meglio lo metto come tyle= 'hidden' e value='<?echo $_SESSION['data'] ?>'
    in modo che se il form va compilato varie volte per uno stesso giorno la cui data va cmq registrata nel database, dopo l'invio dei dati torno ad un nuovo form vuoto ma ho già la data impostata.
    Nel test tutto funziona infatti.
    Mi trovo ora nella fase di spostare gli script in joomla e mi chiedevo appunto come adattare lo script per farlo funzionare dentro gli articoli Joomla.

    buona giornata
    Filippo P.

    buona giornata
    Filippo

    1 Risposta Ultima Risposta
    0
    • luX0r75L Non in linea
      luX0r75L Non in linea
      luX0r75
      scritto ultima modifica di
      #2

      Filippo, io non ho capito bene, ma se devi comunicare dall'esterno con Joomla, ti consiglio comunque di passare attraverso le API.
      Utilizzare codice PHP embeddato nell'articolo, senza utilizzare il pattern architetturale di Joomla è una cosa che non si fa, perché mandi a farsi friggere tutto il layer di sicurezza e le ottimizzazioni del framework del CMS.

      Poi magari ho capito male io eh... magari spiega meglio il progetto, così possiamo darti una mano più concreta.

      Amo scrivere codice, imparare cose nuove e viaggiare leggendo un buon libro. Il software e i libri sono il mio Ikigai.
      Chissà, forse in un mondo sprovvisto di uno o l'altro non esisterei... beh, tutto sommato è andata bene!

      https://www.htmlcrusco.it

      1 Risposta Ultima Risposta
      0
      • T Non in linea
        T Non in linea
        teopieri
        scritto ultima modifica di teopieri
        #3

        Capisco le tue obiezioni ma le API di Joomla non mi permettono di fare quel che mi serve a meno di ricorrere continuamente ad estensioni.
        Probabilmente alla fine farò del tutto a meno del CMS... ma al momento mi pareva che il "compromesso" di usare il core di Joomla per poi fare le aggiunte del caso tramite codice esterno, fosse ancora accettabile.
        il progetto:
        Gestire dei compiti da assegnare a delle persone e allo stesso tempo avere un archivio di chi ha fatto cosa in tal giorno.
        Quindi ho un form con input data che invia la data a un file dove un altro form ha diversi campi che con JS restano nascosti e compaiono sulla base di un radio-button. Cmq alla fine il form invia i dati ad un file che popola una tabella master e una slive .
        La tabella mi fa da archivio.
        Poi ho due file che mostrano compiti assegnati. uno generale e mostra i compiti dell'ultimo mese per tutti.
        e uno che visualizza i compiti per il giorno dopo ad ognuno in base a chi è loggato.
        Uso Joomla per non dover fare a mano tutto il sistema gerarchico di permessi e accesso agli articoli che trovo ottimo e già pronto.
        Ora venendo al post precedente,
        Ho pensato di usare la var globale $session di PHP e di avere subito la data di riferimento per usarla nel form di assegnazione in diversi modi e per evitare di doverla impostare tante volte ogni giorno.
        Avendo fatto i test su file PHP al di fuori di Joomla mi chiedevo quanto ho descritto nel post precedente.
        tutto qua.
        PS. Il progetto è creato su una situazione verosimile ma inventata, allo scopo di imparare in po' della programmazione web (PHP SQL e JS).
        In ogni caso chiedo, ho capito bene la questione circa le sessioni di PHP?

        1 Risposta Ultima Risposta
        0
        • luX0r75L Non in linea
          luX0r75L Non in linea
          luX0r75
          scritto ultima modifica di
          #4

          No, la sessione non è condivisa tra più applicazioni.
          Se la sessione fosse condivisa ci sarebbe un'enorme problema di sicurezza.

          Amo scrivere codice, imparare cose nuove e viaggiare leggendo un buon libro. Il software e i libri sono il mio Ikigai.
          Chissà, forse in un mondo sprovvisto di uno o l'altro non esisterei... beh, tutto sommato è andata bene!

          https://www.htmlcrusco.it

          1 Risposta Ultima Risposta
          0
          • T Non in linea
            T Non in linea
            teopieri
            scritto ultima modifica di teopieri
            #5

            Ok, quindi per intenderci, ci saranno come due sessioni aperte?
            Cmq una per mantenere un utente connesso al sito mentre naviga tra le view attraverso i menù è già esistente ma resta separata da quella che andrei ad avviare io per mantenere in vita il valore di $_SESSION['data'].
            Giusto?
            In ogni caso ancora grazie .
            Filippo

            1 Risposta Ultima Risposta
            0
            • luX0r75L Non in linea
              luX0r75L Non in linea
              luX0r75
              scritto ultima modifica di
              #6

              Se il tuo form non fa parte dell'infrastruttura di Joomla, hai due gestioni diverse.

              Ma questo campo data, che roba è?
              Perché se è la data odierna, puoi inserirla sul DB direttamente in SQL con l'istruzione MySQL CURDATE()

              Se ti serve solo un form che poi invii i dati al DB, non sarebbe meglio usare un'estensione tipo Convert Forms?

              Amo scrivere codice, imparare cose nuove e viaggiare leggendo un buon libro. Il software e i libri sono il mio Ikigai.
              Chissà, forse in un mondo sprovvisto di uno o l'altro non esisterei... beh, tutto sommato è andata bene!

              https://www.htmlcrusco.it

              1 Risposta Ultima Risposta
              0
              • T Non in linea
                T Non in linea
                teopieri
                scritto ultima modifica di
                #7

                Non voglio usare estensioni. Son rimasto già fregato da estensioni mal tenute. Uso solo sourcerer.
                il form che mi dà la data serve perché non posso sapere per quale giorno viene assegnato un compito.
                normalmente per il g dopo al corrente ma potrebbe non essere così.
                Alla fine lo faccio impostare e se resta sempre quello nella sessione ok se va cambiata ho un rimando al form per cambiare data:
                così $data sarà sovrascritta dalla nuova e di conseguenza anche $_Session .
                in ogni caso va registrata nel db per avere uno storico sempre consultabile .

                1 Risposta Ultima Risposta
                0
                • luX0r75L Non in linea
                  luX0r75L Non in linea
                  luX0r75
                  scritto ultima modifica di luX0r75
                  #8

                  Da sviluppatore ti posso consigliare, poi ognuno fa come vuole.

                  Stai attento quando fai le operazioni CRUD sul database, perché se non passi per un sistema sicuro, tipo il “query chaining” offerto dal framework di Joomla, sei soggetto ad attacchi di SQL injection.

                  https://manual.joomla.org/docs/security/secure-db-queries/

                  Amo scrivere codice, imparare cose nuove e viaggiare leggendo un buon libro. Il software e i libri sono il mio Ikigai.
                  Chissà, forse in un mondo sprovvisto di uno o l'altro non esisterei... beh, tutto sommato è andata bene!

                  https://www.htmlcrusco.it

                  1 Risposta Ultima Risposta
                  0
                  • T Non in linea
                    T Non in linea
                    teopieri
                    scritto ultima modifica di
                    #9

                    certamente mi è stato indicato di usare prepare stmt e bind_param per separare query e parametri in una insert into.
                    grazie di tutto.

                    1 Risposta Ultima Risposta
                    0

                    • Accedi

                    • Non hai un account? Registrati

                    • Accedi o registrati per effettuare la ricerca.
                    Powered by NodeBB Contributors
                    • Primo post
                      Ultimo post
                    0
                    • Categorie
                    • Recenti
                    • Tag
                    • Popolare
                    • Utenti
                    • Gruppi