Visualizzazione dei risultati da 1 a 4 su 4

Hybrid View

  1. #1

    variabile di sessione e login

    Salve a tutti,
    in una pagina php registro una variabile di sessione, che puntulamente richiamo con un echo, ma quando vado ad effettuare il login, il valore viene azzerato, come potrei ovviare a questo?
    Saluti.

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Mostra il codice, senza non sappiamo dove puoi aver commesso un errore.

  3. #3
    Ciao Alhazred grazie per la tua risposta, ecco il codice delle pagine scusandomi in anticipo per il disordine.
    codice:
    <?php
    session_start();
    include "area/config.php";
    include "area/commerciale/parametri.php";
    
    //if ( !is_user_logged_in() ){ 
    //do user logged out stuff
    //$_SESSION['voto'] = $voto;
    $voto = $_SESSION['voto'];
    
    //}
    echo "voto sessione =".$voto;
    
    $tmsp2 = strtotime("previous Saturday");
    $dataClass = date('Y-m-d',$tmsp2);
    $dataEff = date('d/m/Y', $tmsp2);
    
    /* impostiamo la query */
    $sqlquery = "SELECT * FROM `Class_commerciale` WHERE data = '".$dataClass."' ORDER BY `pos` ASC LIMIT 0 , 20";
    $result = mysql_query($sqlquery);
    $number = mysql_numrows($result);
    $i = 0; 
    ?> 
    <h1 style="color:#C30"><?=$dataEff?></h1>
    <div id="classifica">
    <p>Ciao <?=$user_profile->displayName?>! Vota la tua canzone preferita cliccando al lato del titolo o artista.<br />
    <span id="rosso">Attenzione:</span> Una volta cliccato il voto partirà automaticamente e non potrai più cambiare voto fino alla prossima uscita.<br />
    P= Posizione | PP = Posizione Precedente in classifica | S= Settimane in Classifica
    <br />
    
    St = Stato (<img src="/area/immagini/su.png" alt="su" width="14" height="20" />salita, <img src="/area/immagini/giu.png" alt="giu" width="14" height="20" />discesa, <img src="/area/immagini/stable.png" alt="stable" width="24" height="20" /> Stabile, <img src="/area/immagini/new.png" alt="new" width="24" height="20" /> Nuova Entrata) <br />
    <img src="/area/immagini/video.png" alt="vedi" width="27" height="19" border="0" align="absmiddle" /> Se disponibile vedi il video</p>
    
    
    <hr width="70%"/>
    
    <form action="" id="form1" method="post">
    <table width="100%" border="0" align="center" cellpadding="7" cellspacing="0" class="tabella">
    <tr align="center" valign="middle">
    <th width="5%" scope="col">P</th>
    <th width="8%" align="left" scope="col">St</th>
    <th width="5%" align="left" scope="col">PP</th>
    <th width="5%" align="left" scope="col">S</th>
    <th width="33%" align="left" scope="col">Titolo</th>
    <th width="33%" align="left" scope="col">Artista</th>
    <th width="3%" align="left" scope="col">&nbsp;</th>
    <th width="8%" scope="col">Vota</th>
    </tr>
    <?php
    if ($number < 1) {
    print "<tr ><td colspan='8'><center><p>La ricerca non ha prodotto nessun risultato</p></center></td></tr>";
    }else{
    while ($number > $i) {
    $id = mysql_result($result,$i,"id");
    $pos = mysql_result($result,$i,"pos");
    $posprec = mysql_result($result,$i,"posprec");
    $stato = mysql_result($result,$i,"stato");
    $settimane = mysql_result($result,$i,"settimane");
    $titolo = mysql_result($result,$i,"titolo");
    $artista = mysql_result($result,$i,"artista");
    $link = mysql_result($result,$i,"link");
    ?>
    
    <tr style="margin-bottom:10px">
    <td align="center" valign="middle" class="ui-state-default ui-corner-left bordi" ><?=$pos?></td>
    <td align="left" valign="middle" class="ui-state-default bordi" style="padding-left:0px"><img src="/area/immagini/<?=$stato?>.png" border="0" align="top" /></td>
    <td align="left" valign="middle" class="ui-state-default bordi"><?=$posprec?></td>
    <td align="left" valign="middle" class="ui-state-default bordi"><?=$settimane?></td>
    <td align="left" valign="middle" nowrap="nowrap" class="ui-state-default bordi"><?=$titolo?></td>
    <td align="left" valign="middle" nowrap="nowrap" class="ui-state-default bordi"><?=$artista?></td>
    <td align="left" valign="middle" nowrap="nowrap" class="ui-state-default bordi">
    <?php if ($link != "" or $link != null){ ?>
    <a href="#" onClick="window.open('/area/video.php?video=<?=$link?>','finestra','width=570, height=325, location=0');"><img src="/area/immagini/video.png" alt="vedi" width="27" height="19" border="0" /></a>
    <?php
    }
    ?>
    </td>
    <td align="center" valign="middle" class="ui-state-default bordi ui-corner-right"><input type="hidden" name="voto" id="voto" value="<?=$id?>" /><input type="submit" name="submit" id="submit" value="Vota"/></td>
    </tr>
    <?php
    $i++;
    }
    }
    
    //mysql_close()
    ?>
    </table>
    
    <div id="flip" align="center" class="ui-accordion-header ui-helper-reset ui-state-default ui-accordion-header-active ui-state-active ui-corner-top ui-accordion-icons">Non mi piace nessuna di questa. Clicca per vederne altre</div>
    <div id="panel">
    <?php
    $sqlquery = "SELECT * FROM `Class_commerciale` WHERE data = '".$dataClass."' ORDER BY `pos` ASC LIMIT 20 , 30";
    $result = mysql_query($sqlquery);
    $number = mysql_numrows($result);
    $i = 0;
    ?>
    <table width="100%" border="0" align="center" cellpadding="7" cellspacing="0" class="tabella" >
    <tr align="center" valign="middle">
    <th width="5%" scope="col">P</th>
    <th width="8%" align="left" scope="col">St</th>
    <th width="5%" align="left" scope="col">PP</th>
    <th width="5%" align="left" scope="col">S</th>
    <th width="33%" align="left" scope="col">Titolo</th>
    <th width="33%" align="left" scope="col">Artista</th>
    <th width="3%" align="left" scope="col">&nbsp;</th>
    <th width="8%" scope="col">Vota</th>
    </tr>
    <?php
    if ($number < 1) {
    print "<tr ><td colspan='8'><center><p>Non ci sono ulteriori tracce da mostrare, prova in un secondo momento</p></center></td></tr>";
    }else{
    while ($number > $i) {
    $id = mysql_result($result,$i,"id");
    $pos = mysql_result($result,$i,"pos");
    $posprec = mysql_result($result,$i,"posprec");
    $stato = mysql_result($result,$i,"stato");
    $settimane = mysql_result($result,$i,"settimane");
    $titolo = mysql_result($result,$i,"titolo");
    $artista = mysql_result($result,$i,"artista");
    $link = mysql_result($result,$i,"link");
    ?>
    
    <tr style="margin-bottom:10px">
    <td align="center" valign="middle" class="ui-state-default ui-corner-left bordi" ><?=$pos?></td>
    <td align="left" valign="middle" class="ui-state-default bordi" style="padding-left:0px"><img src="/area/immagini/<?=$stato?>.png" border="0" align="top" /></td>
    <td align="left" valign="middle" class="ui-state-default bordi"><?=$posprec?></td>
    <td align="left" valign="middle" class="ui-state-default bordi"><?=$settimane?></td>
    <td align="left" valign="middle" nowrap="nowrap" class="ui-state-default bordi"><?=$titolo?></td>
    <td align="left" valign="middle" nowrap="nowrap" class="ui-state-default bordi"><?=$artista?></td>
    <td align="left" valign="middle" nowrap="nowrap" class="ui-state-default bordi">
    <?php if ($link != "" or $link != null){ ?>
    <a href="#" onClick="window.open('/area/video.php?video=<?=$link?>','finestra','width=570, height=325, location=0');"><img src="/area/immagini/video.png" alt="vedi" width="27" height="19" border="0" /></a>
    <?php
    }
    ?>
    </td>
    <td align="center" valign="middle" class="ui-state-default bordi ui-corner-right"><input type="hidden" name="voto" id="voto" value="<?=$id?>" /><input type="submit" name="submit" id="submit" value="Vota"/></td>
    </tr>
    <?php
    $i++;
    }
    }
    
    mysql_close();
    
    ?>
    </table>
    </form> 
    </div> 
    </div>
    <br />
    
    <div id="registrati">
    <h3 align="center"> Per convalidare il tuo voto è necessario che tu faccia il login </h3>
    <h4>Puoi loggarti usando i tuoi social network </h4>
    <h5><p align = "center">[TheChamp-Login]</p> Puoi usare anche l'area a fianco per il Login con immissioni di dati manuali (metodo tradizionale). <br />Oppure <a href="http://www.dariopower.it/wp-login.php?action=register"><strong>Registrati</strong></a> con la procedura tradizionale. <br /> Ci vorranno pochi secondi</h5>
    </div>
    il voto viene registrato tramite chiamata ajax che richiama questo file php che se l'utente è loggato mette il voto nel database, altrimenti registra il voto in una variabile di sessione per usarla al momento del logi
    codice:
    <?php
    session_start();
    
    //essenziali per riconoscere l'utente
    include "../wp-load.php";
    include "config.php";
    
    global $current_user;
    $voto = $_POST['voto1'];
    
    if ( !is_user_logged_in() ){
    
    //do user logged out stuff
    $_SESSION['voto'] = $voto;
    
    echo "1";
    
    }
    else
    {
    //UTENTE LOGGATO ------
    if ($voto == ''){
    //$voto = $_SESSION['voto']; // -------
    }
    $id = get_current_user_id();
    $tmsp2 = strtotime("previous Saturday");
    $dataVoto = date('Y-m-d',$tmsp2);
    
    $result = mysql_query("SELECT id,Class_commerciale FROM `voti` where id=".$id." and Class_commerciale ='".$dataVoto."'") or die(mysql_error());
    $number = mysql_numrows($result);
    
    if ($number < 1) {
    
    /* inseriamo nel database il voto */
    mysql_query("UPDATE `Class_commerciale` SET voti = (voti + 1) WHERE id = ".$voto) or die(mysql_error());
    
    $verifica = mysql_query("SELECT id from `voti` where id = ".$id) or die(mysql_error());
    $risultato = mysql_numrows($verifica);
    
    if ($risultato < 1) {
    
    mysql_query("INSERT into `voti` (`id`,`Class_commerciale`) VALUES (".$id.",'".$dataVoto."')") or die(mysql_error());
    
    }else{
    
    mysql_query("UPDATE `voti` SET Class_commerciale ='".$dataVoto."' WHERE id = ".$id) or die(mysql_error());
    
    }
    
    $sqlquery = "SELECT * FROM `Class_commerciale` where id = ".$voto;
    
    $result = mysql_query($sqlquery);
    
    $titolo = mysql_result($result,0,"titolo");
    $artista = mysql_result($result,0,"artista");
    
    echo '2';
    
    
    mysql_close();
    } else{
    
    echo'3';
    
    }
    // FINE UTENTE LOGGATO ------
    }
    ?>

  4. #4
    le variabili di sessione non sono persistenti, vengono distrutte alla distruzione della sessione. immagino che nella pagina di login tu la sessione la rinnovi quindi quello che hai fatto prima lo perdi
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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.