Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    Sito dinamico in php con login

    Ciao,
    è la prima volta che scrivo qui...mi sono iscritto oggi, o meglio adesso
    sto realizzando a scopo didattico, per imparare, un sito che faccia uso di HTML/PHP/MySQL in modo da capire e conoscere l'interazione tra i 3.

    Il sito è qui: http://www.leadergl.net/hosting ho preso come argomento un sito di hosting ma alla fine fa lo stesso.

    Fino ad adesso ho creato:
    1) database.php (per interagire col database, è una classe)
    2) functions.php (contiene varie funzioni per disegnare l'header, il footer e la parte di login, è una classe)
    3) stile.css (contiene la definizione di alcune tabelle)
    4) index.php (che sfrutta functions.php per disegnarsi e per il login)

    index.php utilizza le sessioni php per la parte di login, quello che mi interesserebbe è qualche consiglio su come strutturare un sito del genere, che preveda accesso per gli utenti ed un menu sulla sinistra per gli utenti loggati...

    mi servirebbero inoltre consigli sulla gestione del database, come faccio ad usare il file database.php con index.php ?

    se faccio come fatto per le funzioni ovvero con:
    Codice PHP:
    require "functions.php" 
    mi da errore e non so perchè...

  2. #2
    require ("functions.php"); <--- manca il ;
    Soluzioni Hosting
    http://www.crabservice.com

  3. #3
    eh si, nell'originale c'è
    mi dai consigli su come strutturare tutto?
    e magari qualcuno su come gestire ordinatamente login e database...

  4. #4
    hai parlato di classi che purtroppo non uso, quindi sarei limitato nei consigli..
    Soluzioni Hosting
    http://www.crabservice.com

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    48
    Ma vuoi creare anche un modulo per le registrazioni??

    Far interagire l'utente con il php e mysql è molto semplice, vuoi che l'utente abbia la possibilità di effettuare l'accesso con l'ausilio dei cookie?o vuoi un semplice login con user e pass inseriti da te??e poi l'utente accede tramite user e pass assegnate??

  6. #6
    io ho usato le sessioni php per il login però non so se è la strada migliore o se meglio usare i cookie o entrambe le cose.

    Quello che ho fatto sino ad ora sta qua: http://www.leadergl.net/hosting/
    vorrei un modulo di login con possibilità di registrazione e recupero password.

    Inoltre vorrei la possibilità che se un utente è loggato abbia in basso a sinistra un menu (o un menu più esteso) rispetto un utente non loggato.

    Queste le funzionalità principali...

    Vi riporto il codice della mia classe database:
    Codice PHP:
    <?php

    if (!defined("IN_UP")) {
        die (
    "Non puoi accedere direttamente a questa pagina!");
    }

    class 
    database {
        var 
    $id_connessione "";
        var 
    $query_id "";
        var 
    $query_count 0;

        function 
    connect() {
            
    $this->id_connessione mysql_connect($db_host$db_user$db_pass);
            
            if (!
    $this->id_connessione) {
                echo 
    "ERROR: Impossibile connettersi al server";
            } else {
                if (!
    mysql_select_db($db_name$this->id_connessione)) {
                    echo (
    "ERROR: Impossibile selezionare il database: ".$db_name);
                }
            }
        }
        
        function 
    query($query) {
            
    $this->query_id mysql_query($query$this->id_connessione);
            
            if (!
    $this->query_id) {
                
    $error_type mysql_error();
                
    $error_id mysql_errno();
                
                echo (
    "ERROR: Errore Database.
    Impossibile eseguire la query: 
    $query.
    Errore MySQL ritornato: 
    $error_type
    Codice Errore MySQL: 
    $error_id");
            }
            
            
    $this->query_count++;
            return 
    $this->query_id;
        }
        
        function 
    fetch_row($q_id "") {
            if (
    $q_id == "" ) {
                
    $q_id $this->query_id;
            }
            
            
    $result mysql_fetch_array($q_idMYSQL_ASSOC);
            return 
    $result;
        }
        
        function 
    get_num_rows() {
            return 
    mysql_num_rows($this->query_id);
        }

        function 
    close_db() {
            return 
    mysql_close($this->id_connessione);
        }
        
    }

    ?>
    non so se devo aggiungere qualcosa o meno...mentre il mio index.php è così fatto:
    Codice PHP:
    <?php
        session_start
    ();

        
    DEFINE 'IN_UP');
        require 
    "functions.php";

    // codice per disegnare header e logo con menu in alto
    // ...

    // =============================================================================================================================================    
    //                                                                                                                    CORPO PAGINA CENTRALE
    // =============================================================================================================================================    
        
    if (isset($_SESSION['loggato'])) {
            
    $username $_SESSION['username'];
            
    $data_log $library->logged($username);
        } else {
        
            if(
    $_POST)
            {
                if( 
    $_POST['usr']=='Chiara') {                
                    
    $username $_POST['usr'];
                    
    $data_log $library->logged($username);
                    
                    
    $_SESSION['loggato'] = true;
                    
    $_SESSION['username'] = $username;

                } else {    
                    
    $data_log $library->loginform();
                }
            } else {
                
    $data_log $library->loginform();
            }
        }
        if (!empty(
    $_REQUEST['do'])) {
            if (
    $_REQUEST['do'] == 'logout') {
               
    session_destroy();
               
    $_SESSION = array();
            }
        }

    // codice per disegnare la parte centrale (sotto il login) della pagina
    // ...

    // codice per disegnare il footer
    // ...
    nel file functions.php la classe è definita così:
    Codice PHP:
    Class nome_classe {
         function 
    nume_funzione (...) {
         }
    }

    $library = new nome_classe

    quindi nel corpo di index.php le funzioni sono richiamate tramite:
    Codice PHP:
    $library->nome_funzione(); 

    credo di aver detto tutto


    Ora vorrei:
    1) avere un file config.php dove mantenere i settaggi tipo server del database, user e pass del database, nome database
    2) integrare il file database.php in modo da usare le sue funzioni per gestire il database...

  7. #7
    ho provato ad integrare la funzionalità di database, ci sono riuscito...però vorrei consigli su come andrebbe gestita bene la cosa...

    inoltre mi piacerebbe avere dei permessi e delle opzioni diverse a seconda che accedo come amministratore o come utente.

    potete trovare il sito in beta qui: http://hosting.umtsplanet.net

    help...

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    48
    Ti dico come avrei agito io:

    mi creo un file registra.php in questo file vado a inserire il form di registrazione (attenzione ai moduli devi dare un nome ad ogni modulo Tipo: Nome Cognome etc, li assegni a questo registra.php un'azione <form action="registrami.php" method="post">

    Mi creo un file registrami.php in questo file vado ad inserire le condizioni,(else, if, switch etc...) i casi in cui si sbagli inserendo i dati nel file registra.php (tipo registrazione fallita, oppure devi inserire i seguenti campi, cose del genere.

    Mi creo un file login.php dove inserisco i moduli user e pass ed eventuale scritta in caso di login sbagliato. E in caso abbia già effettuato l'accesso il login automatico.

    Una pagina conferma.php dove vado ad inserire le condizioni dopo registrazione (quello che mi da dopo che il cliente ha fatto invia, tipo registrazione eseguita o registrazione non eseguita.

    Infine un file config.php dove vado ad inserire tutti i dati del database.

    Tutto dipende anche dall'utilizzo che se ne deve fare, prova a fare una bozza su carta, vedrai che quando lavori sul pc ti viene meglio strutturare tutto, ma prima di iniziare devi avere le idee chiare.
    Io avrei agito cosi, ma è molto soggettiva, dipende da programmatore a programmatore. Si può agire in diversi metodi, e ordine diverso.

    Ti consiglio di leggere bene le guide che trovi su html.it, poi successivamente una volta che hai capito bene come funziona prova a scaricare uno script già pronto, nè trovi tantissimi.

    Per qualsiasi chiarimento non esitare.

  9. #9
    da un occhiata allla mia pillola,
    http://forum.html.it/forum/showthrea...readid=1009266
    spero possa servirti.

  10. #10

    ........

    Ciao.
    if (!$this->id_connessione) {
    echo "ERROR: Impossibile connettersi al server";
    } else {
    if (!mysql_select_db($db_name, $this->id_connessione)) {
    echo ("ERROR: Impossibile selezionare il database: ".$db_name);
    }
    Hai messo un else in + poi non usare echo ma die o exit.
    Codice PHP:
    if (!$this->id_connessionemy=sql_connect($db_host$db_user$db_pass)) {
                exit(
    "ERROR: Impossibile connettersi al server");
    if (!
    mysql_select_db($db_name$this->id_connessione)) {
                exit(
    "ERROR: Impossibile selezionare il database: ".$db_name);
                } 
    Usa sempre
    error_reporting(E_ALL)
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

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.