Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Log-in con sessioni

  1. #1

    Log-in con sessioni

    Ciao ragazzi,

    questa volata sono alle prese con un sistema di log-in, l'ho fatto da zero sbirciando qua e la.
    Il sistema finziona, nel senso che la sessione viene fissata ma non viene mantenuta se cambio pagina.

    Questo è il codice, qualcuno mi saprebbe dare una mano?


    <?php
    session_start();
    // percorso dell'action
    $percorso = $_SERVER['PHP_SELF'] . "?keyword=" . $keyword . "&lng=" . $lng;

    function create_form() {
    echo '<form id="form" action="';
    echo $percorso . '" method="post" name="registrazione" target="_self">';
    echo '<input name="id" type="text" value="user" onFocus="if (this.value==this.defaultValue) this.value=\'\' " onBlur="if (this.value==\'\') this.value=this.defaultValue" size="10">';
    echo '<input name="password" value="00000000" type="password" onFocus="if (this.value==this.defaultValue) this.value=\'\' " onBlur="if (this.value==\'\') this.value=this.defaultValue" size="8" maxlength="10">';
    echo '<input name="accedi" type="submit" value="accedi"></form>';
    }
    //$form = create_form();

    if (file_exists("inc.connessione.php")) {
    include ("inc.connessione.php");
    }
    //form e verifica
    if (empty($_POST['accedi'])) {
    echo create_form();
    //echo "blocco 2.1";
    }
    else {
    $user = $_POST['id'];
    $password = $_POST['password'];
    if ($user == " " || $user == "user" || $user == NULL || $password == " " || $password == "00000000" || $password == NULL) {
    echo '<span class="benvenuto">Ti sei dimenticato di inserire qualcosa</span>';
    echo create_form();
    //echo "blocco 2.2";
    }
    else {

    $utente_collaboratore = mysql_query("SELECT * FROM collaboratori WHERE username ='" . $user . "' AND password = '" . $password . "'");
    $mostra_collaboratore = mysql_fetch_row ($utente_collaboratore);
    // 1 e 2
    // echo $mostra_collaboratore[1] . " " . $mostra_collaboratore[2];

    if($mostra_collaboratore[1]){
    $utente = $mostra_collaboratore[1];
    }

    $cliente = mysql_query("SELECT * FROM clienti WHERE username ='" . $user . "' AND password = '" . $password . "'");
    $mostra_cliente = mysql_fetch_row ($cliente);
    // 30 e 31
    // echo $mostra_cliente[30] . " " . $mostra_cliente[31];

    if($mostra_cliente[30]){
    $utente = $mostra_cliente[30];
    }

    if ($utente) {
    $_SESSION['login_effettuato'] = true;
    echo '<span class="benvenuto">Benvenuto, ' . $utente . ' <a href=logout.php>logout</a> </span>';
    }
    else {
    $_SESSION['login_effettuato'] = false;
    echo '<span class="benvenuto">errore, sessione non fissata</span>';
    }
    }
    }

    ?>

    Andrea
    Dindya

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    324
    ....ovviamente hai session_start(); in testa ad ogni pagina dopo quella di login, giusto?
    Ho la sindrome di Peter Pan, le manie di persecuzione...se sapessi suonare uno strumento sicuramente avrei anche un complesso.

  3. #3
    eh si, certo...hai qualche consiglio da darmi? Ho sentito parlare di obstart ma non ci ho capito nulla. Il mio codice va bene?
    Dindya

  4. #4
    Ho risolto mettendo in ogni pagina una verifica di creazione della variabile $_session['sessione_creata'];
    Dindya

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.