Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    192

    Login, Register, Gestione Utenti php

    Ho letto questa guida e sono riuscito a creare il codice e a personalizzarlo. Ora pero vado incontro ad un problema. Il mio sito è composto da un login rapido diciamo, infatti appena si clicca sul link accedi compare una finestrella piccola dove è possibile loggarsi. http://encode.altervista.org/Game-Station/Index.php (questo sito spero non sia considerato spam dato che è solo un sito di prova)
    Ora il codice fornito nella guida è formato da 4 pagine per il login, Le prime due "confing.php" e "auth.lib.php" penso non devo nemmeno modificarle. Le altre due pagine, "Home.php" e "Login.php",
    prevedono la prima i form da compilare per il login e la seconda il login vero e proprio che accede al database e verifica la validità dei dati immessi. Dato che la mia necessità sta nel unire questi codici.
    Esempi
    1.Clicco su accedi (mio sito) e compare la finestra, sbaglio ad inserire i dati e invece di caricarmi una nuova pagina contenente l'errore (che mi dice dati inseriti non corretti... attendi il reindirizzamento), mi compare un riquadro rosso sempre nella stessa finestra che mi dice: "i dati inseriti non sono corretti".
    2.Clicco su accedi e compare la solita finestra, stavolta inserisco i dati corretti e invece di aprirmi una nuova pagina (che mi dice login in corso.. attendi il reindirizzamento), mi compare il messaggio login in corso (con un cerchiolino che si carica esempio...) sempre all'interno della finestrella. Successivamente mi ricarica una determinata pagina (ad esempio se mi sono loggato su Home.php mi ricarica su Home.php se mi sono loggato su Clan.php mi ricarica su Clan php, per fare scomparire le scritte login | Register e sostituirle a Profilo | Logout,questo procedimento all'interno della parentesi "penso" di sapere come effettuarlo, l'ho scritto solo per concludere l'esempio).

    Grazie per l'attenzione e buona giornata

  2. #2
    Utente di HTML.it L'avatar di skjobax
    Registrato dal
    Jan 2010
    Messaggi
    569
    Credo che dovresti specificare il problema meglio e scrivere un titolo che lo contenga...

    Comunque spiega meglio cosa non va.
    A volte la soluzione a un problema è sempre la più semplice...

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    192
    Il problema non è cosa non va, il problema è come realizzare/migliorare il codice.
    Potresti scrivermi cosa non hai capito? A me sembra di essere stato esaustivo, ma potrei sbagliarmi

  4. #4
    Utente di HTML.it L'avatar di skjobax
    Registrato dal
    Jan 2010
    Messaggi
    569
    Non ho capito qual'è il problema!
    dici solo che non ti piace il login veloce con il dialogo (o almeno così fai intendere)

    Ma se ti riferisci a questo:

    Le altre due pagine, "Home.php" e "Login.php",
    prevedono la prima i form da compilare per il login e la seconda il login vero e proprio che accede al database e verifica la validità dei dati immessi. Dato che la mia necessità sta nel unire questi codici.
    Se tu vuoi qualcuno che faccia lo faccia per te, allora il problema non è come realizzarli, ma chi può farlo.

    Se non sbaglio esiste una sezione del forum per le offerte di lavoro..
    A volte la soluzione a un problema è sempre la più semplice...

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    192
    i codici non sono da elaborare da 0. Sono questi tre (perdonami erano tre)
    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 (privata)[/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["username"];?> [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>
    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['username'].' ... 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;
    }
    ?>

    Logout.php

    Codice PHP:
    <?php
    include_once("include/config.php");
    include_once(
    "include/auth.lib.php");

    list(
    $status$user) = auth_get_status();
    header("Refresh: 5;URL=home.php");

    if(
    $status == AUTH_LOGGED){
        if(
    auth_logout()){
            echo 
    '<div align="center">Disconnessione effettuata ... attendi il reindirizzamento</div>';
        }else{
            echo 
    '<div align="center">Errore durante la disconnessione ... attendi il reindirizzamento</div>';
        }
    }else{
        echo 
    '<div align="center">Non sei connesso ... attendi il reindirizzamento</div>';
    }
    ?>


    Una domanda mi sorge spontanea "hai letto la prima parte del post?"

    Ho letto questa guida e sono riuscito
    Cosi va meglio? Non è un codice da 0. Ho chiesto semplicemente (penso sia semplice) di unire questi 3 codici (prima ho scritto due.. ma non avevo considerato il logout.php scusate) in un unico codice php dato che sono poco esperto. Altrimenti spiegarmi come fare o illustrarmi un eventuale tutorial, non saprei.

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    192
    Aggiornamento:

    Ho unito Home.php con login.php e ho apportato un paio di modifiche
    Il risultato è quello che volevo,in parte, ma non riesco ad andare avanti.
    Ad esempio come posso introdurre un if che indica se pw e username non corrispondono con un id associato ad una pw qualunque del database mi genera un div?
    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 (privata)[/url]</td>
                    <td>[url="registrati.php"]Registrati[/url]</td>
                </tr>
            </table>
            <?php //home
            
    switch($status){
                case 
    AUTH_LOGGED:
                
    ?>
            [b]Sei loggato con il nome di <?=$user["username"];?> [url="logout.php<?=$link?>"]Logout[/url][/b]
                <?php
                
    break;
                case 
    AUTH_NOT_LOGGED:
                
    ?>
            <form 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 
        
        
    //login

    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_LOGEDD_IN:
            switch(
    auth_get_option("TRANSICTION METHOD")){
                case 
    AUTH_USE_LINK:
                    
    header("Refresh: 1;URL=home.php?uid=".$uid);
                break;
                case 
    AUTH_USE_COOKIE:
                    
    header("Refresh: 1;URL=home.php");
                    
    setcookie('uid'$uidtime()+3600*365);
                break;
                case 
    AUTH_USE_SESSION:
                    
    header("Refresh: 1;URL=home.php");
                    
    $_SESSION['uid'] = $uid;
                break;
            }
            echo 
    '<div align="center">Ciao '.$user['username'].' ... connesione in corso</div>';
        break;
        case 
    AUTH_FAILED:
            
    header("Refresh: 1;URL=home.php");
            echo 
    '<div align="center">Fallimento durante la connesione</div>';
        break;
    }
    ?>
            <?php
                
    break;
            }
            
    ?>
        </div>
        
        


        </body>
    </html>

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.