• User Attivo

    Ma non credete che sia il caso di studiarsi un po' di base di php prima di 'buttarsi' in queste cose?
    Il forum dovrebbe servire per le 'dritte' e la condivisione reciproca, non per spiegare l'ABC...
    Scusate l'intromissione e la franchezza...:rollo:


  • User Newbie

    Ho sicuramente lo stesso problema di Pozzz ... identico!
    Non avendo il tempo di studiare il php anche per il fatto che penso che sia l'ultima volta che lo userò mi affido a voi!

    Quello che serve è probabilmente mezza riga di codice che richiama i dati personali da una tabella precedentemente creata sul Mysql Aruba.

    esempio della tabella

    NOME MAIL USER PUNTI (voce creata da me)

    MARIO mario_at_libero.it marioilgrande 100 pt
    LUIGI luigi_at_virgilio.it lasola85 50 pt
    GIOVANNA giovanna_at_hotmail.it meretrice22 1100 pt

    Adesso... per ognuna di queste persone che accede...
    è semplice che il codice scaricato da internet faccia comparire il messaggio:

    Ciao Mario , o tu che ti sei registrato come marioilgrande di username e vanti la mail mario_at_libero.it ...

    ma il problema è aggiornarlo su fatto che ha 100 punti!

    Ho provato a rippare il codice della mail e dell'username per adattarlo al campo punti ma senza successo...

    La cosa più bella è che uno di voi mi dica qual'è il codice php per richiamare dati personali da un campo di una tabella mysql creato da me. (E se c'è qualche accorgimento particolare nella creazione del campo della tabella da mettere in pratica)

    Insomma... saranno probabilmente 2 righe di codice... una roba simile:

    <p>I TUOI PUNTI TOTALIZZATI SONO: <?ph$$$$$£££"£$%&T echo#@PAROLA SEGRETA CHE RICHIAMA IL CAMPO PUNTI CREATO DA ME NELLA TABELLA MYSQL**@@##==))); ?> </p>

    Grazie dell'aiuto!


  • ModSenior

    Qualche pagina dietro abbiamo trattato come passare tramite sessione o facendo una nuova query un campo della tabella, ovviamente le basi di php vanno studiate in quanto questo è un tutorial per mettere in pratica quanto appreso precedentemente a livello teorico.


  • User Attivo

    @necrosql said:

    <p>I TUOI PUNTI TOTALIZZATI SONO: <?ph$$$£££"£$%&T echo#@PAROLA SEGRETA CHE RICHIAMA IL CAMPO PUNTI CREATO DA ME NELLA TABELLA MYSQL**@@##==))); ?> </p>

    Grazie dell'aiuto!
    Non esistono parole segrete e formule magiche...

    Php è un linguaggio semplice... per apprenderlo bisogna avere una solida base di html e poi non serve spendere un centesimo... la Rete è piena di materiale da leggere e studiare... per poi smanettare... imparando!
    La cosa più importante non è conoscere le funzioni a memoria... bisogna solo capire il funzionamento delle colonne portanti del linguaggio come le variabili, gli array ecc... (bastano pochi esercizi e un minimo di applicazione...) e poi si tratta di LOGICA...
    Lo stesso risultato si può raggiungere in diversi modi... dipende dalla 'fantasia' del programmatore...
    Scopiazzare codici non porta a nulla... si avrà sempre un problema... senza capire dove sbattere la testa...
    Avere le basi è importante; l'ultimo messaggio di Thedarkita contiene praticamente la soluzione al problema solo che a chi non ha le basi non dice nulla, chi invece ce le ha capisce al volo la strada da intraprendere e risolve il problema, anche se è una cosa che non ha mai fatto!

    Posso tranquillamente affermare che è molto meno dispendioso, sia in termini di tempo che in termini di 'stress', farsela una base in modo da essere autonomi o quasi; al contrario, girando i forum 'elemosinando' soluzioni già pronte e scopiazzando a destra e manca, si rimane sempre al palo!


  • User Newbie

    Ciao Thedarkita,
    a proposito della pagina con la lista degli utenti iscritti, se ne è parlato in terza pagina di questo tutorial, io ho un problema dal quale non riesco ad uscire.:x
    Ho preso il codice che avevi postato, me lo sono sistemato con i dati che interessano a me e funziona, se non per il fatto che mi visualizza solo gli utenti dentro al limite che definisco, ossia 25 nel mio caso.
    Sopra la lista mi compaiono gli indici delle pagine, ma cliccandoli mi fa vedere sempre gli ultimi 25 utenti iscritti
    Ti copio qui sotto il mio codice:

    <?php
    $page = (isset($_GET['page'])) ? $_GET['page'] : 1;

    $limit = ($page-1)*25;

    $query="SELECT user, date_format(data, '%Y/%m/%d alle ore %H:%i:%s') AS data FROM utenti ORDER BY data DESC";
    $result= mysql_query($query);
    $pagine = ceil(mysql_num_rows($result)/25);

    echo '<table><tr><td>';
    for($i=1; $i<=$pagine; $i++)
    {
    echo '<a href="utenti.php?page='.$i.'">'.$i.'</a> ';
    }
    echo '</td></tr>';
    while($row = mysql_fetch_array($result))
    {
    echo '<tr><td>'.$row['user'].', iscritto il: '.$row['data'].'<br>;
    }
    echo '</table>';
    ?>

    Ho provato e riprovato, ma nulla da fare, se tu, o qualcun'altro, mi può dare una mano ve ne sarei davvero grato!
    :ciauz:


  • User Newbie

    Ciao,

    innanzi tutto grazie mille per questo tutorial.
    Pur non capendo niente di php sono riuscito a istallarlo e farlo funzionare...

    ...ora però io avrei bisogno di bloccare l'accesso all'area privata, nel senso che vorrei essere io a fornire username e password agli utenti...

    come posso fare?

    grazie ancora :wink3:


  • User Newbie

    ciao scusate potreste postarmi l codice per una pagina che serva a cambiare password


  • User Attivo

    Ciao, devi fare una semplice Update sul campo che ti interessa


  • User Newbie

    Scusatemi non mi sono espresso corrretamente intendevo una pagina con un form del tipo nome utente,vecchia password,nuova password,conferma passsword


  • User Newbie

    io avevo fatto queato ma nn funziona[php]<?php
    // Includo la connessione al database
    require('../area_privata/config.php');

    $user = $SESSION['userloggato'];
    if ($user) {

    //user is logged in

    if ($_POST['submit']) {

    // check fields

    $oldpassword = md5($_POST['vpass']);
    $newpassword = md5($_POST['pass']);
    $repeatnewpassword = md5 ($_POST['pass2']);

    //connect db

    $db_host = "localhost";
    $db_user = "ciberioegiro";
    $db_password = "miapass";
    $db_name = "my_ciberioegiro";

    //connetto il database
    $db = mysql_connect($db_host, $db_user, $db_password) or die ('Errore durante la connessione');
    mysql_select_db($db_name, $db) or die ('Errore durante la selezione del db');

    $queryget = mysql_query("SELECT pass FROM WHERE user='$user'") or die ("Query didnt work");
    $row = mysql_fetch_assoc($queryget);

    $oldpassworddb = $row['pass'];

    echo $olrdpassworddb."<br>";
    echo $oldpassword."<br>";

    //check passwords
    if ($oldpassword==$oldpassworddb)
    {

    // check two new passwords
    if ($newpasword==$repeatnewpassword)

    {

    //success
    //change password in db

    $querychange = mysql_query("UPDATE utenti SET pass='$newpassword' WHERE user='$user'") or die ("Your password has been changed. <a href='index.php'>Rerturn to main page.");

    } else {

    print ("New passwords don't match!");

    }

    } else {

    print ("Old password doesnt match!");

    }

    } else {

    echo "";

    }

    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
    <html xmlns="w3.org/1999/xhtml">
    <?php include("../area_privata/configuratoriphp/head.php")?>
    <div id="container">
    <?php include("../area_privata/configuratoriphp/header.php")?>
    <?php include("../area_privata/configuratoriphp/nav.php")?>
    <?php include("../area_privata/configuratoriphp/colsx.php")?>
    <div id="coldx">

    <div id="contenuti">
       <div class="boxcontenuti">
    

    <!--inizio contenuto principale-->
    <!--<p> </p>-->
    <br />

    <h2>AREA RISERVATA DOCENTI</h2>

    <div id="centra_ingresso">
    <form class="ingresso" name="logForm" id="logForm" action='cpassword.php' method='post'>
    <fieldset>

      <legend><strong>Modulo cambia password</strong></legend>
      <div>
        <label for="username">Username</label>
        <input class="required grigio" id="user" type='text' name='user' value="<?php echo $_SESSION['userloggato'];?>" />
      </div>
      <div>
        <label for="vecchiapassword">Vecchia password</label>
    
        <input class="required password" id="vpass" type='password' name='vpass' />
      </div>
      <div>
        <label for="password">Nuova password</label>
        <input class="required password" id="pass" type='password' name='pass' /></p>
      </div>
      <div>
        <label for="password2">Ripeti nuova password</label>
    
        <input class="required password" id="pass2" type='password' name='pass2' />
      </div>
      <div>
        <p><input type='submit' value='CAMBIA PASSWORD'>&nbsp;</p>
      </div>
    </fieldset>
    

    </form>
    </div>

    <!--fine contenuto principale-->
    </div>
    </div>

    <!--fine sottocontenitore centrale-->
    </div>
    </div>
    <?php include("configuratoriphp/footer.php");?>
    </body>
    </html>[/php]


  • ModSenior

    Ciao greezle,
    questa cosa è già stata trattata in alcuni post, ti basta togliere la pagina di registrazione.
    Anche il cambio password mi sembra sia già stato trattato.


  • User Newbie

    Ciao scusatemi ma nei post precedenti non ho trato niente per il reimposta password(non il recupera).


  • User Newbie

    Ciao Thedarkita, il tutorial è veramente incredibile.
    Ho seguito tutta la conversazione e attivato una versione di test funzionante del sistema di login.
    Ora però proprio non riesco a capire come far in modo che, una volta loggato correttamente, ogni utente sia indirizzato ad una pagina specifica a lui dedicata: una pagina privata per ogni utente. Ho cercato nel corso del tutorial di capire come fare ma non ho trovato risposta. Potessi aiutarmi te ne sarei grato.
    Ciao.


  • 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 ?