Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Problemi con "<option value='" . $riga[' '] . "'>" . $riga[' '] .
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • T
      thedarkita ModSenior • ultima modifica di

      Ciao nofcfro,
      il valore della variabile di sessione è uguale all'ultimo valore del campo id restituito dalla query, per cui è normale passi sempre lo stesso valore.
      Non capisco a cosa ti serve usare la variabile di sessione, se alla pagina 11 ci arrivi mediante un form, che ti spedisce già col metodo POST l'id scelto.

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • N
        nofcfro User Attivo • ultima modifica di

        Creare la sessione mi serve perché poi dovrò utilizzare quell'id anche in altre pagine 🙂
        Ma non capisco una cosa: se nel menù a tendina ho (presi dal database) a disposizione 6 ID, se io volessi selezionare l'ID n°4, come faccio a passarlo in sessione??

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • T
          thedarkita ModSenior • ultima modifica di

          Non si lavora cosi con php, utilizzare le sessioni non è molto normale. Si usano variabili GET per questo genere di cose.

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • N
            nofcfro User Attivo • ultima modifica di

            Pensavo fosse più sicuro usare le SESSION, comunque va benissimo anche usare il GET, in effetti non si passano grandi informazioni, tuttavia il problema di fondo rimane 😞

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • T
              thedarkita ModSenior • ultima modifica di

              Se spieghi cosa devi fare di preciso, ti indico la soluzione più adatta.

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • N
                nofcfro User Attivo • ultima modifica di

                Ho questa pagina:
                [PHP]
                // avvio sessione e connessione

                <form name="form" method="post" action="11.php"><select name="condominio">
                <?php $risultato=mysql_query ("SELECT id, nome FROM aaa ORDER BY id ", $conn);

                if (!$risultato)
                { die("La tabella selezionata non esiste " . mysql_error()); }

                while ($riga=mysql_fetch_array($risultato))
                {
                $qqq = "<option value='" . $riga['id'] . "'>" . $riga['id'] . "</option>";
                echo $qqq;

                //trasformo la riga selezionata in una session
                $_SESSION['id'] = $riga['id'];
                }
                ?>
                </select><input type="submit" name="submit" id="submit" value="Invia"></form>
                [/PHP]

                Nella tabella AAA ho due campi ID e NOME. Ci sono 6 voci, vorrei che selezionando nel menù a tendina la voce n°4, mi passasse il parametro 4 in un'altra pagina 🙂

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • T
                  thedarkita ModSenior • ultima modifica di

                  Allora è sufficiente cambiare il metodo in GET e puoi tranquillamente togliere la variabile di sessione.

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • N
                    nofcfro User Attivo • ultima modifica di

                    Il problema di fondo è che qualunque valore scelga (da 1 a 6), mi invia sempre il parametro 1!!! 😮

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • T
                      thedarkita ModSenior • ultima modifica di

                      Mi sembra impossibile, puoi postare il codice completo di entrambe le pagine?

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • N
                        nofcfro User Attivo • ultima modifica di

                        Il codice completo lo trovi nel primo post (io poi ho modificato con il GET come mi hai consigliato te, ma sempre col medesimo problema)!

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • T
                          thedarkita ModSenior • ultima modifica di

                          TI ho chiesto di riscriverlo proprio perchè dopo lo hai modificato, e non posso sapere dove sbagli senza vedere entrambe le pagine allo stato attuale.

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • N
                            nofcfro User Attivo • ultima modifica di

                            Ok col GET/POST ci sono riuscito, posto il codice:

                            Pagina "1.php"
                            [PHP]
                            <?php
                            include("conn.php"); ?>
                            <form name="form" method="get" action="11.php">
                            <select name="pippo">
                            <?php
                            $risultato=mysql_query("SELECT id, nome FROM utenti, $conn);
                            if (!$risultato)
                            {
                            die("La tabella selezionata non esiste " . mysql_error());
                            }
                            while ($riga=mysql_fetch_array($risultato))
                            {
                            //ho aggiunto la variabile $qqq
                            $qqq = "<option value="".$riga["id"]."">".$riga["id"]."</option>";echo $qqq;}?>
                            </select><input type="submit" name="submit" id="submit" value="Invia"></form>
                            [/PHP]

                            Pagina "11.php"
                            [PHP]
                            <?php echo $_GET["pippo"]; ?>
                            [/PHP]

                            Questo è risolto 🙂
                            Complichiamo un po' le cose: tra la pagina "1.php" e la pagina "11.php" c'è di mezzo un'altra pagina, per di più i parametri che vorrei passare non sono solamente "id" e "nome" ma anche "indirizzo", "città" ecc. Per questo motivo usavo le SESSION.
                            [PHP]
                            <?php
                            $risultato=mysql_query("SELECT id, nome, indirizzo, citta FROM utenti , $conn);
                            if (!$risultato)
                            {
                            die("La tabella selezionata non esiste " . mysql_error());
                            }
                            while ($riga=mysql_fetch_array($risultato))
                            {
                            // nel menù a tendina si deve vedere solo l'id, ma devo passare tutti i parametri del SELECT sotto forma di SESSION
                            $qqq = "<option value="".$riga["id"]."">".$riga["id"]."</option>";
                            echo $qqq;
                            }
                            // SE IO QUI METTO COSI'
                            $_SESSION['id'] = $riga['id'];
                            $_SESSION['nome'] = $riga['nome'];
                            $_SESSION['indirizzo'] = $riga['indirizzo'];
                            $_SESSION['citta'] = $riga['citta'];
                            // MI PASSA SEMPRE L'ID=1, quindi devo fare in modo che al variare di ciò che clicco nel menù a tendina vari la creazione delle SESSION!?>
                            [/PHP]

                            Grazie anticipatamente 🙂

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • T
                              thedarkita ModSenior • ultima modifica di

                              Puoi passare anche quelli come GET, perchè ti sei fissato ad usare per tutto le sessioni?
                              Tra l'altro se utilizzi le sessioni per queste cose, ed un visitatore apre 2 schede nel browser, hai un bel pò di problemi.

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • N
                                nofcfro User Attivo • ultima modifica di

                                C'è una ragione non sono un fanatico delle session! 😛
                                E' che questa pagina oltre al menù a tendina ha davvero molti altri campi, i quali vanno passati sotto POST poiché è unico il modulo in cui è inserita la moltitudine dei form 🙂

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • T
                                  thedarkita ModSenior • ultima modifica di

                                  E quindi le sessioni che c'entrano?

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • N
                                    nofcfro User Attivo • ultima modifica di

                                    Nella prima pagina creo le sessioni, nella seconda non mi occorrono, nella terza pagina mi serve richiamarle.

                                    0 Miglior Risposta Ringrazia Cita Rispondi

                                      1 Risposta Ultima Risposta
                                    • T
                                      thedarkita ModSenior • ultima modifica di

                                      Perchè non puoi passarle dalla prima alla seconda, e dopo dalla seconda alla terza?

                                      0 Miglior Risposta Ringrazia Cita Rispondi

                                        1 Risposta Ultima Risposta
                                      • N
                                        nofcfro User Attivo • ultima modifica di

                                        Ho capito va ti spiego dettagliatamente: la prima pagina inserisci i valori, ci sono vari cicli if e se tutto è corretto inserisce i valori immessi nel database. Se l'inserimento è andato a buon fine, viene visualizzato un link che ti manda ad un'altra pagine di riepilogo dei dati inseriti. In questa pagina di riepilogo io stampavo i valori session dei parametri che prima ho postato, per tutti gli altri invece facevo una query select e li stampavo.
                                        Ora se te mi consigli il GET va benissimo, mi fido ciecamente perché le mie conoscenze sono terra terra, l'unica cosa è che non so proprio che codice usare così :sun:

                                        0 Miglior Risposta Ringrazia Cita Rispondi

                                          1 Risposta Ultima Risposta
                                        • T
                                          thedarkita ModSenior • ultima modifica di

                                          Allora le sessioni puoi eliminarle tranquillamente.
                                          Solitamente il passaggio dei dati per un inserimento avviene con metodo POST, se dopo devi mandare l'utente ad una pagina di riepilogo lo mandi verso una pagina del tipo riepilogo.php?id_riepilogo=X
                                          La pagina riepilogo.php dovrebbe prendere i dati esclusivamente dal database, non da session od altro.

                                          0 Miglior Risposta Ringrazia Cita Rispondi

                                            1 Risposta Ultima Risposta
                                          • N
                                            nofcfro User Attivo • ultima modifica di

                                            Perfetto!
                                            Ultima cosa: come faccio a tirare fuori una variabile id da questa stringa? (mi serve per il WHERE della SELECT) 🙂

                                            [PHP]
                                            while ($riga=mysql_fetch_array($risultato))
                                            {
                                            $qqq = "<option value="".$riga["id"]."">".$riga["id"]."</option>";
                                            echo $qqq;
                                            [/PHP]

                                            0 Miglior Risposta Ringrazia Cita Rispondi

                                              1 Risposta Ultima Risposta
                                            Caricamento altri post
                                            Rispondi
                                            • Topic risposta
                                            Effettua l'accesso per rispondere
                                            • Da Vecchi a Nuovi
                                            • Da Nuovi a Vecchi
                                            • Più Voti