• User

    File .php che si aggiorna in automatico

    Ciao!

    Ho finito di realizzare un form per registrare caselle di posta elettronica sul dominio che gestisco.

    Ho fatto tutto e funziona tutto bene ;D premetto però che ho avuto tanta fortuna, perché di php ne so veramente molto poco...

    Vorrei sapere, se potete aiutarmi, in quale modo potrei eventualmente aggiornare il file "username.php" contenente l'elenco degli username già utilizzati (file che, al momento, aggiorno io aggiungendo poco a poco i nuovi username chiesti).

    Il file "username.php" da aggiornare è il seguente:

    <?php
    $request = trim(strtolower($_REQUEST['username']));
    //sleep(2);
    usleep(150000);
    $users = array('username1', 'username2', 'username3');
    $valid = 'true';
    foreach($users as $user) {
    if( strtolower($user) == $request )
    $valid = 'false';
    }
    echo $valid;
    ?>

    Mi piacerebbe che il file che segue "send.php" (che è quello che raccoglie i dati inseriti nel form di registrazione e mi li invia cliccando sul tasto "invio") oltre a inviarmi i adti aggiungesse automaticamente ogni nuovo username al file "username.php"...:

    <?php

    function printResult()
    {
    print("<html>\n<head>\n<meta http-equiv='Refresh' content='0;URL=miodominio.it/registrazione-avvenuta'\n");
    print("</head></html>\n");
    }

        $recM= "username=$username;password=$password;email=$email";
    

    mail("indirizzomailmiodominio","oggetto dell'email",$recM); printResult();

    ?>

    E' possibile fare una cosa del genere?

    Grazie a chi mi potrà aiutare 😄
    Fabiana


  • ModSenior

    Ciao FabianaVeg,

    Io piuttosto farei cosi:

    username.php
    [php]
    <?php
    $request = trim(strtolower($_REQUEST['username']));
    //sleep(2);
    usleep(150000);
    include('occupati.php');
    $valid = 'true';
    if(in_array($request, $occcupati))
    $valid = 'false';

    echo $valid;
    ?>
    [/php]

    In occupati.php salvi nel seguente formato:
    [php]
    $occupati[] = 'Nick1';
    $occupati[] = 'Nick2';
    $occupati[] = 'Nick3';
    [/php]

    Utilizzando fopen qui trovi qualcosa con cui partire per la scrittura su file.
    Comunque ti conviene utilizzare un database, piuttosto che file poichè quando avrai grandi quantità di dati inizierai ad avere problemi.


  • User

    Ti conviene fare un file users.txt dove metti tutti i nomi degli utenti riga per riga, poi modifichi:

    
    $users = array('username1', 'username2', 'username3');
    
    

    con

    
    $users = file("users.txt");
    
    

    A questo punto il nome è da aggiungere in coda al file users.txt e basta fare, prima dell'echo valid:

    
    $fp = fopen("users.txt", "w+");
    fputs($request );
    fclose($fp);
    
    

  • User

    Ho avuto un problema simile, e ti dico solo di far attenzione ai permessi di scrittura, in quanto sul mio hosting non mi era possibile aprire un file in scrittura per scriverci dentro...e quindi sono dovuto tornare alla soluzione "manuale"!!

    Oltre a questo, se disponessi di un database potresti realizzare il tutto con molta più comodità...

    ciao