Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Visualizzare dati di un utente
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • R
      ranz User • ultima modifica di

      Visualizzare dati di un utente

      Salve a tutti.

      Vorrei chiedervi questo: nella realizzazione della mia area riservata, vorrei dare all'utente la possibilità di modificare i propri dati.
      Ora vorrei che nella pagina apposita, apparissero già i dati dell'utente nei vari campi di testo. Come posso fare per visualizzarli?

      Questo è il codice php che ho utilizzato per la sessione: se un utente non è loggato, viene rimandato direttamente alla pagina login

      [PHP]
      <?php
      // Includo la connessione al database
      require('config.php');

      // Se non è stata definita la variabile manda l'utente alla homepage
      if(!isset($_SESSION['login']))
      {
      header('Location: login.php');
      exit;
      }

      ?>[/PHP]

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • T
        thedarkita ModSenior • ultima modifica di

        Ciao ranz,

        Devi fare una query per recuperare i dati dell'utente.

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • R
          ranz User • ultima modifica di

          Va bene,un esempio di sintassi?

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • T
            thedarkita ModSenior • ultima modifica di

            [php]
            $query = mysql_query("SELECT * FROM tabella WHERE id = '$id' LIMIT 1");
            $dati = mysql_fetch_array($query);

            // Per stampare il cognome
            echo $dati['cognome'];
            [/php]
            Al posto di $id metti al variabile di sessione con l'id dell'utente, che nel tuo caso credo sia $_SESSION['login'].

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • R
              ranz User • ultima modifica di

              L'ho fatto. Ho provato a fare una stampa per il cognome.
              Ecco il codice:
              [PHP]$query = mysql_query("SELECT * FROM soci WHERE user_id = '$_SESSION['login']' LIMIT 1");
              $dati = mysql_fetch_array($query);

              // Per stampare il cognome
              echo $dati['cognome']; [/PHP]

              Tuttavia mi esce una pagina bianca.
              Una domanda: ma poi, ad esempio nella casella di testo del cognome, dovrò inserire $dati,giusto?

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • T
                thedarkita ModSenior • ultima modifica di

                Puoi incollare tutta la tua pagina?
                Devi metterlo come value.

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • R
                  ranz User • ultima modifica di

                  Allora, questa è soltanto la pagina di benvenuto all'area riservata.
                  Vorrei stampare Benvenuto più nome e cognome.
                  Il modulo lo sto rielaborando per il semplice motivo che devo aggiungere dei campi e eliminarne altri.
                  [HTML]<?php
                  // Includo la connessione al database
                  require('config.php');

                  // Se non è stata definita la variabile manda l'utente alla homepage
                  if(!isset($_SESSION['login']))
                  {
                  header('Location: login.php');
                  exit;
                  }

                  ?>
                  <html>
                  <head>
                  <title>Associazione Culturale Calliope-Home Page</title>

                  <font color="#000099" face="Arial, Helvetica, sans-serif">Benvenuto </font>
                  <?php
                  $query = mysql_query("SELECT * FROM soci WHERE user_id = '$_SESSION['login']' LIMIT 1");
                  $dati = mysql_fetch_array($query);

                  // Per stampare il cognome
                  echo $dati['cognome'];
                  ?>
                  <br>
                  <a href="logout.php" target="_self"><font color="#000099">Logout</font> </a>

                  <p>  </p>
                  </body>
                  </html>
                  [/HTML]

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • T
                    thedarkita ModSenior • ultima modifica di

                    Allora devi fare cosi:
                    [php]
                    <?php
                    // Includo la connessione al database
                    require('config.php');

                    // Se non è stata definita la variabile manda l'utente alla homepage
                    if(!isset($_SESSION['login']))
                    {
                    header('Location: login.php');
                    exit;
                    }

                    //
                    $query = mysql_query("SELECT * FROM soci WHERE user_id = '$_SESSION['login']' LIMIT 1");
                    $dati = mysql_fetch_array($query);
                    ?>
                    <html>
                    <head>
                    <title>Associazione Culturale Calliope-Home Page</title>

                    <font color="#000099" face="Arial, Helvetica, sans-serif">Benvenuto <?php echo $dati['cognome'].' '.$dati['nome'];?></font>
                    <br>
                    <a href="logout.php" target="_self"><font color="#000099">Logout</font> </a>

                    <p>  </p>
                    </body>
                    </html>
                    [/php]

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • M
                      mirkoagrati User Attivo • ultima modifica di

                      Ciao ranz,
                      prova così:

                      [php]
                      $query = mysql_query("SELECT * FROM soci WHERE user_id = '" . $_SESSION['login'] . "' LIMIT 1");
                      [/php]Comunque in quella maniera stai cercando un ID come stringa,
                      solitamente trattasi di numero, è corretto?

                      Ciao

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • R
                        ranz User • ultima modifica di

                        Nulla da fare. Continua a uscirmi lapagina completamente bianca

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • T
                          thedarkita ModSenior • ultima modifica di

                          Ho visto ora l'errore nella query, mettendola come scritto da mirkoagrati, dovrebbe funzionare.
                          Ma stai provando in locale? Perchè sarebbe meglio abilitare la visualizzazione degli errori.

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • R
                            ranz User • ultima modifica di

                            Sì, sto provando in locale e usando il suggerimento di Mirko funziona.
                            Per il form devo fare così?

                            [html]<input name="nome" type="text" id="nome" value="<?php echo $dati['nome']?>"</td>[/html]

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • R
                              ranz User • ultima modifica di

                              La sintassi per l'aggiornamento è: ```
                              UPDATE soci SET nome='$_POST['nome']

                              
                              e poi via via i vari campi?
                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • M
                                mirkoagrati User Attivo • ultima modifica di

                                Si,
                                l'update funziona così:

                                update tab set campo1=val1, campo2=val2
                                where id=id1

                                Ciao

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • T
                                  thedarkita ModSenior • ultima modifica di

                                  Per abilitare la visualizzazione degli errori, modifica il file php.ini impostando cosi queste 2 variabili:

                                  
                                  error_reporting  =  E_ALL
                                  display_errors = On
                                  
                                  

                                  Almeno sappiamo dov'è l'errore, invece di controllare tutto lo script ogni volta.

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • R
                                    ranz User • ultima modifica di

                                    Scusate se riprendo questo post, ma stavolta houn problemacon l'update.
                                    Non so se la logica è giusta, io ho fatto così: dopo aver controllato che l'utente non abbia lasciato nessun campo vuoto ho postato il seguente codice,ma mi esce sempre la famosa pagina bianca

                                    [php]$strSQL = "UPDATE soci SET nome='$_POST['nome']', cognome='$_POST['cognome']', data_nascita='$_POST['data_nascita', luogo_nascita='$_POST['luogo_nascita']', indirizzo='$_POST['indirizzo']',cap='$_POST['cap']', citta='$_POST['citta']', provincia='$_POST['provincia']', email='$_POST['email']', password='$_POST['password']' WHERE user_id = '$_SESSION['login']' LIMIT 1 ";
                                    mysql_query($strSQL) OR die("Errore 003, contattare l'amministratore ".mysql_error());
                                    [/php]Sono sicuro che sarà una stupidaggine,ma dov'è l'errore?

                                    0 Miglior Risposta Ringrazia Cita Rispondi

                                      1 Risposta Ultima Risposta
                                    • R
                                      ranz User • ultima modifica di

                                      Ok, come non detto. Problema risolto e scusate

                                      0 Miglior Risposta Ringrazia Cita Rispondi

                                        1 Risposta Ultima Risposta
                                      • M
                                        mirkoagrati User Attivo • ultima modifica di

                                        Ciao ranz,
                                        ti manca una quadra s data di nascita e
                                        prova a scrivere la stringa componendola così:

                                        [php]
                                        $strSQL = "UPDATE soci SET nome='" . $_POST['nome'] . "', cognome='" . $_POST['cognome']. ........
                                        [/php]Ciao

                                        0 Miglior Risposta Ringrazia Cita Rispondi

                                          1 Risposta Ultima Risposta
                                        Caricamento altri post
                                        Rispondi
                                        • Topic risposta
                                        Effettua l'accesso per rispondere
                                        • Da Vecchi a Nuovi
                                        • Da Nuovi a Vecchi
                                        • Più Voti