Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    17

    Problema visualizzazione dati utente

    Salve, ho creato una pagina "account.php", che servirebbe per far vedere ad un utente i suoi dati, con questo codice:
    Codice PHP:
    <?php
    include 'config.php';
    include 
    'connect.php';
    session_start();
    if(
    session_is_registered(Logged)){
    echo 
    "[url="index.php>Home</a>"]My Account[/url] | [url="tos.php>T.O.S.</a>"]Logout[/url]

    "
    ;
    $dati mysql_query("SELECT username, email, name, surname, balance FROM users ",$conn);
     
    while (
    $row mysql_fetch_assoc($dati)) {
        echo 
    'Username: '$row['username'] , 
    Name: '
    $row['name'] , 
    Surname: '
    $row['surname'] , 
    Email: '
    $row['email'] , 
    Balance: '
    $row['balance'];
    }
    } else {
    echo  
    "[url="index.php>Home</a>"]Login[/url] | [url="signup.php>Sign"] | <a href=tos.php>T.O.S.[/url]

    For see this page you must login.

    "
    ;
    }
    ?>
    Il problema è che sulla pagina vengono visualizzati i dati di TUTTI gli utenti e non di quello con il quale si è effettuato il login.
    Avrei pensato di salvare un cookie ma non so come fare.. Oppure al momento del login collegare l'user al proprio id per stampare i suoi dati ma non so come fare neanche questo.
    Qualcuno può darmi qualche spunto? Grazie.

  2. #2
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    Codice PHP:
    $dati mysql_query("SELECT username, email, name, surname, balance FROM users WHERE id='".$_SESSION['idUtente']."' ",$conn); 
    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    17
    Originariamente inviato da las
    Codice PHP:
    $dati mysql_query("SELECT username, email, name, surname, balance FROM users WHERE id='".$_SESSION['idUtente']."' ",$conn); 
    Grazie, credo che dovrebbe essere così.
    Codice PHP:
    $dati mysql_query("SELECT username, email, name, surname, balance FROM users WHERE id='".$_SESSION[$userid]."' ",$conn); 
    La mio pagina di login è questa:
    Codice PHP:
    <?php
        session_start
    ();
    if(
    session_is_registered(Logged)){
    echo 
    "You are already logged in.";
    }else {
        if(!isset(
    $_POST['submit'])){
            echo 
    '<form method="post" action="#">
    Username:

            <input type="text" name="username">


    Password:

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


            <input type="submit" value="Login" name="submit">
            </form>'
    ;
        } else {
            include 
    'config.php';
            include 
    'connect.php';
            
    $user mysql_real_escape_string($_POST['username']);
            
    $pass mysql_real_escape_string($_POST['pass']);
            
    $query "SELECT * FROM users WHERE username = '{$user}' AND password = '{$pass}'";
            
    $result mysql_query($query,$conn) or die("Errore nella query.");
            
    $num_rows mysql_num_rows($result);
            if (
    $num_rows == '1'){
                echo 
    "Login success.";
                
    session_register("Logged");
            } else {
                echo 
    "Wrong data: [url='login.php']Try Again[/url] | [url='signup.php']Sign Up[/url]";
            }
        }
    }
    ?>
    Come setto la variabile "$userid" con l'id dell'utente? Grazie.

    Edit:
    Se metto questo codice nella pagina di login creo un cookie con il nome dell'user:
    Codice PHP:
    setcookie("username",$user,time()+31536000); 
    Nel logout questo:
    Codice PHP:
    setcookie("username",""); 
    E nella pagina "account.php" posso usare questo:
    Codice PHP:
    if (isset($_COOKIE["username"]))
      echo 
    "Welcome " $_COOKIE["username"] . "!
    "
    ;
    else{
      echo 
    "Welcome guest!
    "
    ;
    }
    ?> 
    Però non mi è chiaro come usare il cookie per filtrare i dati da stampare.

    Edit 2: Ci sono riuscito:
    Codice PHP:
    $mysqluser=$_COOKIE["username"];

    $dati mysql_query("SELECT username, email, name, surname, balance FROM users WHERE username='$mysqluser'",$conn);
     
    while (
    $row mysql_fetch_assoc($dati)) {
        echo 
    'Username: '$row['username'] , 
    Name: '
    $row['name'] , 
    Surname: '
    $row['surname'] , 
    Email: '
    $row['email'] , 
    Balance: '
    $row['balance'];

    Grazie las di avermi messo in moto
    Problema risolto.

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.