Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Registrazione non funzionante

    Salve

    Mi sono dovuto ricreare un utente perchè mi avete bannato senza motivo...

    Comunque, tornando a noi, sto creando (da mooooolto tempo) un file uploader molto complesso, con registrazione, cartella personale, e altro... (la base del codice per l'upload l'ho presa da qui, ma l'ho totalmente stravolta)

    Il mio problema è questo:

    Quando vado con Mozilla nella pagina di registrazione, provo a registrarmi, ma quando clicco su "registrati" si aggiorna la pagina, e questo lo dovrebbe fare, però la aggiorna come se non avesse ricevuto nessun dato, cioè non controlla nessun dato e non iscrive l'utente... Il bello è che lo fa solo con Mozilla...

    La pagina in questione è questa:

    http://raynuploader.altervista.org/user/registrati.php (NO SPAM!)

    Vi posto anche il pezzo di codice php del file Users.class.php , che gestisce la registrazione

    Codice PHP:
    Class Users{
        
    /********************************
        SETTING
        *********************************/
        // le credenziali di accesso al database
        
    private $host_db '********';
        private 
    $user_db '********';
        private 
    $pass_db '********';
        private 
    $name_db '********';
        
    // gli url che gestinranno le operazioni di login
        
    public $Urls = array(
                            
    'login_page'     => 'http://raynuploader.altervista.org/user/login.php',
                            
    'register_page'    => 'http://raynuploader.altervista.org/user/registrati.php',
                            
    'logout_page'    => 'http://raynuploader.altervista.org/user/logout.php'
                            
    );
        
        
    /*******************************************
        se non sai ciò che fai non toccare più nulla
        *******************************************/
        /*risorse di connessione*/
        
    protected $conn;
        protected 
    $selezione_db;
        
        
    /*variabili di registrazione*/
        
    protected $reg_username;
        protected 
    $reg_email;
        protected 
    $reg_pass;
        protected 
    $reg_confirm_pass;
        protected 
    $reg_crypt_pass;
        
        
    /*variabili di login*/
        
    protected $login_username;
        protected 
    $login_password;
        protected 
    $login_cryptpass;
        protected 
    $login_iduser;
        
        
    /*variabili per gestire gli errori*/
        
    public $messages = array(
                        
    => 'Il campo username è obbligatorio.',
                        
    => 'Il campo email è obbligatorio.',
                        
    => 'Il campo password è obbligatorio.',
                        
    => 'Le due password non coincidono.',
                        
    => 'Il campo username contiene caratteri non validi. Sono consentiti solo lettere, numeri il i seguenti simboli . _ -.',
                        
    => 'Inserisci una email con sitassi corretta.',
                        
    => 'La password scelta è eccessivamente breve. Scegli una password di almeno 8 caratteri.',
                        
    => 'Esiste già un utente registrato con questo username.',
                        
    => 'Esiste già un utente registrato con questa email.',
                        
    10 => 'Registrazione effettuata con successo.',
                        
    11 => 'Login errato',
                        
    12 => 'Login eseguito con successo.',
                        
    13 => 'Logout eseguito con successo.',
                        
    14 => 'Per accedere a questa pagina occorre essere loggati.'
                        
    );
        
        public 
    $message_script;
        
        
    // il costruttore attiva la connessione a mysql
        
    public function __construct(){
            
    $this->connessione();
            }
        
    /******************
        CONNESSIONE A MYSQL
        ******************/
        
    protected function connessione(){
            
    $this->conn mysql_connect($this->host_db$this->user_db$this->pass_db) or die(mysql_error());
            
    $this->selezione_db mysql_select_db($this->name_db$this->conn) or die(mysql_error());
            return 
    TRUE;
            }
            
        
    /*************************************
        ALCUNI METODI PER ESEGUIRE VALIDAZIONI
        *************************************/
        
        // verifica campo generico non vuoto (TRUE se non vuoto)
        
    public function empty_string($string){
            
    $string trim($string);
            if(
    $string==''){
                return 
    TRUE;
                }
            else{
                return 
    FALSE;
                }
            }
        
        
    // verifica sintassi username
        
    public function is_username($username){
            
    $regex '/^[a-z0-9\.\-_]{3,30}$/i';
            return 
    preg_match($regex$username);
            }
        
        
    // verifica sintassi email (TRUE se ok)
        
    public function is_email($email){
            
    $regex '/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$/';
            return 
    preg_match($regex$email);
            }
            
        
    // verifica sintassi password (per semplicità solo lunghezza) (TRUE se ok)
        
    public function is_secure_password($password){
            if(
    strlen($password)>=8){
                return 
    TRUE;
                }
            else{
                return 
    FALSE;
                }
            }
                
        
    /*****************************************************
        METODI PER VERIFICARE ESISTENZA DI USERNAME E PASSWORD
        ******************************************************/
        
        // verifica esistenza username (TRUE se esiste)
        
    public function isset_username($username){
            
    $query "SELECT COUNT(username) AS count 
                        FROM users 
                        WHERE username='"
    .mysql_real_escape_string($username)."' 
                        LIMIT 1"
    ;
            
    $result mysql_query($query) or die(mysql_error());
            
    $row mysql_fetch_array($result);
            if(
    $row['count']==1){
                return 
    TRUE;
                }
            else{
                return 
    FALSE;
                }
            }
        
        
    // verifica esistenza email (TRUE  se esiste)
        
    public function isset_email($email){
            
    $query "SELECT COUNT(email) AS count 
                        FROM users 
                        WHERE email='"
    .mysql_real_escape_string($email)."' 
                        LIMIT 1"
    ;
            
    $result mysql_query($query) or die(mysql_error());
            
    $row mysql_fetch_array($result);
            if(
    $row['count']==1){
                return 
    TRUE;
                }
            else{
                return 
    FALSE;
                }
            }
        
        
    /******************************
        I FORM DI LOGIN E REGISTRAZIONE
        ******************************/
        
    public function get_login_form(){
            
    $html '
                <form action="' 
    .$this->Urls['login_page']. '" method="post" id="form_login">
                <fieldset>
                <legend>Login<legend>
                <label for="login_user">Username</label>
                    <input type="text" name="username" id="login_user" />
                <label for="login_pass">Password</label>
                    <input type="password" name="pass" id="login_pass" />
                <input type="submit" name="login" value="login" id="login_submit"/>
                </fieldset>
                </form>'
    ;
            return 
    $html;
            }
        
        public function 
    get_register_form(){
            
    $html '
                <form action="' 
    .$this->Urls['register_page']. '" method="post" id="form_register">
                <fieldset>
                <legend>Registrazione<legend>
                <label for="reg_user">Username*</label>
                    <input type="text" name="reg_username" id="reg_user" />
                <label for="reg_email">Email*</label>
                    <input type="text" name="reg_email" id="reg_email" />
                <label for="reg_pass1">Password*</label>
                    <input type="password" name="reg_pass1" id="reg_pass1" />
                <label for="reg_pass2">Conferma Password*</label>
                    <input type="password" name="reg_pass2" id="reg_pass2" />
                <input type="submit" name="registrati" value="registrati" id="reg_submit" />
                <input type="reset" name="reset" value="cancella" id="reg_reset" />
                </fieldset>
                </form>'
    ;
            return 
    $html;
            }
        
        
    /*****************************
        LINK LOGOUT
        *****************************/
        
    public function get_link_logout(){
            if(
    $this->is_logged()){
                return 
    '[url="'.$this->Urls['logout_page'].'"]Logout[/url]';
                }
            return 
    '';
            }
            
        
    /*******************************
        METODO PER CRIPTARE LE PASSWORD
        *******************************/
        
    public function crypt_pass($pass){
            return 
    sha1($pass);
            }
        
        
    /*****************************
        ESECUZIONE DELLA REGISTRAZIONE
        ******************************/
        
    public function esegui_registrazione(){
            
    // se il form e i suoi input sono stati inviati
            
    if(isset($_POST['registrati']) AND 
                isset(
    $_POST['reg_username']) AND 
                isset(
    $_POST['reg_email']) AND 
                isset(
    $_POST['reg_pass1']) AND 
                isset(
    $_POST['reg_pass2'])){ 
                
    //valorizziamo alcune variabili
                
    $this->reg_username trim($_POST['reg_username']);
                
    $this->reg_email trim($_POST['reg_email']);
                
    $this->reg_pass trim($_POST['reg_pass1']);
                
    $this->reg_confirm_pass trim($_POST['reg_pass2']);
                
    $nomecartella $_POST['reg_username'] . "/";
                
    // criptiamo la password
                
    $this->reg_crypt_pass $this->crypt_pass($this->reg_pass);
                
    // eseguiamo la validazione degli input
                
    $valid_input $this->check_input_registrazione();
                
    // se sono validi
                
    if($valid_input===TRUE){
                    
    // inseriamo all'interno del database i dati
                    
    $this->query_insert_registrazione();
                    
    // settiamo il messaggio di successo della registrazione
                    
    $this->message_script 10;
                    
    // crea la cartella per l'utente
                    
    Mkdir("/membri/raynuploader/user/".$nomecartella,0664);
                    
    Mkdir("/membri/raynuploader/user/".$nomecartella.'file/',0664);
                    
    // Copia il file index.php della cartella carica
                    
    $file '/membri/raynuploader/user/default/index.php';
                    
    $newfile '/membri/raynuploader/user/'.$nomecartella.'index.php';
                    
    copy($file$newfile);
                    
    // Copia il file index.php della cartella file
                    
    $file '/membri/raynuploader/user/default/file/index.php';
                    
    $newfile '/membri/raynuploader/user/'.$nomecartella.'file/'.'index.php';
                    
    copy($file$newfile);
                    
    // conclude
                    
    return TRUE;
                    }
                }
            return 
    FALSE;
            }
        
        
    // verifica che gli input siano corretti
        
    protected function check_input_registrazione(){
            if(
    $this->empty_string($this->reg_username)){
                
    $this->message_script 1;
                return 
    FALSE;
                }
            else if(
    $this->empty_string($this->reg_email)){
                
    $this->message_script 2;
                return 
    FALSE;
                }
            else if(
    $this->empty_string($this->reg_pass)){
                
    $this->message_script 3;
                return 
    FALSE;
                }
            else if(
    $this->reg_pass != $this->reg_confirm_pass){
                
    $this->message_script 4;
                return 
    FALSE;
                }
            else if(!
    $this->is_username($this->reg_username)){
                
    $this->message_script 5;
                return 
    FALSE;
                }
            else if(!
    $this->is_email($this->reg_email)){
                
    $this->message_script 6;
                return 
    FALSE;
                }
            else if(!
    $this->is_secure_password($this->reg_pass)){
                
    $this->message_script 7;
                return 
    FALSE;
                }
            else if(
    $this->isset_username($this->reg_username)==TRUE){
                
    $this->message_script 8;
                return 
    FALSE;
                }
            else if(
    $this->isset_email($this->reg_email)==TRUE){
                
    $this->message_script 9;
                return 
    FALSE;
                }
            return 
    TRUE;
            }
        
        
    // esecuzione della query insert di registrazione
        
    protected function query_insert_registrazione(){
            
    $query "
                        INSERT INTO users 
                        SET 
                            username='"
    .mysql_real_escape_string($this->reg_username)."', 
                            pass='"
    .mysql_real_escape_string($this->reg_crypt_pass)."', 
                            email='"
    .mysql_real_escape_string($this->reg_email)."', 
                            data_reg= NOW()"
    ;
            
    $result mysql_query($query) or die(mysql_error());
            return 
    mysql_insert_id();
            } 
    Lo so che è complicato, ma vi prego, aiutatemi ç_ç

    Grazie in anticipo


    EDIT: Se provate con chrome, noterete che funziona perfettamente...

  2. #2
    Dovresti postare il codice di registrati.php
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Ok, eccolo (ma non serve a molto, dato che tutti i codici vengono eseguiti da Users.class.php)

    Codice PHP:
    <?php
    session_start
    ();
    require_once(
    '../Users.class.php');
    $login = New Users;
    $login->esegui_login();
    ?>
    <html>
    <head>
    <title>Rayn Uploader | Utenti | Registrati</title>
    <link rel="stylesheet" href="css/style.css" type="text/css" />
    <link rel="stylesheet" href="default/style.css" type="text/css" />
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
    <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.js"></script> 
    <script type="text/javascript" src="js/validation_login.js"></script> 
    </head>
    <body>
    <table cellpadding="0" cellspacing="1">

    <tr><td>[url="http://raynuploader.altervista.org/"][img]http://mh3leggend.altervista.org/immagini/headeruploader.png[/img][/url]</tr></td>


    <tr><td>

    </tr></td>


    </table>
    <div id="content">
    <?php if($login->get_message()) : ?>
            <div class="message">

    <?php echo $login->get_message(); ?></p></div>
    <?php endif; ?>
    <?php 
    if(!$login->is_logged()) : ?>
    <table cellpadding="0" cellspacing="1">
    <tr><td><p style="text-align: center;">Sei gi&agrave; registrato? [url="index.php"]Clicca qui![/url]</p>
    </tr></td>
    </table>
    <?php echo $login->get_register_form(); ?>
    <?php 
    else: ?>
        <table cellpadding="0" cellspacing="1"><tr><td><h3><p style="text-align: center;">Benvenuto [b]<?php echo $login->get_username(); ?>[/b]</p></h3></td></tr>

        <tr><td><h3><p style="text-align: center;">[url="/user/<?php echo $login->get_username(); ?>/"]Carica[/url] | <?php echo $login->get_link_logout(); ?></p></h3></td></tr>
    </table>
    <?php endif; ?>
    </div>
    <table cellpadding="0" cellspacing="1">
    <tr><td>

    Script by Rayn Admin (Solo per [url="http://raynuploader.altervista.org/"][url]http://raynuploader.altervista.org/[/url][/url])</p></tr></td></table>
    </body>
    </html>

  4. #4
    C'è l'ho fatta!!! Avevo cancellato un pezzetino di PHP, il pezzettino che controllava i POST...

    Chiudete pure

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.