Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026

    Gestione di lettura da database

    Salve.
    Praticamente quando vado a leggere la variabile di un radio button, e sono nella sessione dell'utente posso modificare la scelta sia nella pagina php e vengono mantenuti nella pagina, sia sul database e vengono mantenuti sul database.
    Ma quando rientro nella sessione con lo stesso utente, con username e password, questa non mi da più valori salvati sul database ma li modifica sul database e di conseguenza sulla pagina php.
    Sotto i controllo sul radio button:
    Codice PHP:
    if($_POST['automunito'] == 1
        {
        
    $automunito =1;
        }
    if(
    $_POST['automunito'] == 0
        {
        
    $automunito =0;
        } 
    Posso migliorare il controllo quando accedo di nuovo alla mia sessione?
    Ho pensato di mettere qualcosa quando accedo alla sessione ma non ne ho idea come fare.
    Grazie.

  2. #2

    Re: Gestione di lettura da database

    Originariamente inviato da Ironmax
    ...
    Praticamente quando vado a leggere la variabile di un radio button, e sono nella sessione dell'utente posso modificare la scelta sia nella pagina php e vengono mantenuti nella pagina, sia sul database e vengono mantenuti sul database.
    Ma quando rientro nella sessione con lo stesso utente, con username e password, questa non mi da più valori salvati sul database ma li modifica sul database e di conseguenza sulla pagina php.
    ...
    Scusami ma non ci ho capito nulla. Potresti essere più chiaro?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Se io seleziono il radio button sul "si", che è equivale al valore 1, durante la sessione mantiene questa modifica e questo dato ogni volta che risalvo la pagina.
    Invece, in una succesiva sessione, questo dato viene riportato al valore 0, ma solo quando arriva al punto del codice che ti ho postato.
    E come se si aspettasse un passaggio di parametro nella variabile $_POST['automunito'] ed non arrivasse e quindi risulta vuota cioè zero.
    Quello che vorrei capire è come posso valorizzare quella determinata variabile prendendo il dato dal database letto precedentemente ed inserirla lasciando che questi due if siano solo supporto, spero di essere stato più chiaro.
    Grazie.

  4. #4
    Originariamente inviato da Ironmax
    ...durante la sessione mantiene questa modifica e questo dato ogni volta che risalvo la pagina.
    Non ho idea di cosa intendi per salvare la pagina.

    Comunque se navigando normalmente il codice funziona vuoi dire che $_POST['automunito'] è valorizzato per cui non vedo perchè non debba esserlo negli accessi successivi. A meno che tu non acceda alla pagina incriminata in maniera differente.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Scusa ma è logico che la variabile $_POST['automunito'] è vuota quando apri la pagina dopo un nuovo login, fai un controllo se è stato cliccato il bottone del form, quindi prendi il valore da $_POST['automunito'] altrimenti prendilo dal db.
    Non so come hai chiamato il tuo bottone, facciamo finta che si chiama invia e quindi name='invia'

    [PHP]if($_POST['invia'])//verifica se è stato cliccato il bottone invia { if($_POST['automunito'] == 1) { $automunito =1; $query_cambiodatidb = mysql_query ("UPDATE tabella SET campo_automunito='$automunito' WHERE campo='$campo'"); } if($_POST['automunito'] == 0) { $automunito =0; $query_cambiodatidb = mysql_query ("UPDATE tabella SET campo_automunito='$automunito' WHERE campo='$campo'"); } }//Chiudo ciclo verifica bottone invia else { $query = mysql_query("SELECT * FROM tabella WHERE email='$email'");//dando per scontato che $email ha il valore dell'e-mail dell'utente dato dalla sessione $num_rows = mysql_num_rows($query); if ($num_rows!=0) { while ($seleziona = mysql_fetch_assoc($query)) { $automunito = $seleziona['automunito']; } } // in questo modo prendi i dati che hai nel tabella del db nel campo automunito e lo memorizzi in $automunit

  6. #6
    Scusa ma è logico che la variabile $_POST['automunito'] è vuota quando apri la pagina dopo un nuovo login, fai un controllo se è stato cliccato il bottone del form, quindi prendi il valore da $_POST['automunito'] altrimenti prendilo dal db.
    Non so come hai chiamato il tuo bottone, facciamo finta che si chiama invia e quindi name='invia'

  7. #7
    Codice PHP:
    if($_POST['invia'])//verifica se è stato cliccato il bottone invia { if($_POST['automunito'] == 1)      {     $automunito =1;    $query_cambiodatidb = mysql_query ("UPDATE tabella SET campo_automunito='$automunito' WHERE campo='$campo'");     } if($_POST['automunito'] == 0)      {     $automunito =0;    $query_cambiodatidb = mysql_query ("UPDATE tabella SET campo_automunito='$automunito' WHERE campo='$campo'");     } }//Chiudo ciclo verifica bottone invia else { $query = mysql_query("SELECT * FROM tabella WHERE email='$email'");//dando per scontato che $email ha il valore dell'e-mail dell'utente dato dalla sessione     $num_rows = mysql_num_rows($query);     if ($num_rows!=0)     {         while ($seleziona = mysql_fetch_assoc($query))         {             $automunito = $seleziona['automunito'];         }     } // in questo modo prendi i dati che hai nel tabella del db nel campo automunito e lo memorizzi in $automunito } 

  8. #8
    Poi nel tuo radio button ci metterai il set in base al valore di $automunito, se $automunito == 1 allora metti il set su uno altrimenti lo metti sull'altro.
    Spero di esserti stato d'aiuto

    Ti ho spezzettato il messaggio perchè sto avendo problemi con il forum a inviare risposte.

  9. #9
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Grazie virtual89.
    Si il problema che intendevo era proprio quello, cioè che quando accedi alla pagina le variabili globali come il $_POST[] sono vuote.
    Grazie anche per lo script, modifcando nelle dovute parti sono riuscito ad implementarlo nel mio codice.

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.