Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di viri
    Registrato dal
    Jul 2009
    Messaggi
    60

    Area Riservata diversa per ciascun utente

    Sera a tutti, avrei bisogno di un chiarimento o meglio un aiuto
    Premettendo che me la cavo sia con php che con i database( non so giusto la sintassi a volte, ma come concetti li ho chiari in testa..cicli,query,connessione al db, sessioni)

    Il mio problema...ho riproposto sul mio sito quanto spiegato nella guida:
    http://php.html.it/articoli/leggi/90...tenti-con-php/

    Tutto funziona perfettamente

    Non riesco a trovare in rete miniguide,pillole o esempi, di come fare per avere per ciascun utente il suo "profilo".

    In realtà "profilo" sarebbe una pagina personale(quindi diversa per ciascun utente e modificabile solo da lui) la quale contiene al suo interno (tramite un include un file txt)

    Credo che fornirmi il codice così in modo generico sia difficile, vi chiedo almeno se potete mostrarmi un esempio o qualche guida...Grazie

    P.s.:scrivete a qualsiasi ora, ci sono sempre

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    500
    Beh, inanzitutto nella sezione ti memorizzi l'id dell'utente, una volta che hai l'id il profilo dell'utente lo crei prendendo i dati dal database dell'id..

    Mi spiego meglio..

    Ci sarà una pagina profile.php che verifica che sei connesso e, se sei connesso prenda i dati dell'id salvato nella sessione creata al momento del login.

  3. #3
    Utente di HTML.it L'avatar di viri
    Registrato dal
    Jul 2009
    Messaggi
    60
    Originariamente inviato da Vicar
    Beh, inanzitutto nella sezione ti memorizzi l'id dell'utente, una volta che hai l'id il profilo dell'utente lo crei prendendo i dati dal database dell'id..

    Mi spiego meglio..

    Ci sarà una pagina profile.php che verifica che sei connesso e, se sei connesso prenda i dati dell'id salvato nella sessione creata al momento del login.
    ..non riesco a capire scusa, così è troppo generico so che con le sessioni mi porto dietro l'id dell'utente loggato, ma non ho capito come fare impostare la condizione if

    posto un po di codice(ripreso uguale dalla guida)
    home.php
    Codice PHP:
    <?php
    include_once("include/config.php");
    include_once(
    "include/auth.lib.php");

    list(
    $status$user) = auth_get_status();

    if(
    $status == AUTH_LOGGED auth_get_option("TRANSICTION METHOD") == AUTH_USE_LINK){
        
    $link "?uid=".$_GET['uid'];
    }else    
    $link '';
    ?>
    <html>
        <head>
            <title>Home Page</title>
        </head>
        <body>
        <div align="center">
            <table cellspacing="2">
                <tr>
                    <td>[url="home.php<?=$link?>"]Home Page[/url]</td>
                    <td>[url="pagina1.html<?=$link?>"]Prima Pagina (pubblica)[/url]</td>
                    <td>[url="pagina2.php<?=$link?>"]Seconda Pagina (privata)[/url]</td>
                    <td>[url="pagina3.php<?=$link?>"]Terza Pagina (privata)[/url]</td>
                    <td>[url="pagina4.php<?=$link?>"]Quarta Pagina (permessi)[/url]</td>
                    <td>[url="registrati.php"]Registrati[/url]</td>
                </tr>
            </table>
            <?php
            
    switch($status){
                case 
    AUTH_LOGGED:
                
    ?>
            [b]Sei loggato con il nome di <?=$user["name"];?> [url="logout.php<?=$link?>"]Logout[/url][/b]
                <?php
                
    break;
                case 
    AUTH_NOT_LOGGED:
                
    ?>
            <form action="login.php<?=$link?>" method="post">
                <table cellspacing="2">
                    <tr>
                        <td>Nome Utente:</td>
                        <td><input type="text" name="uname"></td>
                    </tr>
                    <tr>
                        <td>Password:</td>
                        <td><input type="password" name="passw"></td>
                    </tr>
                    <tr>
                        <td colspan="2"><input type="submit" name="action" value="login"></td>
                    </tr>
                </table>
            </form>
            <?php
                
    break;
            }
            
    ?>
        </div>
        </body>
    </html>
    e questa è la pagina login.php
    Codice PHP:
    <?php
    include_once("include/config.php");
    include_once(
    "include/auth.lib.php");

    list(
    $status$user) = auth_get_status();

    if(
    $status == AUTH_NOT_LOGGED){
        
    $uname strtolower(trim($_POST['uname']));
        
    $passw strtolower(trim($_POST['passw']));

        if(
    $uname == "" or $passw == ""){
            
    $status AUTH_INVALID_PARAMS;
        }else{
            list(
    $status$user) = auth_login($uname$passw);
            if(!
    is_null($user)){
                list(
    $status$uid) = auth_register_session($user);
            }
        }
    }

    switch(
    $status){
        case 
    AUTH_LOGGED:
            
    header("Refresh: 5;URL=home.php");
            echo 
    '<div align="center">Sei gia connesso ... attendi il reindirizzamento</div>';
        break;
        case 
    AUTH_INVALID_PARAMS:
            
    header("Refresh: 5;URL=home.php");
            echo 
    '<div align="center">Hai inserito dati non corretti ... attendi il reindirizzamento</div>';
        break;
        case 
    AUTH_LOGEDD_IN:
            switch(
    auth_get_option("TRANSICTION METHOD")){
                case 
    AUTH_USE_LINK:
                    
    header("Refresh: 5;URL=home.php?uid=".$uid);
                break;
                case 
    AUTH_USE_COOKIE:
                    
    header("Refresh: 5;URL=home.php");
                    
    setcookie('uid'$uidtime()+3600*365);
                break;
                case 
    AUTH_USE_SESSION:
                    
    header("Refresh: 5;URL=home.php");
                    
    $_SESSION['uid'] = $uid;
                break;
            }
            echo 
    '<div align="center">Ciao '.$user['name'].' ... attendi il reindirizzamento</div>';
        break;
        case 
    AUTH_FAILED:
            
    header("Refresh: 5;URL=home.php");
            echo 
    '<div align="center">Fallimento durante il tentativo di connessione ... attendi il reindirizzamento</div>';
        break;
    }
    ?>
    Ecco ora non riesco a capire come muovermi su questo file per richiamare "l'area personale" dell'utente loggato..
    Codice PHP:
    <?php
    include_once("include/config.php");
    include_once(
    "include/auth.lib.php");

    list(
    $status$user) = auth_get_status();

    if(
    $status == AUTH_LOGGED){
        
    $msg 'Contenuto della pagina';
    }else    
    $msg 'Non hai i diritti per visualizzare la pagina';
    ?>
    <html>
        <head>
            <title>Pagina tre</title>
        </head>
        <body>
        [b]<font color="red" size="5"><?=$msg;?></font>[/b]
        </body>
    </html>
    Se scrivo " echo $user['name'];" e sono loggato mi restituisce il nome dell'utente loggato(e fin qui perfetto) ma se io ora volessi anche un caricamento dell'area dell'utente, io ho pensato a qualcosa del tipo:

    include_once("".$user['name'].".txt");
    però in questo modo non avrei nessuna protezione del file di testo e un qualsiasi utente loggato(forse anche non loggandosi) può(modificando la barra degli indirizzi) accedere all'area riservata e quindi al file di testo--->ciò non andrebbe bene..

    Spero di essermi spiegato un po meglio

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    500
    Per capire se un utente è loggato fai:

    Codice PHP:
    if(isset($_SESSION['sessione_del_login']){
        echo 
    'loggato';
    else{
       echo 
    'non loggato';


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.