Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    non mi fa stampare $_SESSION['id'], perchè?

    Salve a tutti, oggi ho ripreso il progetto del mio sito
    Nella pagina utente creata quando ci si registra, all'inizio avevo impostato che scrivesse direttamente su quella pagina per esempio il nome utente e l'email, adesso ho voluto che pescasse direttamente da database
    Per rendere le pagine univoche, gli ho detto che guardi all'interno della tabella login dove l'id è uguale all'id del $_SESSION['id'], mi sembrava la cosa più logica
    Il problema è che non lo prende ç_ç come variabili $_SESSION mi prende solo l'username, ma tutte le altre no
    Da cosa può dipendere? non capisco il suo funzionamento!


    Codice PHP:
    $nominativo=$_SESSION['id'];
     
    mysql_select_db("db",mysql_connect("localhost""utente""password"));  

    $query=mysql_query("SELECT * FROM utenti WHERE id='$nominativo' ");  
    $quanti_record=mysql_num_rows($query); 
     if(
    $quanti_record>0){ 
     while(
    $row=mysql_fetch_array($query)){ 
         echo 
    "<center>[b]".$row['username']."[/b]
    "

         echo 
    "name [b]".$row['nome']."[/b]
    "

         echo 
    "surname [b]".$row['cognome']."[/b]
    "

         echo 
    "email [b]".$row['mail']."[/b]
    "
    ;          
         }
    //fine while
     
    }//fine if 

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Ma quindi la sessione è settata? Non trova l'utente? Hai aggiunto il session_start?

  3. #3
    certo è tutto settato ed è sempre andato, se voglio stampare il $_SESSION['username'] me lo fa fare

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da morphalex90
    certo è tutto settato ed è sempre andato, se voglio stampare il $_SESSION['username'] me lo fa fare
    Quindi in pratica ti fa stampare solo $_SESSION['username']?

    Dove vengono settate le sessioni (posta il codice)? E in altre pagine riesci a stamparne altre?

  5. #5
    Originariamente inviato da morphalex90
    certo è tutto settato ed è sempre andato, se voglio stampare il $_SESSION['username'] me lo fa fare
    Ma sei sicuro di prelevare l'id dal database prima di riusarlo? Non puoi inventarti $_SESSION['id'] senza prima prelevarlo dal database tramite $_SESSION['username'].

  6. #6
    esatto!
    in altre pagine non ho ancora provato in quanto ho modificato solo questa per vedere se funzionava
    Cosa intendi per dove vengono settate le sessioni?
    Io in alto ad ogni pagina ho messo il

    Codice PHP:
    if ($_SESSION['login'] != "yes"
    così mi entra nel ramo che fa vedere la pagina, sennò dice "registrati per vedere"

    EDIT
    è di quello che non sono affatto sicuro
    il sistema di login l'ho preso già fatto (dev login) e l'ho modificato come pareva a me passo passo, non tutto però mi è chiarissimo

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da morphalex90
    esatto!
    in altre pagine non ho ancora provato in quanto ho modificato solo questa per vedere se funzionava
    Cosa intendi per dove vengono settate le sessioni?
    Io in alto ad ogni pagina ho messo il

    Codice PHP:
    if ($_SESSION['login'] != "yes"
    così mi entra nel ramo che fa vedere la pagina, sennò dice "registrati per vedere"
    Intendevo dove vengono settate, al login? (posta il codice)

    è di quello che non sono affatto sicuro
    il sistema di login l'ho preso già fatto (dev login) e l'ho modificato come pareva a me passo passo, non tutto però mi è chiarissimo
    Un altro motivo per dare una controllata

  8. #8
    io ad inizio di ogni pagina ho

    Codice PHP:
    <? session_start();
     include (
    "functions.php");  
     
    // Connessione al database
     
    include ('inc/config.php');
     
    Db_connect();



    dentro al funtions.php ho, oltre ad altre cose

    Codice PHP:
    function Db_connect() {  
         include (
    "inc/config.php");      
     
    $db mysql_connect($db_host$db_user$db_pass);
          if (
    $db == FALSE)   
        die (
    "<img src=\"images/button_cancel.gif\"> <span class=\"Stile7\">Errore nella connessione. Verificare i parametri del database nel file inc/config.php</span>");  
         
    mysql_select_db($db_name$db)  
         or die (
    "<img src=\"images/button_cancel.gif\"> <span class=\"Stile7\">Errore nella selezione del database. Verificare i parametri nel file inc/config.php</span>");  } 
    dentro al config.php ho il nome utente password del database


    mentre dentro al myconfig.php (usato da altre pagine) ho

    Codice PHP:
    function Login() {

    include ("inc/config.php");

    //
    // Inizio codice: Se l'utente ha già effettuato il login
    //
    if ($_SESSION['login'] == "yes") {
     ?>

     [b]Username[/b]: <?=$_SESSION['username']."<img src=\"users/" .$_SESSION['username']. "/image_profile\" height=\"30\" width=\"30\">";?>

     [url="<?=$urlsito;?>/users/<?=$_SESSION['username']?>"]Enter on your personal page[/url]

     [url="<?=$urlsito;?>/logout.php"]Logout[/url]
     </div>


     <?
    }

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da morphalex90
    io ad inizio di ogni pagina ho

    Codice PHP:
    <? session_start();
     include (
    "functions.php");  
     
    // Connessione al database
     
    include ('inc/config.php');
     
    Db_connect();



    dentro al funtions.php ho, oltre ad altre cose

    Codice PHP:
    function Db_connect() {  
         include (
    "inc/config.php");      
     
    $db mysql_connect($db_host$db_user$db_pass);
          if (
    $db == FALSE)   
        die (
    "<img src=\"images/button_cancel.gif\"> <span class=\"Stile7\">Errore nella connessione. Verificare i parametri del database nel file inc/config.php</span>");  
         
    mysql_select_db($db_name$db)  
         or die (
    "<img src=\"images/button_cancel.gif\"> <span class=\"Stile7\">Errore nella selezione del database. Verificare i parametri nel file inc/config.php</span>");  } 
    dentro al config.php ho il nome utente password del database


    mentre dentro al myconfig.php (usato da altre pagine) ho

    Codice PHP:
    function Login() {

    include ("inc/config.php");

    //
    // Inizio codice: Se l'utente ha già effettuato il login
    //
    if ($_SESSION['login'] == "yes") {
     ?>

     [b]Username[/b]: <?=$_SESSION['username']."<img src=\"users/" .$_SESSION['username']. "/image_profile\" height=\"30\" width=\"30\">";?>

     [url="<?=$urlsito;?>/users/<?=$_SESSION['username']?>"]Enter on your personal page[/url]

     [url="<?=$urlsito;?>/logout.php"]Logout[/url]
     </div>


     <?
    }
    Okey ma intendo il punto in cui vengono SETTATE le sessioni quindi al controllo
    dei campi nel database quando un utente invia il form non il resto

  10. #10
    :S che scemo che sono, è vero che il login viene fatto su pagina esterna!
    Codice PHP:
    $action= $_GET['action'];

    if($action == "login_do")
    {   
       
        $user= $_POST['user'];
        $pass= $_POST['pass'];

        // Controllo inserimento dati
        if (trim($user) == "" OR trim($pass) == "")
         Errore("javascript:history.go(-1)", "Errore", "I campi devono essere riempiti" ,".");

        else 
         {
              $user = addslashes(stripslashes($user));
             $pass = addslashes(stripslashes($pass));
             $user = str_replace("<", "&lt;", $user);
            $pass = str_replace(">", "&gt;", $pass);
            
            // Connessione al database
            Db_connect();
                     
                 // Recupero dati dal database
                 if (!get_magic_quotes_gpc())
                 {
                     $user= addslashes($_POST['user']);
                     $pass= addslashes($_POST['pass']);
                 }
                 
                 else
                 {
                     $user= $_POST['user'];
                     $pass= $_POST['pass'];
                 }
                 $crypt_pass = md5($pass);
                 $query = "SELECT * from ".$tbl_prefix."user WHERE username = '$user' AND password = '$crypt_pass'";
                 $risultato = mysql_query($query);
                 $num_righe = mysql_num_rows($risultato);
                 if($num_righe)
                {
                    //  L'utente è stato riconosciuto

                  $row = mysql_fetch_array($risultato);
                  if ($row['actived'] != "1")
             Errore("javascript:history.go(-1)", "Errore", "L'account non risulta ancora attivato tramite la conferma email!" ,".");
                 
                    session_cache_limiter("private_no_expire");
                    
                    $_SESSION['login'] = "yes";
                    $_SESSION['auth'] = $row[auth];
                    $_SESSION['username'] = $row[username];
                    $_SESSION['nome'] = $row[nome];
                    $_SESSION['cognome'] = $row[cognome];
                    $_SESSION['mail'] = $row[mail];

    ?>
        <script type="text/javascript">
        location.href = "index.php";
        </script>    
        <?
                    
                
    }
                
                
    // Nome utente o password errati
                 
    else
                 
    Errore("javascript:history.go(-1)""Errore""Username o password errati!" ,".");
        }

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.