Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it L'avatar di bode
    Registrato dal
    Feb 2007
    Messaggi
    304

    Spazi bianchi a fine record

    Dato il seguente codice:
    Codice PHP:
    $utenti_username =mysql_real_escape_string($_POST['utenti_username']); 
    $utenti_password =mysql_real_escape_string($_POST['utenti_password']);        
    $utenti_email =mysql_real_escape_string($_POST['utenti_email']);    

    $nuovo_utente "INSERT INTO utenti
                     (utenti_username,utenti_password,utenti_email,utenti_reg)
                VALUES('
    $utenti_username','$utenti_password','$utenti_email','1')";
                
    $ins_nuovo_utente=mysql_query($nuovo_utente) or die (mysql_error()); 
    Sapete dirmi perche mi inserisce 2 spazi bianchi dopo lo username? Cioč se lo username che voglio inserire č bode formato da 4 lettere lui mi inserisce bode ma se vado a misurare la lunghezza della stringa inserita č di 6 lettere, che problema ha la query? A me sembra corretta. Preciso che la lunghezza della variabile $utenti_username che preleva il valore del campo di un form da una pagina precedenteha lunghezza giusta, quindi il problema sta nella query o nel mio Db.

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285
    prova ad inserire nel db

    Codice PHP:
    ltrim($utenti_username
    vedi se ti lascia lo stesso gli spazi

  3. #3
    Utente di HTML.it L'avatar di bode
    Registrato dal
    Feb 2007
    Messaggi
    304
    Non č cambiato niente purtroppo. Il bello č che se inserisco a mano con phpmyadmin quando verifico che lo username che sto inserendo esiste gia tutto funziona, ma se registro lo username dal sito che sto facendo quindi tramite quesry e dopo provo a riregistrarmi con lo stesso username ovviamente mi dice che lo username non č presente nel database perche lo rileva con quegli spazi permettendomi di andare avanti. DOpo di che pero' mi da questo errore

    codice:
    Duplicate entry 'bode ' for key 'PRIMARY'
    quindi lo rileva che esiste gia ma allora perche non me lo dice prima?

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285
    assurdo! con quella funzione avresti dovuto risolvere perché serve ad eliminare ogni spazio ad inizio stringa!! ora impazzisco pure io!

  5. #5
    Utente di HTML.it L'avatar di bode
    Registrato dal
    Feb 2007
    Messaggi
    304
    Ma il fatto č che la variabile che prendo dal POST non ha gli spazi quindi questi spazi vengono creati dal db? Non č che c'entra qualcosa come la codifica caratteri il charsett, io sto usando questo
    codice:
    <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
    o che ne so il Motore di Memorizzazion del db, io ho lasciato MyISAM

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285
    no non sono quelli i problemi...

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285
    prova cosė
    Codice PHP:
    $utenti_username =$_POST['utenti_username'];
    $utenti_password =$_POST['utenti_password'];        
    $utenti_email =$_POST['utenti_email'];

    $nuovo_utente "INSERT INTO utenti
                     (utenti_username,utenti_password,utenti_email,utenti_reg)
                VALUES('
    $utenti_username','$utenti_password','$utenti_email','1')";
                
    $ins_nuovo_utente=mysql_query($nuovo_utente) or die (mysql_error()); 

  8. #8
    Prova a guardare quanto restituito dal db con un editore esadecimale!

    Sono diventato matto anche io per giorni su uno script che non funzionava.
    Era perfatto, ma non funzionava.
    Alla fine esaminandolo con un editore esadecimale ho scoperto alcuni caratteri strani (EOT, BELL, ESC) finiti chissā come nel codice e che spezzavano inopportunamente alcune linee.

    Non ho idea di come questi caratteri siano finiti nel codice, ad esempio con copia ed incolla da chissā quale sorgente nel mio caso.

    Non č detto che sia la soluzione, ma secondo me vale la pena provare.
    In sintesi: sono davvero due "spazi" (ascii 32) quelli aggiunti?
    Tecnolgie per l'arte.
    Arti per la tecnologia.
    softhare

  9. #9
    Utente di HTML.it L'avatar di bode
    Registrato dal
    Feb 2007
    Messaggi
    304
    Avevo gia provato, prima cosa che ho provato a fare, ma nada de nada!

  10. #10
    Utente di HTML.it L'avatar di bode
    Registrato dal
    Feb 2007
    Messaggi
    304
    Originariamente inviato da softhare
    Prova a guardare quanto restituito dal db con un editore esadecimale!

    Sono diventato matto anche io per giorni su uno script che non funzionava.
    Era perfatto, ma non funzionava.
    Alla fine esaminandolo con un editore esadecimale ho scoperto alcuni caratteri strani (EOT, BELL, ESC) finiti chissā come nel codice e che spezzavano inopportunamente alcune linee.

    Non ho idea di come questi caratteri siano finiti nel codice, ad esempio con copia ed incolla da chissā quale sorgente nel mio caso.

    Non č detto che sia la soluzione, ma secondo me vale la pena provare.
    In sintesi: sono davvero due "spazi" (ascii 32) quelli aggiunti?
    Se mi spieghi come devo fare provo subito.

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.