• User Newbie

    Ciao Thedarkita e ciao a tutto il forum,
    complimenti per la comunità viva e reattiva che avete costruito.
    Volevo porre una questione su questo post "anzianotto" ma molto utile.

    Premetto che ho copiato gli script del tutorial e funziona tutto alla perfezione.

    La mia questione è: creare una pagina privata uguale per tutti ma con differente contenuto. Il contenuto che dovrebbe essere differenziato sono i Todo di questo script che ho trovato sulla rete, (w w w.tutorialzine.com/2010/03/ajax-todo-list-jquery-php-mysql-css/)
    qui c'è il link diretto al download (w w w.demo.tutorialzine.com/2010/03/ajax-todo-list-jquery-php-mysql-css/demo.zip).

    Non sono molto pratico di codici, però credo di aver capito la teoria:
    I todo si memorizzano in una tabella "tz_todo", che ovviamente è uguale per tutti.
    Quello che dovrei fare io è fare in modo che si memorizzino in riferimento ad un determinato id utente e richiamare poi quell'id per la pagina privata, giusto?!

    E come cacchio si faaa???:crying:

    Lo so che vi sto chiedendo una cosa che vi farà perdere un mare di tempo, ma sono mesi che ci sbatto la testa, ho comprato libri e surfato il web alla ricerca di una soluzione, e questo post è quello che ci si avvicina di più. Putroppo gli angoli bui sono ancora tanti. Illuminatemi voi vi prego!

    :ciauz:


  • User

    @ernando said:

    (w w w.tutorialzine.com/2010/03/ajax-todo-list-jquery-php-mysql-css/)
    qui c'è il link diretto al download (w w w.demo.tutorialzine.com/2010/03/ajax-todo-list-jquery-php-mysql-css/demo.zip).

    Ciao, Mi sembra non funzionare quel collegamento per il download, comunque ho guardato la fonte dal primo link e direi che devi solo modificare il file config.php o nome simile che contiene la configurazione di accesso al tuo Database Sql

    P.s. stiamo uscendo dal topic principale.


  • User Newbie

    Grazie bluedragon,
    però nel connect.php ci sono solo le informazioni per andare a rilevare un determinato db. A me serve scrivere informazioni differenti a seconda dei differenti utenti.

    penso che sia questa la stringa chiave:

    The edit method takes the ToDo item id and the new text
    	of the ToDo. Updates the database.
    */
    	
    public static function edit($idt, $text){
    	
    	$text = self::esc($text);
    	if(!$text) throw new Exception("Wrong update text!");
    	
    	mysql_query("	UPDATE tz_todo
    					SET text='".$text."'
    					WHERE id=".$idt
    				);
    	
    	if(mysql_affected_rows($GLOBALS['link'])!=1)
    		throw new Exception("Couldn't update item!");
    }
    
    /*
    

    quella tabella tz_todo nel database non ha nessun dato per differenziare le informazioni a seconda dell'utente che le inserisce.
    Come posso fare a creare queste informazioni?

    grazie
    Ciao


  • User

    ah! scusa adesso ho capito, vuoi che inserisca le note di uno specifico utente.

    dovresti modificare abbastanza il codice:

    premesso che non conosco quello script e non l'ho guardato, ma a livello generale, magari ti può aiutare a ricercare su internet se nessuno ti posta il codice pronto, penso dovresti modificare:

    individua dove fa l' "update" e qui dovresti aggiungere:

    Se l'utente esiste; (sessione login) > allora update dove nel database, nell'utente "x" (nella tabella di ogni utente oltre a password, username etc.. deve esserci un campo che da quanto scrivi si dovrebbe chiamare "text" )


  • User

    Ciao a tutti. Ho un grosso dubbio sulle sessioni.
    Come faccio a permettere l'accesso ad una pagina al solo utente a cui la pagina è riservata?
    Il dubbio è che l'utente una volta loggato possa accedere a pagine riservate ad altri cambiando l'indirizzo della pagina.
    Grazie per un chiarimento.


  • User Newbie

    Ciao, ecco il mio problema... ho fatto una prova x vedere se riuscivo a registrarmi al mio sito ma dopo aver compilati i campi e cliccato registra mi dice:Errore 033, contattare l'amministratore No database selected.
    Io per creare la tabella utenti, visto che il mio sito è su altervista, sono andato su tools►PhpMyAdmin e vado su Sql e ci copio quello che hai scritto tu per creare la tabella utenti.
    Ora non so se è questo il problema 😢 ma non so come risolverlo, mi aiuti???


  • ModSenior

    Ciao xDPasqualeDx,
    fai attenzione alle maiuscole e ad non usare lo stile sms nei tuoi messaggi.
    Per quanto riguarda il problema, hai modificato il file di configurazione scrivendo i dati corretti per la connessione al database?


  • User Newbie

    Beh veramente ho usato il solito copia e incolla del codice html o php (a me sembrano uguali) e li ho creati in file .php con il nome indicato. 😞


  • ModSenior

    Si, ma i dati per la connessione al database devi modificarli, mettendo i tuoi corretti.


  • User Newbie

    😞 Non so come si fa e quale file va modificato, me lo potresti spiegare?


  • ModSenior

    Ciao xDPasqualeDx,
    fai attenzione alle maiuscole nei tuoi messaggi.
    Nel file config.php trovi le variabili da modificare, i valori da inserire deve darteli il tuo provider.


  • User Newbie

    Bhe, io non capisco niente di queste cose :bho: l'unica cosa che so è l'indirizzo del mio sito yourbestsite.altervista.org e so come accedere al mio database per inserirci nuove pagine o file oppure utilizzare il PhpMyAdmin.
    Non so neanche che cosa è il provider e come contattarlo :bho: sono disperato 😢.


  • User Newbie

    Ho risolto :yuppi: ho inserito i miei dati in config.php e ora mi ha registrato, grazie mille Thedarkita 🙂


  • ModSenior

    Il tuo provider è altervista in questo caso, da qualche parte di avranno fornito nome database, host del database, nome utente e password, e devi inserire questi dati nel file config.php


  • User Newbie

    Si si :-), in effetti ho inserito quelli, però ora se una persona si iscrive e fa il log-in non può fare niente... perchè dove che ha effettuato il log-in gli esce una pagina bianca con scritto "area privata" e un link sotto che gli fa il log-out. non posso creare un profilo per ogni utente?


  • ModSenior

    Questo è un tutorial per creare un'area riservata, non sono previste altre operazioni, ma puoi comunque modificare lo script in base alle tue esigenze. Ovviamente bisogna imparare php, questo tutorial serve proprio a spiegare il funzionamento di certe cose, non è un semplice script da utilizzare cosi com'è.


  • User Newbie

    A capito... per caso sai se c'è un codice che legge il nome dell'utente che ha fatto il log-in e lo inserisce nella pagina dopo il log-in?grazie


  • ModSenior

    Puoi farlo modificando il file login:
    [php]
    <?php
    // Includo la connessione al database
    require('config.php');

    // Se il modulo viene inviato...
    if(isset($_POST['login']))
    {

    // Dati Inviati dal modulo
    $user = (isset($_POST['user'])) ? trim($_POST['user']) : '';    // Metto nella variabile 'user' il dato inviato dal modulo, se non viene inviato dò di default ''
    $pass = (isset($_POST['pass'])) ? trim($_POST['pass']) : '';    // Metto nella variabile 'pass' il dato inviato dal modulo, se non viene inviato dò di default ''
    
    // Filtro i dati inviati se i magic_quotes del server sono disabilitati per motivi di sicurezza
    if (!get_magic_quotes_gpc()) {
        $user = addslashes($user);
        $pass = addslashes($pass);
    }
    
    // Crypto la password e la confronto con quella nel database
    $pass = md5($pass);
    
    // Controllo l'utente esiste
    $query = mysql_query("SELECT id, user FROM utenti WHERE user = '$user' AND pass = '$pass' LIMIT 1");
    
    // Se ha trovato un record
    if(mysql_num_rows($query) == 1)
    {
        // prelevo l'id dal database
        $login = mysql_fetch_array($query);
        
        // Creo una variabile di sessione
        $_SESSION['login'] = $login['id'];
        $_SESSION['login_user'] = $login['user'];
        // reindirizzo l'utente
        header('Location: privata.php');
        exit;
    }
    // se non esiste da l'errore
    else
        die('Nome Utente o Password errati');
    

    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Login</title>
    </head>

    <body>
    <form action="" method="post">
    <input name="user" type="text" id="user" value="Nome Utente" onfocus="if(this.value=='Nome Utente') this.value='';" /><br />
    <input name="pass" type="password" id="pass" value="Password" onfocus="if(this.value=='Password') this.value='';" /><br />
    <input name="login" type="submit" value="Login" /><br />
    </form>
    </body>
    </html>
    [/php]

    E nella variabile di sessione $_SESSION['login_user'] hai il nome dopo aver effettuato il login.


  • User Newbie

    Ok grazie 🙂 ho fatto,scusa se ti chiedo molte cose, il fatto è che sò poco e niente... però ora mi puoi dire come mandare un e-mail con i dati di iscrizzione e un codice per la modifica della password? ti ringrazio già per le altre risposte 🙂 .


  • ModSenior

    Il codice per la modifica della password, lo trovi in una delle pagine di questa discussione.
    Mentre per l'email ti basta leggere la documentazione relativa alla funzione mail, che è molto semplice:
    http://php.net/mail