Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Messaggio di benvenuto utente loggato

    ciao a tutti,
    avrei la necessità di mettere un messaggio di benvenuto ad un utente loggato.

    il codice che ho usato è senza l'appoggio di un database e per quello che mi serve va benissimo, solo che quando chiamo un echo con la variabile, l'output è "1", come se l'utente non venisse riconosciuto.

    ecco il codice della pagina di login:

    session_start();
    $errorMessage = '';
    if(isset($_POST['txtUserId']) && isset($_POST['txtPassword']))
    {
    switch($_POST['txtUserId'] . ':{}:' . $_POST['txtPassword'])
    {
    case 'user1:{}assword1':
    $_SESSION['basic_is_logged_in'] = true;
    session_write_close();
    header('Location: http://' . $_SERVER['HTTP_HOST'] . '/main.php');
    exit();
    break;
    case 'user2:{}assword2':
    $_SESSION['basic_is_logged_in'] = true;
    session_write_close();
    header('Location: http://' . $_SERVER['HTTP_HOST'] . '/main.php');
    exit();
    break;
    default:
    $errorMessage = 'Sorry, wrong username / password';
    }
    }

    e questo quello della pagina main:

    session_start();
    if (!isset($_SESSION['basic_is_logged_in'])
    || $_SESSION['basic_is_logged_in'] != true) {
    header('Location: login.php');
    exit;
    }

    grazie mille

    ciao
    -------
    babs

  2. #2
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    non vedo nessun echo nel tuo codice..

  3. #3
    no, non l'ho postato anche perché non va, come dicevo, comunque ho provato con:

    echo $_SESSION['basic_is_logged_in'];
    che mi ritorna valore 1

    e anche con

    echo $_SESSION['txtUserId'];
    che non mi ritorna nessun valore
    -------
    babs

  4. #4
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Originariamente inviato da graphbabs
    no, non l'ho postato anche perché non va, come dicevo, comunque ho provato con:

    echo $_SESSION['basic_is_logged_in'];
    che mi ritorna valore 1
    E' giusto, nel codice di sopra hai $_SESSION['basic_is_logged_in'] = true;
    Se fai un echo di un valore true, vedrai un 1

    e anche con

    echo $_SESSION['txtUserId'];
    che non mi ritorna nessun valore
    sempre giusto, non imposti da nessuna parte questa variabile di sessione.. Dovresti impostarla, qualcosa tipo $_SESSION['txtUserId'] = $_POST['txtUserId'];

    inutile dire anche che devi pulirla da eventuali caratteri html o altri pericolosi prima di fare l'echo

  5. #5
    grazie... ma non mi è chiaro cosa dovrei fare.
    dove dovrei impostare la variabile?
    -------
    babs

  6. #6
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    la devi impostare se le credenziali sono giuste, quindi suppongo nello stesso posto dove imposti $_SESSION['basic_is_logged_in'] = true;

  7. #7
    non ho parole, grazie mille.
    -------
    babs

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.