Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Problema con sessioni

  1. #1
    Utente di HTML.it L'avatar di wino_7
    Registrato dal
    Dec 2006
    Messaggi
    537

    Problema con sessioni

    Salve a tutti ho iniziato da poco a studiare le sessioni ma non le riesco a far funzionare.
    Ho scritto uno script che dopo il log-in mi fa visualizzare la lista di una tabella del database (la prima volta in ordine di chiave primaria).
    Poi successivamente quando clicco su un link mi deve rioridnare la lista in base alla scelta dell'utente ma ogni volta devo ripetere il log-in mi sapresta aiutare???
    Vi posto il codice della prima pagina :

    Codice PHP:
    <?php
    session_start
    ();
    if(!isset(
    $_SESSION['user']))
    {
      
    $_SESSION['user'] = 'a';
    }

    if(isset(
    $_SESSION['bool']))
    {
      
    header('location:' $_SERVER["PHP_SELF"] . '?' SID);
    };
    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>
    </head>

    <body>
    <h1>Log-In</h1>
    <form action="Connessione_2.php?id=pk" method="post">
    <input type="text" name="user" id="user" />
    <input type="password" name="password" id="password" />
    <button type="submit">Log in</button>
    </form>
    </body>
    </html>
    Vi posto il codice della seconda pagina :

    Codice PHP:
    <?php
    session_start
    ();
    if(isset(
    $_SESSION['user']))
    {
      
    $_SESSION['user'] = $_POST['user'];
      
    $_SESSION['user'] = $_POST['password'];
    }
    if(isset(
    $_SESSION['bool']))
    {
      
    header('location:' $_SERVER["PHP_SELF"] . '?' SID);
    }
    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>
    <style type="text/css">
    a:first-letter { color: #000000;}
    </style>
    </head>

    <body>
    <?php
    $connessione 
    = @mysql_connect("localhost"$_SESSION["user"], $_SESSION["password"]) or die ("<h1 style='color:#FF0000'>Connessione non riuscita: </h1>" mysql_error());

    echo 
    "<h1 style='color: #00CC00;'>Connesso al Database Server</h1>\n";


    // Stampare i valori di una tabella
    $db mysql_select_db(prodotti);  // Scegli il Database
    $query " SELECT * FROM articoli ORDER BY  " $_GET['id'] . " ASC ";  // Crea la query
    $result mysql_query($query);  // Lancia la query


    echo "<table border='1'>\n  <tr>\n";
    for (
    $i=0$i mysql_num_fields($result); $i++)
      {
       echo 
    '    <th>[url="' $_SERVER['PHP_SELF'] . '?id=' mysql_field_name($result$i) . '"]' mysql_field_name($result$i) . '[/url]</th>' ."\n"
       }
       echo 
    "  </tr>\n";
       
       while (
    $row mysql_fetch_row($result))
      {
       echo 
    '  <tr>' "\n" '    <td>' implode($row,"</td>\n    <td>") . "</td>\n  </tr>\n"
      }
    echo 
    "</table>\n";
    ?>

    </body>
    </html>

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    non ho letto tutto lo script, ma vedo che assegni 2 volte a $_SESSION['user'] 2 valori diversi, potrebbe essere questo il problema?

    La sessione funziona cosi come l'hai scritta, il problema è sicuramente nello script.

    ciao

  3. #3
    Utente di HTML.it L'avatar di ade_v
    Registrato dal
    Jan 2001
    Messaggi
    459
    Al fondo delle due pagine aggiungi un
    Codice PHP:
    print_r($_SESSION); 
    così vedi effettivamente se ti crea le sessioni e cosa ci scrive dentro
    ade_v@yahoo.it

    Fletto i muscoli e sono nel vuoto

    Se inviate messaggi privati, avvisatemi sul forum...

  4. #4
    Utente di HTML.it L'avatar di wdb
    Registrato dal
    Nov 2002
    Messaggi
    155
    Verifica in PHP che la variabile del file "php.ini"

    codice:
    ;session.save_path = "/tmp"
    sia correttamente impostata ed indirizzata ad una directory esistente
    Es (x ambiente windows):

    codice:
    session.save_path = C:\Temp
    Se non e' cosi', allora modifica il file php.ini e dai restart al servizio di Apache.

  5. #5
    Utente di HTML.it L'avatar di wino_7
    Registrato dal
    Dec 2006
    Messaggi
    537
    Originariamente inviato da ade_v
    Al fondo delle due pagine aggiungi un
    Codice PHP:
    print_r($_SESSION); 
    così vedi effettivamente se ti crea le sessioni e cosa ci scrive dentro
    Ho stampato
    Codice PHP:
    print_r($_SESSION); 
    E mi stampa array().

    In tutte e due le pagine cosa vuol dire?

  6. #6
    Utente di HTML.it L'avatar di ade_v
    Registrato dal
    Jan 2001
    Messaggi
    459
    vuol dire che le tue sessioni non vengono create . probabilmente ha ragione wdb
    ade_v@yahoo.it

    Fletto i muscoli e sono nel vuoto

    Se inviate messaggi privati, avvisatemi sul forum...

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.