Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di Alberto
    Registrato dal
    Oct 2004
    Messaggi
    1,870

    la sessione non mi passa i dati

    Dopo un po' di tempo ho rimesso mani su PHP e su uno script di login funzionante (almeno l'ultima volta che l'ho usato andava) non riesco ad avviare la sessione

    questa è la pagina di login
    Codice PHP:
    <?php
    session_start
    ();
    require_once 
    'config.php';

    include 
    'classi/mysql_class.php';

    $mDbConnect = new mysql_class();

    $mDbConnect->dbConnect($db,$host,$user,$password);

    $user false;

    if (isset(
    $_REQUEST['action']) && $_REQUEST['action']=='login') {
            
    $result=mysql_query("SELECT * FROM tblusers WHERE username='".mysql_real_escape_string($_REQUEST['username'])."' AND password='".mysql_real_escape_string(md5($_REQUEST['password']))."'");
            
    $num_rows mysql_num_rows($result);
            if(
    $num_rows !== 0){
                
    $row=mysql_fetch_row($result);            
                
    $_SESSION['logged_in'] = 1;
                
    $_SESSION['id']=$row[0];
                
    $_SESSION['username']=$row[1];
            }else{
                
    //NON SEI LOGGATO
                
    $_SESSION['username'] = '';
            }
    }

    if(isset(
    $_SESSION['username']) && $_SESSION['username'] != ''){    
        print
    "<h2>Bentornato ".$_SESSION['username']."</h2>"."<meta http-equiv='refresh' content='2; url=index.php?page=page/riservata/index2&liv=8'>";   
    }else{
        print
    "<h2>Utente Sconosciuto<h2>"."<meta http-equiv='refresh' content='2; url=index.php?page=page/riservata/index&liv=8'>";    
        
    $mDbConnect->close_dbConnect();
    }
    ?>
    e questa la index2 dove vengo reindirizzato a login effettuato dove per ora controllo semplicemente che sia stato effettuato il login

    Codice PHP:
    session_start();
    if(isset(
    $_SESSION['logged_in']) && $_SESSION['logged_in'] == 1){
            echo 
    "loggato";
    }else{
        echo 
    "non loggato";


  2. #2
    Utente di HTML.it L'avatar di Alberto
    Registrato dal
    Oct 2004
    Messaggi
    1,870
    allora, ho scoperto che lo script e le sessioni funzionano se utilizzo il tutto da solo, mentre se utilizzo questo script per includere le pagine con solo i contenuti non funziona
    Codice PHP:
    <?php
    //evita che il comando Set-Cookie possa esser inviato via query string
    if (strpos(strtolower($_SERVER['REQUEST_URI']),"set-cookie:")!==false) exit;

    include(
    "testata.php");
    include(
    "menu.php");

    $p="page/home"//pagina di default per i contenuti centrali
    if(isset($_GET['page'])){ //pagina passata via parametro
        
    $p=$_GET['page'];
        if(
    $p==="index" || !file_exists($p.".php"))
            
    $p="error"//pagina di errore
        
    }    
        if(isset(
    $p)){
            include(
    $p.".php");
        }
    include(
    "fondo.php");
    ?>
    devo usare qualche accorgimento particolare? :master:

  3. #3

  4. #4
    Non ho capito che intendi per:

    "mentre se utilizzo questo script per includere le pagine con solo i contenuti non funziona"

  5. #5
    Utente di HTML.it L'avatar di Alberto
    Registrato dal
    Oct 2004
    Messaggi
    1,870
    Originariamente inviato da Samleo
    Non ho capito che intendi per:

    "mentre se utilizzo questo script per includere le pagine con solo i contenuti non funziona"
    utillizzo quello script per costruire il layout del sito, in modo da avere le pagine "home,link ecc" con solo il contenuto senza la testata e il menù che sono in file separati, e utilizzando nel menù i link alle pagine in questo modo
    index.php?page=page/home
    index.php?page=page/link
    index.php?page=page/contatti
    index.php?page=page/areariservata/login
    se utilizzo questo modo per richiamare le pagine dell'area riservata, una volta autenticato le pagine successive perdono i dati di sessione, mentre se accedo alle pagine direttamente, cioè localhost/portale/page/areariservata/login.php tutto funziona normalmente

    se non sono stato chiaro dimmelo pure perché mi interessa capire e risolvere il problema

  6. #6
    Il pezzo di codice relativo al login si trova in testata.php?

  7. #7
    Utente di HTML.it L'avatar di Alberto
    Registrato dal
    Oct 2004
    Messaggi
    1,870
    no, ho una cartella a parte area riservata che inizia la pagina di login che distingue se si è loggati oppure no per visualizzare il form di login o le opzioni per gli utenti registrati

  8. #8

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    157
    Originariamente inviato da Alberto
    allora, ho scoperto che lo script e le sessioni funzionano se utilizzo il tutto da solo, mentre se utilizzo questo script per includere le pagine con solo i contenuti non funziona
    Codice PHP:
    <?php
    //evita che il comando Set-Cookie possa esser inviato via query string
    if (strpos(strtolower($_SERVER['REQUEST_URI']),"set-cookie:")!==false) exit;

    include(
    "testata.php");
    include(
    "menu.php");

    $p="page/home"//pagina di default per i contenuti centrali
    if(isset($_GET['page'])){ //pagina passata via parametro
        
    $p=$_GET['page'];
        if(
    $p==="index" || !file_exists($p.".php"))
            
    $p="error"//pagina di errore
        
    }    
        if(isset(
    $p)){
            include(
    $p.".php");
        }
    include(
    "fondo.php");
    ?>
    devo usare qualche accorgimento particolare? :master:
    non ho capito cosa c'è che non ti funziona, però qui manca il session_start(); ^^

  10. #10
    Utente di HTML.it L'avatar di Alberto
    Registrato dal
    Oct 2004
    Messaggi
    1,870
    Originariamente inviato da cigiri18
    non ho capito cosa c'è che non ti funziona, però qui manca il session_start(); ^^
    Mi mancava di capire dove inserire il session_start(); lo avevo messo nel file testata.php che è quello con doctype ecc, ma non andava... mettendolo all'inizio dello script invece ora funziona tutto a dovere.

    Grazie

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.