Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it L'avatar di Kdes
    Registrato dal
    Oct 2006
    Messaggi
    171

    Non riesco a capire le sessioni

    Un saluto a tutti voi.
    Sto mettendo su una piccola applicazione per una Intranet. Niente di particolare.
    Però sto provando a trasportare delle variabili tra uno script e l'altro.
    Uso PHP e Mysql con Easyphp, poi lo passerò a Linux/PHP e Mysql.
    Ho uno script iniziale che mi fa effettuare il login, ma non mi interessa mantenere l'utente.
    Una volta eseguito il login viene eseguito questo script:

    condominio.php
    Codice PHP:
    <?
    session_start
    ();
    $_SESSION['codice_condominio'] = $cod;
    $_SESSION['Denominazione'] = $Denominazione;
    $_SESSION['NumeroPagine'] = 1
    require (
    "conf.php");
    include(
    'testa.php');
    ?>
    <h3 align="center">Inserimento Condominio --> [url="inser_condominio.php"][img]/image/Inserimento.gif[/img][/url]
    </h3>
    <table width="60%" border='1' align="center">
    <th>Codice</th>
    <th>Condominio</th>
    <th colspan='5'>Funzioni</th>
    <tr>
    </tr>
    <?php
    // connessione e selezione db

    $link mysql_connect($server,$utente,$password
      or die
      (
    "
    [b]Non posso connettermi al Server[/b]
    "
    .mysql_error());
    $conn=mysql_select_db($datab$link) or die("
    [b]Non riesco a connettermi al Database.[/b]
    "
    .mysql_error());

    $result mysql_query("select * from gest_condominio order by Denominazione");
        while (
    $row mysql_fetch_array($result))
            {
                          
    $cod                   $row['cod_condominio'];
                        
    $denominazione      $row['Denominazione'];
                        echo 
    "<td align='center'>$cod</td>";
                        echo 
    "<td>$denominazione</td>";
                        echo 
    "<td>$desc_tipo_immob</td>";
                echo 
    "<td><a href=\"mod_condominio.php?id=$cod\">[img]/image/Modifica.gif[/img]</a></td>";
                echo 
    "<td><a href=\"vis_condominio.php?id=$cod\">[img]/image/Visura.gif[/img]</a></td>";
                echo 
    "<td><a href=\"canc_condominio.php?id=$cod\">[img]/image/Cancella.GIF[/img]</a></td>";
                echo 
    "<td><a href=\"menu.php?id=$cod\">[img]/image/Ok.GIF[/img]</a></td><tr>";
                 }
    ?>
    </table>
    <h3>[url='login.php']Chiudi[/url]</h3>
    </body>
    </html>
    Viene selezionato il condominio e si manda in esecuzione lo script "menu.php".
    Ora a me interessa mantenere il codice e la denominazione.

    Ma quando vado allo script successivo non mi risulta nulla!!!
    Sicuramente non ho chiaro il funzionamento della "session_start".
    Vi posto anche lo script "menu.php" :
    Codice PHP:
    <?php
    session_start
    ();
    function 
    leggi($cod_cond)
    {
        global 
    $row;
        
    $q=mysql_query("select Denominazione from gest_condominio where cod_condominio = '$cod_cond'");
        
    $ro mysql_fetch_row($q);
        return 
    $ro[0];
    }

    //require ("testa.php");
    require ("conf.php");
    $link mysql_connect($server,$utente,$password
      or die
      (
    "
    [b]Non posso connettermi al Server[/b]
    "
    .mysql_error());
    $conn=mysql_select_db($datab$link) or die("
    [b]Non riesco a connettermi al Database.[/b]
    "
    .mysql_error());
    $cod_cond $_GET['id'];
    $Denominazione=leggi($cod_cond);
    ?>
    <html>

    <head>
    <meta http-equiv="Content-Type"
    content="text/html; charset=iso-8859-1">
    <title>Menu Gestione Condominio</title>

    <style type="text/css">
    body {
     background: #8b8833;}
     div#container{width:600px;margin: 0 auto;border:2px solid #999;background:#fff}
     p{font:75.01% arial,sans-serif;line-height: 1cm}
    th {background: #ccc555;}
    a:Hover{color:red; background-color:yellow; }
    </style>

    </head>
    <body>
    <?
    $codice_condominio 
    $_SESSION['codice_condominio'];
    $Denominazione $_SESSION['Denominazione'];
    echo 
    "Ecco i risultati " $codice_condominio ." -- "$Denominazione;
    ?> 
    <h1 align="center">[img]/image/logo.gif[/img]</h1>
    <h2 align="center">Gestione Condominio</h2>
    <div>
    <h2 align="center"><?php echo "$Denominazione"?></h3>
    </div>
    <table>
    <th background color='white'>Funzioni/Programmi</th><tr></tr>
    <td>[url='anag_condomino.php?id=$cod']Anagrafica Condomino[/url]</td><tr><tr>
    <td>[url='immobili.php']Unit&agrave Immobili[/url]</td><tr></tr>
    <td>[url='lista_mill.php']Lista Millesimi[/url]</td><tr></tr>
    <th>Tabelle</th><tr></tr>
    <td>[url='tipo_immob.php']Tabella Tipo Immobili[/url]</td><tr></tr>
    <td>[url='']Tabella CONDOMINIO[/url]</td></table>
    </body>
    </html>
    Mi sapreste dare spiegazioni che mi consentano di avere più chiarezza nella mia deformata mente di programmatore vecchio stile?

    Grazie a coloro che interverranno.
    Non chiedetemi quanti anni ho!!!!

  2. #2
    Utente di HTML.it L'avatar di Kdes
    Registrato dal
    Oct 2006
    Messaggi
    171
    Nessuna informazione per me?

    Non chiedetemi quanti anni ho!!!!

  3. #3
    In menu:

    $codice_condominio = $_SESSION['codice_condominio'];
    $Denominazione = $_SESSION['Denominazione'];

    prova a inserirlo nel primo blocco Php.

    Nel secondo blocco hai <? senza php...



    Però in condominio.php come fai a prendere i dati che metti con $_SESSION?

    Fammi sapere...

  4. #4
    Utente di HTML.it L'avatar di Kdes
    Registrato dal
    Oct 2006
    Messaggi
    171
    Ciao seokey. Grazie peri tuo intervento.
    Dunque, mi suggerisci di inserire 'php' dopo <?, lo faccio subito!


    Ho fatto quanto hai proposto, adesso vedo i risultati, ma se seleziono in 'condominio.php' un'altro record mi fa vedere quello precedente.

    Eppure facendo un esempio di passaggio dati con session_start, trova su web, alla fine passa tutto. Sicuramente c'è qualcosa che non ho chiaro e non riesco a capire. Vengo da esperienze antiche quindi mi è difficile capire ......

    Vedi se puoi darmi qualche altra idea. Ti posto i 2 file. Grazie per la tua attenzione.

    condominio.php:
    Codice PHP:
    <?php
    session_start
    ();

    $_SESSION['NumeroPagine'] = 1
    require (
    "conf.php");
    include(
    'testa.php');
    ?>
    <h3 align="center">Inserimento Condominio --> [url="inser_condominio.php"][img]/image/Inserimento.gif[/img][/url]
    </h3>
    <table width="60%" border='1' align="center">
    <th>Codice</th>
    <th>Condominio</th>
    <th colspan='5'>Funzioni</th>
    <tr>
    </tr>
    <?php
    // connessione e selezione db

    $link mysql_connect($server,$utente,$password
      or die
      (
    "
    [b]Non posso connettermi al Server[/b]
    "
    .mysql_error());
    $conn=mysql_select_db($datab$link) or die("
    [b]Non riesco a connettermi al Database.[/b]
    "
    .mysql_error());

    $result mysql_query("select * from gest_condominio order by Denominazione");
        while (
    $row mysql_fetch_array($result))
            {
                          
    $cod                   $row['cod_condominio'];
                        
    $denominazione      $row['Denominazione'];
                        echo 
    "<td align='center'>$cod</td>";
                        echo 
    "<td>$denominazione</td>";
                        echo 
    "<td>$desc_tipo_immob</td>";
                        
    $_SESSION['codice_condominio'] = $cod;
                        
    $_SESSION['Denominazione'] = $Denominazione;
                echo 
    "<td><a href=\"mod_condominio.php?id=$cod\">[img]/image/Modifica.gif[/img]</a></td>";
                echo 
    "<td><a href=\"vis_condominio.php?id=$cod\">[img]/image/Visura.gif[/img]</a></td>";
                echo 
    "<td><a href=\"canc_condominio.php?id=$cod\">[img]/image/Cancella.GIF[/img]</a></td>";
                echo 
    "<td><a href=\"menu.php?id=$cod\">[img]/image/Ok.GIF[/img]</a></td><tr>";
                 }
    ?>
    </table>
    <h3>[url='login.php']Chiudi[/url]</h3>
    </body>
    </html>
    e menu.php
    Codice PHP:
    <?php
    session_start
    ();
    $codice_condominio $_SESSION['codice_condominio'];
    $Denominazione $_SESSION['Denominazione'];
    echo 
    "Ecco i risultati " $codice_condominio ." -- "$Denominazione;

    function 
    leggi($cod_cond)
    {
        global 
    $row;
        
    $q=mysql_query("select Denominazione from gest_condominio where cod_condominio = '$cod_cond'");
        
    $ro mysql_fetch_row($q);
        return 
    $ro[0];
    }

    //require ("testa.php");
    require ("conf.php");
    $link mysql_connect($server,$utente,$password
      or die
      (
    "
    [b]Non posso connettermi al Server[/b]
    "
    .mysql_error());
    $conn=mysql_select_db($datab$link) or die("
    [b]Non riesco a connettermi al Database.[/b]
    "
    .mysql_error());
    $cod_cond $_GET['id'];
    $Denominazione=leggi($cod_cond);
    ?>
    <html>

    <head>
    <meta http-equiv="Content-Type"
    content="text/html; charset=iso-8859-1">
    <title>Menu Gestione Condominio</title>

    <style type="text/css">
    body {
     background: #8b8833;}
     div#container{width:600px;margin: 0 auto;border:2px solid #999;background:#fff}
     p{font:75.01% arial,sans-serif;line-height: 1cm}
    th {background: #ccc555;}
    a:Hover{color:red; background-color:yellow; }
    </style>

    </head>
    <body>
    <h1 align="center">[img]/image/logo.gif[/img]</h1>
    <h2 align="center">Gestione Condominio</h2>
    <div>
    <h2 align="center"><?php echo "$Denominazione"?></h3>
    </div>
    <table>
    <th background color='white'>Funzioni/Programmi</th><tr></tr>
    <td>[url='anag_condomino.php?id=$cod']Anagrafica Condomino[/url]</td><tr><tr>
    <td>[url='immobili.php']Unit&agrave Immobili[/url]</td><tr></tr>
    <td>[url='lista_mill.php']Lista Millesimi[/url]</td><tr></tr>
    <th>Tabelle</th><tr></tr>
    <td>[url='tipo_immob.php']Tabella Tipo Immobili[/url]</td><tr></tr>
    <td>[url='']Tabella CONDOMINIO[/url]</td></table>
    </body>
    </html>

    Grazie ancora.

    Non chiedetemi quanti anni ho!!!!

  5. #5
    Originariamente inviato da Kdes

    Codice PHP:
    ...
    $result mysql_query("select * from gest_condominio order by Denominazione");
        while (
    $row mysql_fetch_array($result))
            {
                          
    $cod                   $row['cod_condominio'];
                        
    $denominazione      $row['Denominazione'];
                        echo 
    "<td align='center'>$cod</td>";
                        echo 
    "<td>$denominazione</td>";
                        echo 
    "<td>$desc_tipo_immob</td>";
                        
    $_SESSION['codice_condominio'] = $cod;
                        
    $_SESSION['Denominazione'] = $Denominazione;
                echo 
    "<td><a href=\"mod_condominio.php?id=$cod\">[img]/image/Modifica.gif[/img]</a></td>";
                echo 
    "<td><a href=\"vis_condominio.php?id=$cod\">[img]/image/Visura.gif[/img]</a></td>";
                echo 
    "<td><a href=\"canc_condominio.php?id=$cod\">[img]/image/Cancella.GIF[/img]</a></td>";
                echo 
    "<td><a href=\"menu.php?id=$cod\">[img]/image/Ok.GIF[/img]</a></td><tr>";
                 }
    ... 
    Scusa, ma se valorizzi $_SESSION all'interno di un ciclo sovrascriverai ogni volta il valore precedentemente inserito. Alla fine del ciclo while $_SESSION conterrà solamente gli ultimi valori di $cod e $Denominazione
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    Utente di HTML.it L'avatar di Kdes
    Registrato dal
    Oct 2006
    Messaggi
    171
    Hai ragione satifal.
    Infatti l'ho tolto, ma il risultato non cambia. sigh!!

    Comunque, inserendo la funzione leggi() per il momento ho soddisfatto l'esigenza, però resta il fatto che non ho chiaro in quei 2 script che non funziona come vorrei e vorrei capire meglio la funzionalità. Comunque grazie a Voi.

    Non chiedetemi quanti anni ho!!!!

  7. #7
    Utente di HTML.it L'avatar di Kdes
    Registrato dal
    Oct 2006
    Messaggi
    171
    Aggiungo.....
    Sono andato avanti con altri script, esempio inserisci condomino oppure variazione ed ho inserito anche il link di ritorna al menu. Quando ritorno al menu.php, se per caso aggiorno la pagina, mi sparisce la descrizione che invece avevo in precedenza.
    Mi interesserebbe mantenere la descrizione (variabile - $Denominazione) sempre valorizzata.
    Come si fa?

    Grazie in anticipo a chi mi darà l'informazione.
    Che poi, è tutto qui il mio problema, mantenere sempre la descrizione del Condominio in tutte le pagine successiva da quando entro nel menu.php fino a quando non esco.

    Non chiedetemi quanti anni ho!!!!

  8. #8
    Per conservare un valore per tutto l'arco della navigazione hai due soluzioni, la sessione o i cookie.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  9. #9
    Utente di HTML.it L'avatar di Kdes
    Registrato dal
    Oct 2006
    Messaggi
    171
    Originariamente inviato da satifal
    Per conservare un valore per tutto l'arco della navigazione hai due soluzioni, la sessione o i cookie.
    Infatti!
    Avevo inserito negli script proprio le sessioni. Essendo un'applicazione intranet, basta configurare il browser che accetti i cookie, ma preferirei le sessioni.
    Puoi dirmi come dovrei impostare le sessioni nei due script sopra e magari chiarirmi dove sbaglio?
    Ti ringrazio in anticipo per la risposta.

    Non chiedetemi quanti anni ho!!!!

  10. #10
    dal tuo codice:

    Codice PHP:
                        $cod                   $row['cod_condominio'];
                        
    $denominazione      $row['Denominazione'];
                        echo 
    "<td align='center'>$cod</td>";
                        echo 
    "<td>$denominazione</td>";
                        echo 
    "<td>$desc_tipo_immob</td>";
                        
    $_SESSION['codice_condominio'] = $cod;
                        
    $_SESSION['Denominazione'] = $Denominazione
    $denominazione e' ben differente da $Denominazione......

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.