Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    5

    scrivere su db le variabili ottenute da una session

    Ciao ragazzi, sto cercando di unire una combobox dinamica (regione/provincia/comune copiata da una pillola presente sul forum), al resto di un form.

    Vi incollo la parte finale del codice, nel quale dopo aver selezionato il comune, trasferisco il contenuto delle session in variabili da utilizzare in un'ipotetica query di inserimento:


    Codice PHP:
     protected function ParsingAction() 
            { 
                if(isset(
    $_GET['action'])) 
                { 
                    if(
    $_GET['action'] == 'provincia'
                    { 
                        
    $_SESSION['regione'] = $_GET['regione']; 
                        unset(
    $_SESSION['provincia']); 
                        unset(
    $_SESSION['comune']); 
                    } 
                    if(
    $_GET['action'] == 'comune'
                    { 
                        
    $_SESSION['provincia'] = $_GET['provincia']; 
                        unset(
    $_SESSION['comune']); 
                    } 
                    if(
    $_GET['action'] == 'end'
                    { 
                        
    $_SESSION['comune'] = $_GET['comune']; 
                        
    //Recupero i dati...
                        
    $p_regione $_SESSION['regione'];
                        
    $p_provincia $_SESSION['provincia'];
                        
    $p_comune $_SESSION['comune'];
                       echo 
    "$p_regione,$p_provincia,$p_comune";                    
                    
                    } 
                } 
            } 

    Se al posto della echo mettessi la query insert, i valori verrebbero inseriti in una riga a parte rispetto al resto dei dati del form!

    La mia domanda è: come faccio a gestire queste variabili in modo da poterle inserire nel database nella stessa riga degli altri dati una volta premuto il pulsante submit?

    grazie

  2. #2
    Nel punto in cui inserisci nel DB i dati del form aggiungi anche i nuovi valori.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    5
    Grazie per la risposta!
    Avevo provato a farlo... il file che effettua le query è diverso da quello che contiene le session che ho incollato prima...

    Ho incluso il secondo nel primo, sperando che le variabili venissero lette, in realtà anche facendo una echo per visualizzarle, non restituisce niente.. (infatti provando ad usare la query insert, mette tre campi null nel database).

    Come posso fare a rendere leggibili le variabili al di fuori della session?

  4. #4
    La prima cosa che mi viene in mente, non avendo il codice come riferimento è di metterle in sessione e recuperarle nella pagina in cui effettui la insert.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    5
    mi sembra un buon consiglio, forse è proprio quello giusto...

    ho messo una session start prima della query, e ora una echo sui valori della session, me li restituisce correttamente!

    Codice PHP:
    session_start(); 
                        
    $p_regione $_SESSION['regione'];
                        
    $p_provincia $_SESSION['provincia'];
                        
    $p_comune $_SESSION['comune'];
                       echo 
    "$p_regione ,$p_provincia ,$p_comune ";   
        
    $data_nascita=$_POST[anno]."/".$_POST[mese]."/".$_POST[giorno];
    echo 
    "la data di nascita è $data_nascita";
    $query1="insert into utenti (an_regione,an_provincia,an_comune,indirizzo_email,data_nascita,sesso) values(\"$p_regione\",\"$p_provincia\",\"$p_comune\",\"$_POST[indirizzo_email]\",\"$data_nascita\",\"$_POST[sesso]\")";
    $iscrizione_utente=mysql_query($query1) or die(mysql_error()); 
    ho provato comunque ad assegnare il contenuto della session ad altre variabili, e la echo della quarta riga funziona bene, a questo punto sbaglio qualcosa nella query INSERT, perchè le stesse variabili che prima mi leggeva, ora non vengono scritte!

    dovrei mettere direttamente le variabili in forma $_SESSION['regione'] dentro la query?
    (se sì, mi daresti una mano con la sintassi per favore ^_^)

  6. #6
    La INSERT sembra corretta e dici che le variabili le stampi correttamente. Non ti da nessun errore? Gli altri valori li inserisce nel DB?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    5
    è giusto così!
    grazie mille per l'aiuto, sembra una cavolata, ma mi hai dato le dritte perfette per risolvere la cosa!

    l'ultimo errore è una distrazione mia, non ho modificato i campi del database locale, quindi stavo inserendo delle stringhe in un campo int

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.