Visualizzazione dei risultati da 1 a 5 su 5

Discussione: sessioni e pagine php

  1. #1

    sessioni e pagine php

    Salve a tutti ho creato questo script per il login, ma ho un piccolo problema quando effettuo il login.
    Praticamente una volta che effettuo il login, mi fa vedere loggato nella pagina in cui sto, in questo caso login.php, però cambiando pagina mi disconnette e non so perchè. Ho messo vari controlli in tutte le pagine come quello in baso a questo codice ma nulla.
    PS.: la sessione la faccio avviare in ogni pagina tramite session_start();.
    Codice PHP:
    <?php
    */
    Creato daM S
    Vietato rimuovere copyright
    */

    // includiamo il file di connessione al database

    include ('configurazione.php');

    // creiamo il nostro modulo di login
    ?>

    <form method="post" action="?login=success">

      <p><b>Nome Utente</b><br>
      <input type="text" name="username">
      <br />
      <br>
        
      <b>Password</b><br>
      <input type="password" name="password">
      <br />
      <br>
      
        <input type="image" src="files/img/button_log.jpg" border="0"/><br>
      </p>

    </form>

    <?php

    // attraverso un if controlliamo che il form sia stato inviato

    if ( $_GET['login'] == "success" ) {

    // recuperiamo i dati inviati con il form

    $username $_POST['username'];

    $password $_POST['password'];

    // ora controlliamo che i campi siano stati tutti compilati

    if ( $username == TRUE && $password == TRUE)  {

    $username mysql_real_escape_string($username);
    $password mysql_real_escape_string($password);    

    $risultati mysql_query("SELECT * FROM utenti WHERE user = '$username' AND pass = '$password'");

    $vettore mysql_fetch_array($risultati);

    $num mysql_num_rows($risultati);

    if ( 
    $num == ) {

            echo 
    "Complimenti $username login effettuato con successo.";
            
    session_start();
            
    $_SESSION['id'] = $vettore['id'];
            
    $_SESSION['username'] = $vettore['user'];

    // messaggi da far visualizzare per conferma inserimento
     
    }
    else {

    echo 
    "Username o password sbagliati";

    }

    } else {

    echo 
    "Username o password mancanti.";

    }

    }
    if ((
    $_SESSION['id']) != 0) {
        echo 
    "funziona";
        } else {
            echo 
    "non funziona";
        }
    ?>

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,469
    E session_start() la metti come prima istruzione?

    Se fai
    print_r($_SESSION);

    cosa viene stampato?

  3. #3
    si session_start prima di ogni funzione subito dopo il tag di apertura del body.
    comunque con print session mi esce prima di loggarmi array () e dopo array [id] => 1 [username] => provautente

    poi come ricarico la pagina si riazzera tutto

  4. #4
    Utente di HTML.it L'avatar di Disema
    Registrato dal
    Sep 2014
    Messaggi
    63
    Se non ricordo male ho letto da qualche parte che il session_start() deve stare all'inizio di tutto anche prima del tag <html>.
    Prova a metterlo all'inizio e vedi che succede.

  5. #5
    risolto grazie mille.

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.