Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Area riservata

  1. #1

    Area riservata

    Buongiorno

    Ragazzi ho fatto un area riservata, che funziona , solo che avendo un db già utilizzato, con campo user, che equivale a nome e cognome, l'area riservata fatta da me, non permette, perchè ho un controllo sul campo username, per le parole, username come Paolo rossi, per via dello spazio, senza che tolgo il controllo, è possibile fare in modo che lo spazio non sia considerato errore?
    vi posto il codice

    Codice PHP:
    <?php
    session_start
    ();
    ob_start();

    include(
    "./config.php");
     
    $user $_POST['nome'];
    $pass = ($_POST['email']);

    // Se non sono stati inseriti i dati di login rimanda alla pagina principale segnalando l'errore
    if(!isset($user) || !isset($pass)) {
        
    header("Location: ./content.php?login=empty");
    } else {
        
    // Controllo principale sull'integrità dei caratteri per evitare tentativi di SQL Injection
        
    if(!eregi("[^a-zA-Z0-9_\@.]"$user))  {
            
    $amm_sql "SELECT * FROM amministratori WHERE nome_utente='$user' and password='$pass'";
            
    $amm_query = @mysql_query($amm_sql);
                    
    $amm_result = @mysql_fetch_array($amm_query);
                    
    //anagrafica è la tabella utenti, rinominata per via del flusso xml
            
    $user_sql "SELECT * FROM registrazione WHERE nome_cognome='$user' and email='$pass'";
            
    $user_query = @mysql_query($user_sql);
                    
    $user_result = @mysql_fetch_array($user_query);
            
            if(@
    mysql_num_rows($amm_query) > 0) {
                            if(
    $amm_result['banned'] == 'Y') {
                                    
    header("Location: ./content.php?login=ban");
                            } else {
                                    
    $_SESSION['username'] = $user;
                                    
                                    
    // L'utente e` un amministratore, quindi assegno come privilegi 1
                                    
    $_SESSION['privileges'] = 1;
                                    
                                    
    $_SESSION['time'] = time();
                                    
                                    
    $_SESSION['ammid'] = $amm_result['id_amministratore'];
                                    
                                    
    header("Location: ./content.php");
                            }
            } elseif(@
    mysql_num_rows($user_query) > 0) {
                
    $_SESSION['username'] = $user;
                
                
    // L'utente e` un inquilino, quindi assegno come privilegi 2
                
    $_SESSION['privileges'] = 2;
                
                
    $_SESSION['time'] = time();
                            
                            
    $_SESSION['userid'] = $user_result['id'];
                            
                         
                
                
    header("Location: ./content.php");
            } else {
                
    header("Location: ./content.php?login=failed");
            }
        } else {
            
    header("Location: ./content.php?login=chars");
        }
    }

    ob_end_flush();
    ?>
    Questa è la stringa che fa il cntrollo

    Codice PHP:
    if(!eregi("[^a-zA-Z0-9_\@.]"$user))  { 
    Grazie in anticipo per le rispsote

  2. #2
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419
    Codice PHP:
    if(!eregi("[^a-zA-Z0-9_@.] "$user))  { 
    prova così... aggiungendo lo spazio alla fine

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    115
    no devi mettere lo spazio tra i caratteri consentiti tra parentesi quadre... non ricordo se prima ci va una backslash
    Macbook 1.3'' v5

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.