• ModSenior

    Puoi modificare l'header inviato all'utente, mettendo un location ad una pagina con il proprio username.


  • User Newbie

    Ciao Thedarkita, grazie innanzitutto per la risposta.
    Immagino tu stia parlando dell'istruzione presente nella pagina login.php in cui l'utente viene reindirizzato alla pagina privata.php, come di seguito riportato:
    // reindirizzo l'utente
    header('Location: privata.php');
    exit;
    Io ho provato ad adattarlo alle mie esigenze in questo modo:
    -ho aggiunto un campo "pagina_personale" alla tabella del database in cui memorizzare, per ogni utente, la sua pagina con i relativi documenti

    • ho modificato l'istruzione riportata sopra in questo modo:
      // reindirizzo l'utente
      header('Location: pagina_personale.php');
      exit;
      In questo modo però non funziona. Mi sorge anche qualche dubbio perchè non vedo la necessità di creare di volta in volta una pagina personale quando sarebbe sufficiente che la pagina privata.php visualizzasse al suo interno soltanto i dati relativi all'utente loggato.
      Ma per far funzionare le cose in questo modo come deve essere strutturato il database e come deve essere realizzata l'istruzione? Molti propongono di creare una tabella secondaria con foreign key all'interno della quale memorizzare i dati da restituire ad ogni utente ma il gestionale database che utilizzo (a**ba) pare non consentire l'impiego di chiavi esterne.
      Insomma sono diversi giorni che giro intorno a questa cosa senza trovare il bandolo della matassa.
      Grazie in anticipo.

  • User Newbie

    A quanto pare ho risolto il problema.
    Come dicevo:

    • ho inserito nel database un campo aggiuntivo "pagina_personale" al cui interno è memorizzato il nome del file della pagina personale di ogni singolo utente, ovvero nome_utente.php (es. pippo.php, pluto.php ecc.)
    • ho creato per ogni utente una pagina nome_utente.php al cui interno saranno inseriti i documenti relativi ad ogni singolo utente
    • ho modificato nel file login.php l'istruzione che indirizza l'utente alla sua pagina in questo modo:
      // reindirizzo l'utente
      header('Location:' . $user . '.php');
      exit;

    A quanto pare funziona: l'utente si logga, viene riconosciuto ed indirizzato alla pagina a lui dedicata. Ovviamente per ogni utente iscritto deve essere creata una pagina specifica.
    Che ne dici Thedarkita?


  • User Newbie

    Buonanotte a tutti, visto l'orario, ho bisogno di capire un paio di cosette e se qualcuno può darmi una mano ne sarò più che felice.
    Ho fatto tutta l'area riservata COMUNE A TUTTI gli utenti che si registrano, funziona, nonostante sia un principiante con poco tempo da dedicare allo studio causa lavoro, son riuscito a capire i funzionamenti, poi mi è sorta la necessità di avere delle pagine personalizzate SOLO PER ALCUNI utenti registrati.
    Viste le mie esigenze ho creato un altro form per il login di accesso alle pagine riservate, dedicato a quest'ultimi; dopo un po' di sbattimenti e la dritta di doctorprivacy riesco a farlo funzionare, peccato però che ho dovuto fare una seconda tabella, chissà perchè in locale mi funziona correttamente, mentre sul web no.
    Ora, capita che un utente registrato entri nell'area riservata comune, ma che una volta dentro voglia guardarsi la propria pagina personale, solo che mi manda sempre alla pagina di errore, mentre se dalla pagina personale, voglio passare alla zona riservata comune funziona correttamente; sarà l'ora tarda o sarò tardo io, ma qualcuno può dirmi cosa c'è di sbagliato in questo codice?

    <?php
    require('../02_db/config.php');

    if(!isset($_SESSION['login']))
    {
    header('Location: ../02_db/01_rec.php');
    exit;
    }
    // Sono all'interno dell'area riservata e voglio andare nella mia pagina personale schiacciando un pulsante
    if(isset($_POST['perspage']))
    {
    $query = mysql_query("SELECT id FROM personal WHERE user = '$user' AND pass = '$pass' LIMIT 1");

    if(mysql_num_rows($query) == 1)
    {
        $perspage = mysql_fetch_array($query);
        {
    
        $_SESSION['login'] = $perspage['id'];
        
        header('Location: ../11_pers/'. $user .'.php');
        exit;
        }
    }
    else
    {
    header('Location: ../11_pers/01_ops.php');
    exit;
    }
    

    }
    ?>

    Grazie a tutti


  • User Newbie

    Ammetto che l'altra sera ero particolarmente stanco, ho risolto, scusate


  • User Attivo

    Salve, ho due domande:

    1. Come faccio a far visualizzare il nome della persona loggata nella sua pagina riservata?

    2. Vorrei aggiungere una opzione simile a quella presente nei forum, tipo, la data della ultima connessione del utente.

    Come potrei fare qualche input?


  • User Attivo

    buongiorno 🙂 la guida registrazione e login è pefetta 😉 ma per il recupero password ?


  • ModSenior

  • 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 😢.