• ModSenior

    Figurati. 😉


  • User Newbie

    Ciao,
    ho anch'io dei problemi con questo script e non sono molto pratico, aiuteresti anche me per favore?

    Comincio con la tabella, l'ho fatta così:

    id int 11 auto_increment
    user text
    pass text
    ses text
    data date
    citta text
    mail text

    Il file registrazione.php che ho fatto io penso che andrebbe censurato. :giggle:
    Attendo il via per postarlo, intanto va bene la tabella? O invece di text devo metterci varchar?
    Grazie.


  • ModSenior

    Ciao Player1,
    La tabella va bene, comunque per le date è più comodo usare il formato time.


  • User Newbie

    Difatti è quello uno dei miei problemi che mi restituisce 0000/00/00
    ora provo grazie,

    e per le immagini 'che poi saranno avatar' è meglio nel db o in una cartella?


  • ModSenior

    Ciao Player1,
    Nel database dovresti salvare il codice dell'immagine poi rigenrare l'immaggine da un file php.
    Dal punto di vista prestazionale direi sia meglio salvare solo il percorso nel db, e salvare fisicamente il file in una cartella.


  • User Newbie

    Ciao thedarkita,
    Questa delle immagini devo studiarmela ancora, (sono agli inizi)
    per data intendo la data di nascita poi per data di registrazione 'datetime', ma non essendo pratico sto cercando di risolvere una cosa alla volta ti posto il file registraz.php

    <?php
    // Includo la connessione al database
    require('config.php');
    
    
    // Se il modulo viene inviato...
    if(isset($_POST['registra']))
    {
        
        // 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 ''
        $ses =(isset($_POST['ses'])) ? trim($_POST['ses']) : '';
        $data =(isset($_POST['data']));
        $citta =(isset($_POST['citta'])) ? trim($_POST['citta']) : '';
        $mail = (isset($_POST['mail'])) ? trim($_POST['mail']) : '';    // Metto nella variabile 'mail' 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);
            $ses = addslashes($ses);
            $citta = addslashes($citta);
        $mail = addslashes($mail);
        }
        
        
        // Controllo il Nome Utente
        if(strlen($user) < 4 || strlen($user) > 12)
            die('Nome Utente troppo corto, o troppo lungo');
        // Controllo la Password
        elseif(strlen($pass) < 4 || strlen($pass) > 12)
            die('Password troppo corta, o troppo lunga');
        elseif(strlen($ses) < 0 || strlen($ses) > 7);
        elseif(strlen($citta) < 2 || strlen($citta) > 12);
        // Controllo l'email
         elseif(!eregi("^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})", $mail))
            die('Email non valida');
        // Controllo il nome utente non sia già occupato
        elseif(mysql_num_rows(mysql_query("SELECT user FROM utenti WHERE user = '$user' LIMIT 1")) == 1)
            die('Nome Utente non disponibile');
        // Controllo l'indirizzo email non sia già registrato
        elseif(mysql_num_rows(mysql_query("SELECT mail FROM utenti WHERE mail = '$mail' LIMIT 1")) == 1)
            die('Questo indirizzo email risulta gi&agrave; registrato ad un altro utente');
        // Registrazione dell'utente nel database
        else
        {
            
            // Crypt della password per garantire una miglior sicurezza
            $pass = md5($pass);
            
            // Query per l'inserimento dell'utente nel database
            $strSQL = "INSERT INTO utenti (user,pass,ses,data,citta,mail)";
            $strSQL .= "VALUES('$user', '$pass', '$ses', '$data', '$citta', '$mail')";
            mysql_query($strSQL) OR die("Errore 003, contattare l'amministratore ".mysql_error());
            
            // Reindirizzo l'utente ad una pagina di conferma della registrazione
            header('Location: home.php');
            exit;
        }
    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "hxxxxxxxx.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="htxxxxxxxxw.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Registrazione</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 />
     Sesso: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;M<input name="ses" type="radio" id="ses" value="maschio">&nbsp;&nbsp;&nbsp;F<input name="ses" type="radio" id="ses" value="femmina"> <br>
    Data di nascita:<br>
    <select name="giorno">
    <?php
    for($i=1;$i<32;$i++){
    echo "<option value=\"$i\">$i</option>\n";
    }
    ?>
    </select>
    <select name="mese">
    <?php
    for($i=1;$i<13;$i++){
    echo "<option value=\"$i\">$i</option>\n";
    }
    ?>
    </select>
    <select name="anno">
    <?php
    for($i=1920;$i<2010;$i++){
    echo "<option value=\"$i\">$i</option>\n";
    }
    ?>
    </select><br>
     <input name="citta" type="text" id="citta" value="Citta" onfocus="if(this.value=='citta') this.value='';" /><br />
     <input name="mail" type="text" id="mail" value="Em@il" onfocus="if(this.value=='Em@il') this.value='';" /><br />
     <input name="registra" type="submit" value="Registrati" /><br />
    </form>
    </body>
    </html>
    

    Mi sa che devo fargli qualcosa qui per la data(che mi restituisce tutti zeri), ma sono fermo qui non riesco ad andare avanti.


  • ModSenior

    Ciao Player1,

    Allora trasforma il campo della tabella in tipo INT.
    Dopo di che puoi usare la funzione mktime per generarti la data in formato time.
    In ogni caso non viene inviato data ma viene inviato giorno, mese ed anno perciò devi prendere dalle variabile POST quei 3 valori.


  • User Newbie

    Grazie sei gentilissimo,
    non ho capito proprio tutto ma pero ora funziona ci ho aggiunto
    $data = $_POST[anno]."/".$_POST[mese]."/".$_POST[giorno];
    lasciando 'date' sul campo,(pero se provo ad invertire anno e giorno non va).
    Comunque tu gli indizi me li hai forniti sia per la data che per le immagini, ora me li vado a studiare, ancora grazie.
    :ciauz:


  • ModSenior

    Ciao Player1,

    Le date non sono nel formato "italiano" nel database quindi devi inserirle in quel modo.
    Se hai bisogno chiedi pure noi siamo qua. 😉


  • User Newbie

    @Thedarkita said:

    Ciao Player1,

    Se hai bisogno chiedi pure noi siamo qua. 😉

    Ciao Thedarkita,
    per gli avatar non ho trovato molto pultroppo 😢
    Al momento so solo che con <input type="file"> da il tasto sfoglia :bigsmile:

    Potresti indicarmi la via maestra per riuscire nel mio intento?


  • ModSenior

    Ciao Player1,

    Per quanto riguarda l'upload degli avatar, puoi seguire questo script:
    http://www.giorgiotave.it/forum/scripting-e-risorse-utili/101524-script-classe-per-lupload.html


  • User Newbie

    Ciao Thedarkita,
    l'avevo visto quello, ma pensavo che per copiare il percorso nel database ci volesse un comando tipo insert into....
    Comunque ora vado a studiarmelo poi ti faccio sapere.
    Grazie e ciao


  • User Newbie

    Caio Thedarkita,
    sto facendo il sito della mia azienda, ma quando si parla di programmazione divento un niubbo, infatti ho scaricato le pagine già pronte e le ho copiate in una cartella del sito.
    Però quando apro la pagina di registrazione mi viene fuori un pezzo di codice in cima alla pagina, e non riesco a farla funzionare.
    Inoltre vorrei sapere se il database lo crea da solo o bisogna crearlo noi.
    Premetto che uso dreamweaver e ho il sito registrato su register.it.
    Scusa e abbi pazienza per l'ignoranza.

    ps.:se vuoi dare un occhio all'errore il link è il seguente:

    www@victoriasecurity@it/index_file/registrati@php
    (al posto delle @ ci sono i punti)


  • User Attivo

    Per thelionking :
    La pagina, nonostante l'estensione php, non viene processata...Se ne deduce che il server non supporta php oppure non è abilitato.


  • User Newbie

    come posso vedere se il problema è il server che non è compatibile oppure se è solo disabilitato?


  • User Newbie

    sono andato sul sito di register e ho visto che non sono abilitato all'uso di php, msql e altre cose.
    Allora vi chiedo un altro favore, se potete aiutarmi nel costruire un area risservata in html oppure consigliarmi un link dove trovo l'occorrente per crearla.
    grazie e a presto


  • User Attivo

    Beh, non si può usare semplice HTML per creare un'area privata...Se non altro potresti usare JavaScript, ma sappi che non è molto sicuro...
    Potresti provare a crearti una serie di cartelle, tipo :
    www.miosito.it / cartella/dir/mia/privata/abcde/123/pagina_privata_xyz234.html
    E così solo tu sai l'indirizzo della tua pagina...
    Sappi che la miglior cosa è sempre usare PHP + MySQL


  • User

    Grazie Thedarkita,
    ho già salvato lo script.
    Ciao.*
    *


  • User

    Salve a tutti...
    Ho provato lo script in locale e funziona correttamente...
    On line non va..
    Ho inserito l'utente... tutto ok
    Quando mi loggo (con l'utente appena creato) non vengo riconosciuto e vengo smistato alla index.php

    Se inserisco un nome utente e una passw sbagliata riconosce l'utente inesistente!

    Come si spiega?
    Cosa combina?


  • ModSenior

    Ciao mcmmultimedia,

    Sembra che il tuo browser non accetti i cookie.