Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di spawn88
    Registrato dal
    Feb 2012
    residenza
    Milano
    Messaggi
    313

    $_SESSION['idappendice'] non funzionante

    Buon pomeriggio a tutti,

    ho un problema di questo tipo:
    effettuo la ricerca delle appendici e mi crea una tabella con i dati preimpostati nel ciclo il tutto in questa pagina (idappvisual):
    Codice PHP:
    <?php
            session_start
    ();
            
    //Connessione al Database
            
    $connmysql_connect("localhost""root""") or die ("impossibile connettersi");
            
            
    //funzione per visualizzazione corretta dimensioni
            
    function makeFileSize($dimensione){
            
    $units = array('B','KB','MB','GB','TB');
            
    $u=0;
            while ( (
    round($dimensione/1024)>0) && ($u<4)){
                
    $dimensione $dimensione 1024;
                
    $u++;
            }
            return (
    round($dimensione,2) . " " $units[$u]);
            }
            
            
    //selezione del DB
            
    mysql_select_db("archiviottico"$conn) or die ("impossibile selezionare il db");
            if(!isset(
    $_SESSION['idpolizza'])){
                
    $idpolizza=$_POST['idpolizza'];
            }else{
                
    $idpolizza=$_SESSION['idpolizza'];
            }
            
    $cartella "appendici/";
            
    $query="SELECT * FROM appendice WHERE idpolizza='$idpolizza'";
            
    $result mysql_query($query);
        
    ?>
        
        

    </p>
        <h2 align="center" class="Stile3">Risultato ricerca</h2>
        <table border="1" align="center" cellspacing="1" cellpadding="20" bordercolor="#0033CC" bgcolor="#CCCCCC">
                
                <tr>
                    <th bgcolor="#CCCCCC"><font face="Arial, Helvetica, sans-serif" class="Stile1">ID Appendice</font></th>
                    <th bgcolor="#CCCCCC"><font face="Arial, Helvetica, sans-serif" class="Stile1">Appendice</font></th>
                    <th bgcolor="#CCCCCC"><font face="Arial, Helvetica, sans-serif" class="Stile1">Note</font></th>
                      <th bgcolor="#CCCCCC"><font face="Arial, Helvetica, sans-serif" class="Stile1">Dimensione</font></th>
                    <th bgcolor="#CCCCCC"><font face="Arial, Helvetica, sans-serif" class="Stile1">Documento</font></th>
                </tr>
                <?php
                    
    while($row mysql_fetch_assoc($result))
                      {
                        if(
    $_SESSION['cev']=="milano"){
                            
    $_SESSION['idappendice']=$row['idappendice'];
                
    ?>
                <tr>
                    <td bgcolor="#FFFFFF"><font face="Arial, Helvetica, sans-serif" class="Stile2"><?php echo $row['idappendice']; ?>
    </font></td>
                    <td bgcolor="#FFFFFF"><font face="Arial, Helvetica, sans-serif" class="Stile2"><?php echo "[url='".$cartella.$row[']Visualizza ".$cartella.$row['nomeappendice']."[/url]
    "; ?></font></td>
                    <td bgcolor="#FFFFFF"><font face="Arial, Helvetica, sans-serif" class="Stile2"><?php echo $row['
    note']; ?>
    </font></td>
                    <td bgcolor="#FFFFFF"><font face="Arial, Helvetica, sans-serif" class="Stile2"><?php echo makeFileSize($row['
    dimensione']); ?>
    </font></td>
                    <td align="center" valign="middle" bgcolor="#FFFFFF" class="Stile2"><form id="form1" name="form1" method="post" action="docappform.php">
                      <div align="center">
                        

    <font face="Arial, Helvetica, sans-serif" class="Stile2">
                        <input type="submit" name="Submit" value="Aggiungi" />
                        </font></p>
                        </div>
                      </form>
                      <form id="form1" name="form1" method="post" action="docappvisual.php">
                            <div align="center">
                                

    <font face="Arial, Helvetica, sans-serif" class="Stile2">
                                    <input type="submit" name="Submit" value="Visualizza" />
                                    </font>
                                </p>
                            </div>
                     </form>                    
                    </td>
                </tr>
                <?php
                        }//fine if milano
                        else{
                            if($_SESSION['
    cev']==$row['cev']){
                                $_SESSION['
    idappendice']=$row['idappendice'];
                            ?>
                                <tr>
                                    <td bgcolor="#FFFFFF"><font face="Arial, Helvetica, sans-serif" class="Stile2"><?php echo $row['
    idsinistro']; ?>
    </font></td>
                                    <td bgcolor="#FFFFFF"><font face="Arial, Helvetica, sans-serif" class="Stile2"><?php echo "[url='".
    $cartella.$row[']Visualizza ".$cartella.$row['nomesinistro']."[/url]
    "
    ?></font></td>
                                    <td bgcolor="#FFFFFF"><font face="Arial, Helvetica, sans-serif" class="Stile2"><?php echo $row['dsre']; ?>
    </font></td>
                                    <td bgcolor="#FFFFFF"><font face="Arial, Helvetica, sans-serif" class="Stile2"><?php echo $row['datasinistro']; ?>
    </font></td>            
                                    <td bgcolor="#FFFFFF"><font face="Arial, Helvetica, sans-serif" class="Stile2"><?php echo makeFileSize($row['dimensione']); ?>
    </font></td>
                                    <td align="center" valign="middle" bgcolor="#FFFFFF"><form id="form1" name="form1" method="post" action="docsinform.php">
                                          <div align="center">
                                            

    <font face="Arial, Helvetica, sans-serif" class="Stile2">
                                                <input type="submit" name="Submit" value="Aggiungi" />
                                            </font></p>
                                        </div>
                                          </form>    
                                        <form id="form1" name="form1" method="post" action="docappvisual.php">
                                        <div align="center">
                                            

    <font face="Arial, Helvetica, sans-serif" class="Stile2">
                                                <input type="submit" name="Submit" value="Visualizza" />
                                                </font>
                                            </p>
                                        </div>
                                        </form>                
                                    </td>
                                </tr>
                            <?php
                            
    }//fine if cev
                            
    else{
                                
    ?>
                                <head>
                                        <title>Mancanza di autorizzazione</title>
                                            <script type="text/javascript" language="JavaScript">
                                            <!--
                                                var theURL = 'accessonegato.htm';
                                                var width  = 400;
                                                var height = 150;
                                                var l = Math.floor((screen.width-width)/2);
                                                var t = Math.floor((screen.width-height)/5);
                                                function popWindow() {
                                                newWindow = window.open(theURL,'newWindow','toolbar=no,menubar=no,resizable=no,scrollbars=no,status=no,location=no,width='+width+',height='+height+',top='+t+',left='+l);
                                                }
                                                popWindow('accessonegato.htm');
                                                location.href="appendicevisual.php";
                                            //-->
                                            </script>
                                    </head>

                                <?php
                            
    }//fine else cev 
                        
    }//fine else milano
                    
    }//fine while
                
    ?>
    e cliccando su visualizza dovrebbe andare a visualizzarmi un'altra tabella creata interrogando la tabella "documentoappendice" utilizzando il valore di $_SESSION['idappendice'], ma quando clicco su visualizza mi visualizza una tabella vuota.
    Come mai???
    questa è la pagina per creare la tabella appena citata:
    Codice PHP:
    <?php
            session_start
    ();
            
    //Connessione al Database
            
    $connmysql_connect("localhost""root""") or die ("impossibile connettersi");
            
            
    //funzione per visualizzazione corretta dimensioni
            
    function makeFileSize($dimensione){
            
    $units = array('B','KB','MB','GB','TB');
            
    $u=0;
            while ( (
    round($dimensione/1024)>0) && ($u<4)){
                
    $dimensione $dimensione 1024;
                
    $u++;
            }
            return (
    round($dimensione,2) . " " $units[$u]);
            }
            
            
    //selezione del DB
            
    mysql_select_db("archiviottico"$conn) or die ("impossibile selezionare il db");
            
    $idappendice=$_SESSION['idappendice'];
            
    $cartella "documentiappendici/";
            
    $query="SELECT * FROM documentoappendice WHERE idappendice='$idappendice'";
            
    $result mysql_query($query);
            
        
    ?>
        

    </p>
        <h2 align="center" class="Stile3">Risultato ricerca</h2>
        <table border="1" align="center" cellspacing="2" cellpadding="8" bordercolor="#0033CC" bgcolor="#CCCCCC">
            <tr>
                <th bgcolor="#CCCCCC"><font face="Arial, Helvetica, sans-serif" class="Stile1">Documento</font></th>
                  <th bgcolor="#CCCCCC"><font face="Arial, Helvetica, sans-serif" class="Stile1">Tipo documento</font></th>
                <th bgcolor="#CCCCCC"><font face="Arial, Helvetica, sans-serif" class="Stile1">Dimensione</font></th>
            </tr>
            <?php
                
    while($row mysql_fetch_assoc($result))
                  {
                    
    ?>
            <tr>
                <td bgcolor="#FFFFFF"><font face="Arial, Helvetica, sans-serif" class="Stile2"><?php echo "[url='".$cartella.$row[']Visualizza ".$cartella.$row['nomedocumento']."[/url]
    "; ?></font></td>
                <td bgcolor="#FFFFFF"><font face="Arial, Helvetica, sans-serif" class="Stile2"><?php echo $row['
    tipodocumento']; ?></font></td>
                <td bgcolor="#FFFFFF"><font face="Arial, Helvetica, sans-serif" class="Stile2"><?php echo makeFileSize($row['
    dimensione']); ?></font></td>
            </tr>
            <?php
                }//fine while
            ?>
        </table>
    attendo vostre grazie a tutti in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    c'è un po' troppo codice così... perchè intanto non stampi a video il valore della variabile e vedi se effettivamente è inizializzata o meno? vedo un assegnamento nel primo blocco dentro un IF: viene assegnata effettivamente?

  3. #3
    La discussione mi sembra molto simile a QUESTA dove ugualmente ti era stato fatto notare che vincolando le impostazioni di determinate variabili in sessione in caso queste condizioni non si verifichino le variabili risultano vuote!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    Utente di HTML.it L'avatar di spawn88
    Registrato dal
    Feb 2012
    residenza
    Milano
    Messaggi
    313
    si si stampando la sessione assume un valore...cosa potrebbe essere? magari perchè avendo una tabella con vari idappendice e a ogni ciclo del while assume un valore differente non riesce a capire quale id appendice deve prendere e gli rimane in memoria solo l'ultimo quindi quando clicco visualizza non prende l'effettivo valore idappendice della riga ma l'ultimo caricato?
    potrebbe essere?

  5. #5
    Utente di HTML.it L'avatar di spawn88
    Registrato dal
    Feb 2012
    residenza
    Milano
    Messaggi
    313
    ebbene si confermo le mie paure.
    in questo modo la sessione tiene in memoria solo l'ultimo valore del ciclo.
    quindi quando clicco su visualizza, visualizza solo i dati con idappendice errati.
    come faccio a far corrispondere l'idappendice(sessione) alla riga giusta?
    al fine di visualizzare i dati dell'id di riga corretti?

  6. #6
    Utente di HTML.it L'avatar di spawn88
    Registrato dal
    Feb 2012
    residenza
    Milano
    Messaggi
    313
    no satifal questa volta è differente.
    la sessione assume valore solo che alla fine del ciclo tiene in memoria solo l'ultimo idappendice del ciclo while e quando clicco su visualizza non visualizza i dati inerenti all'idappendice di riga ma solo quelli dell'ultimo idappendice del ciclo.
    come posso fare?

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    ma... tu che valore volessi tenesse? se hai una SERIE di valori devi vere un array (nel qual caso avresti un assegnamento del tipo $_SESSION['idappendice'][] =

  8. #8
    Utente di HTML.it L'avatar di spawn88
    Registrato dal
    Feb 2012
    residenza
    Milano
    Messaggi
    313
    Io vorrei che quando clicco il bottone visualizza passi il valore di idappendice della sua riga e così via..in poche parole ogni bottone visualizza si porta a dietro un valore di sessione differente xe ognuno di essi è collegato all'idappendice collegato alla propria riga come posso farlo?

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    Così "a occhio" (non ho di solito il tempo di "spulciare" tutti i codici così "lunghi" per il forum...) mi sembra ci sia un errore di fondo di comprensione sul funzionamento del PHP: lo script è interpretato per intero generando un codice HTML che poi è passato al browser che lo "renderizza" a video, quindi non puoi pensare che dentro un ciclo una variabile prende un valore "IN BASE A UN CLICK" perchè non ci sono click di interazioni se non DOPO.

    Per associare una variabile di sessione in base a un click su un bottone devi far sì che lo script richiamato dal bottone (probabilmente quello di gestione del form) rilevi qual è stato premuto e imposti la variabile di conseguenza.

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.