Visualizzazione dei risultati da 1 a 6 su 6

Discussione: riconoscimento utente

  1. #1

    help riconoscimento utente

    mi potete aiutare perche ho un piccolo problema

    chiedo come si fa a stampare a scermo un utente loggato
    ecco vorrei che quando un persona visita il mio sito se non e loggata voglio che appaia
    Benvenuto: Visitatore
    mentre quando una persona e iscritta e fa il login voglio che appaia
    Benvenuto: Nome utente

    come posso fare??

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    in cima ad ogni script aggiungi una riga contenente:

    Codice PHP:
    session_start();
    $utente = ((isset($_SESSION['utente']))?($_SESSION['utente']):(false)); 
    nella pagina dove si viene reindirizzati dopo il login aggiungi:
    Codice PHP:
    $_SESSION['utente'] = $_POST['utente']; // supponendo che $_POST['utente'] contenga il nome dell'utente immesso in un form e dopo aver controllato la password, altrimenti usa la variabile corretta 
    dove vuoi stampare il benvenuto poi metti:
    Codice PHP:
    if ($utente) {
      print 
    "Benvenuto $utente";
    } else {
      print 
    "Benvenuto visitatore";
    }; 
    (si potrebbe usare al posto di "false" in alto 'Visitatore' e poi fare un semplice print senza if, ma è "logicamente" scorretto... così è meglio anche per eventuali modifiche future)

  3. #3
    Codice PHP:
    if ($utente

    print 
    "Benvenuto $utente"
    } else {
    print 
    "Benvenuto visitatore"
    }; 
    questo lo devo mettere dove ce gia uno script ho posso farne uno solo con questo codice

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    il "benvenuto" lo puoi mettere dove vuoi, anche da solo, purchè lasci le prime due righe che dicevo da mettere in TUTTI gli script (e che inizializzano la variabile "$utente")

  5. #5
    grazie
    sei stato gentilissimo

    ma il sec codice qui dove lo devo mettere

    codice php:

    <?php
    session_start();
    require('connessionedb.php'); //o le vostre istruzioni per il collegaamento al db

    if(!isset($_SESSION['log']))
    {
    $_SESSION['log'] = 0;
    }
    if(!isset($_SESSION['username']))
    {
    $_SESSION['username'] = "Non Registrato";
    }

    // Ora controlliamo se $_SESSION['log']!=1, cioè se l'utente non è logato
    if ($_SESSION['log'] != 1)
    {
    // Se non lo è procediamo come segue:
    if(isset($_POST['pass']) && isset($_POST['user']))
    {
    $qry_pass = mysql_real_escape_string(md5($_POST['pass']));
    $qry_user = mysql_real_escape_string($_POST['user']);
    /*Da notare l'utilizzo di md5 per trasformare di nuovo il valore della
    password passata nel suo hash per poterla confrontare con quella contenuta nel db.
    Poi procediamo verificando username, password e stato registrazione */
    $query = "SELECT * " .
    "FROM user " .
    "WHERE user_username = '$qry_user' " .
    "AND user_password = '$qry_pass' " .
    "AND user_reg = 1 ";
    $results = mysql_query($query) or die (mysql_error());

    if(mysql_num_rows($results) != 0)
    {
    $row = mysql_fetch_array($results);
    $_SESSION['log'] = 1; // utente logato
    $_SESSION['username'] = $row['user_username'];
    }
    }
    }
    echo "Utente on-line: " . $_SESSION['username'] . "

    ";
    ?>


    <html>
    <head>
    <title>Home Page</title>

    <SCRIPT LANGUAGE="JavaScript">
    function ver()
    {
    for (i=0; i<document.forms[0].elements.length; ++i)
    if(document.forms[0].elements[i].value == "")
    {
    alert("Inserire username e password!");
    document.forms[0].elements[i].focus();
    return false;
    }
    return true;
    }
    </SCRIPT>
    </head>
    <body>



    <?php
    /*Infine notiamo come a seconda del valore contenuto in $_SESSION['log'] 0/1
    possiamo visulizzare alcune parti html piuttosto che altre.*/
    if ($_SESSION['log'] != 1)
    {
    ?>
    <form name="login" action="index.php" method="post" onSubmit="return ver();">
    Username

    <input name="user" type="text" size="15" maxlength="11">


    Password

    <input name="pass" type="password" maxlength="8">


    <input type="submit" name="submit" value="Login">
    </form>


    </p>


    Non ti sei ancora registrato?</p>


    Clicca qui e registrati subito!</p>
    <?php
    }else {
    ?>
    <form name="logout" action="logout.php" method="post" onSubmit="return ver();">
    <input type="submit" name="submit" value="Logout">
    </form>
    <?php
    }
    ?>
    </body>
    </html>

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    dunque... siccome c'è già un controllo che usa un'altra variabile e che fa comparire il form per il login se l'utente non ha già effettuato l'accesso OPPURE il link alla voce "logout" per uscire in caso contrario, devi inserire il benvenuto - suppongo questo sia l'effetto desiderato - così (riproduco solo il blocco <body>...</body> con le aggiunte):



    Codice PHP:
    <body>



    <?php
    /*Infine notiamo come a seconda del valore contenuto in $_SESSION['log'] 0/1
    possiamo visulizzare alcune parti html piuttosto che altre.*/
    if ($_SESSION['log'] != 1)
    {
    ?>

    BENVENUTO VISITATORE

    <form name="login" action="index.php" method="post" onSubmit="return ver();">
    Username

    <input name="user" type="text" size="15" maxlength="11">


    Password

    <input name="pass" type="password" maxlength="8">


    <input type="submit" name="submit" value="Login">
    </form>


    </p>


    Non ti sei ancora registrato?</p>


    [url="registrazione.php"]Clicca qui e registrati subito![/url]</p>

    <?php
    }else {
    ?>

    BENVENUTO <?php print $_SESSION['username']; ?>

    <form name="logout" action="logout.php" method="post" onSubmit="return ver();">
    <input type="submit" name="submit" value="Logout">
    </form>

    <?php
    }
    ?>
    </body>
    dove ho messo le scritte di benvenuto e ho marcato con dei commenti l'inizio e la fine dei blocchi HTML per utenti non o già registrati... in pratica devi considerare ciascun blocco come se fossero due pagine distinte e che verranno mostrate alternativamente a seconda del caso.

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.