[RISOLTO]Modifica Profilo Utente PHP

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Vuoi che l'immagine sia sovrascritta oppure la vuoi salvare cambiando quella del profilo?
Nel primo caso basta creare una cartella immagini dove metti tutte le immagini degli utenti chiamandole con l'id oppure con il nickname se è univoco e non modificabile, allora basta permettergli di fare l'upload caricando una nuova immagine con lo stesso nome che sovrascriverà quella precedente.
Nel secondo caso nella cartella immagini puoi creare una cartella per ogni utente (nominandole con il suo id o con il suo nickname) e quando fa l'upload nomini le immagini con un id che vai ad incrementare in modo che non si sovrascrivano.

Ci sono più soluzioni ovviamente ma quella che mi sembra più semplice e più chiara è questa.
 

Nickname

Utente Attivo
18 Set 2013
122
0
0
Vuoi che l'immagine sia sovrascritta oppure la vuoi salvare cambiando quella del profilo?
Nel primo caso basta creare una cartella immagini dove metti tutte le immagini degli utenti chiamandole con l'id oppure con il nickname se è univoco e non modificabile, allora basta permettergli di fare l'upload caricando una nuova immagine con lo stesso nome che sovrascriverà quella precedente.
Nel secondo caso nella cartella immagini puoi creare una cartella per ogni utente (nominandole con il suo id o con il suo nickname) e quando fa l'upload nomini le immagini con un id che vai ad incrementare in modo che non si sovrascrivano.

Ci sono più soluzioni ovviamente ma quella che mi sembra più semplice e più chiara è questa.

Vorrei fare in modo che l'utente possa cambiare la propria immagine, oppure se non è presente, di metterne una nuova.
Quindi in pratica se l'utente ha già l'immagine e la cambia, questa verrà sovrascritta, altrimenti, se l'utente non ne ha già una, verrà caricata normalmente.

Io ho già fatto un form per la registrazione degli utenti, e le immagini vengono caricate tutte in una cartella.
Grazie dell'aiuto :)

Edit: Nella pagina del profilo le richiamo con il nickname che è univoco e non modificabile ;)
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Se sono tutte nella stessa cartella puoi fare confusione.
Prova a seguire il secondo caso.
 

MarcoGrazia

Utente Attivo
15 Dic 2009
852
20
28
62
Udine
www.stilisticamente.com
Io però lascerei perdere le istruzioni mysql_ e userei le improved mysqli_ che in tema di sicurezza sono molto più sicure e inizierei a usare mysqli_stmt_bind_param() proprio per evitare di inserire valori direttamente nelle query. Scusate se faccio il Pierino :D
Inoltre eviterei di cose del tipo
PHP:
"SELECT * FROM utenti WHERE username = '$username' AND password = '$password_cript'"
perché ti esponi ad un caso da manuale di SQL Injection.
Infatti basta inserire nella stringa tramite il form di login (campo password) la seguente frase
' OR '1' = '1
il gioco è fatto.
La queri diventa
PHP:
"SELECT * FROM utenti WHERE username = '$username' AND password = 'OR '1' = '1'"
ora siccome 1 sarà sicuramente uguale a 1 la query funziona sempre e comunque.
Ovvio che il sistema lo trasforma proprio per via dell'escaping, però questa è la SQL Injection più semplice sgamata, ce ne sono altre complesse che superano anche l'escaping.
La cosa migliore è quella di 1) non mandare mai al database la password in chiaro mai verificarla dalla query in quel modo, ma se proprio non se ne può fare a meno almeno codificarla in modo che anche OR 1=1 diventi una banale stringa md5 (meglio sha1)
PHP:
"SELECT * FROM utenti WHERE username = '$username' AND password = SHA1('$password_cript')"
( qui SHA1() è funzione dell'SQL, non quella del PHP ;-) ) in questo modo viene tutto codificato.
Comunque non vale la pena mai fare così, semmai meglio
PHP:
"SELECT * FROM utenti WHERE username = '$username'"
e poi verificare se il campo password è uguale a quanto proviene da form di login, tanto più se username è univoco come dovrebbe essere (non ci sono nel database due nickname uguali) è un passaggio in più nel PHP ma rende la cosa un pelo più gestibile.

fonti: http://it.wikipedia.org/wiki/SQL_injection http://en.wikipedia.org/wiki/SQL_injection http://oldblog.antirez.com/post/33 http://stackoverflow.com/questions/902129/sql-sha1-inside-where/902159#902159
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
@MarcoGrazia
guarda che l'utente ha chiesto un'altra cosa non una lezione di php.
questo a parte al passaggio a mysqli che gli era già stato suggerito
 

MarcoGrazia

Utente Attivo
15 Dic 2009
852
20
28
62
Udine
www.stilisticamente.com
Borgo lo so, ma leggendo il suo codice mi sono detto se potevo migliorarlo dal punto di vista della sicurezza.
Non voglio fare il sapientino, anche perché ho pure scritto almeno una cavolata, solo che mettere online codice insicuro è pericoloso anche per gli altri.
 

Nickname

Utente Attivo
18 Set 2013
122
0
0
Borgo lo so, ma leggendo il suo codice mi sono detto se potevo migliorarlo dal punto di vista della sicurezza.
Non voglio fare il sapientino, anche perché ho pure scritto almeno una cavolata, solo che mettere online codice insicuro è pericoloso anche per gli altri.

Bè ti ringrazio, però ora mi interessa più creare tutto il sistema per fare quello che ho chiesto, poi più in là vedrò per la sicurezza che comunque rimane molto importante :)
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
scusa, mi sono perso.
comunque sarebbe meglio che tu riproponessi il problema in un nuovo post specificando bene quello che vuoi fare.
es l'utente loggato vuole caricare/modificare un suo avatar
 
Discussioni simili
Autore Titolo Forum Risposte Data
A [PHP] [RISOLTO] Modifica record db da form PHP 11
F [Risolto] Form di modifica record non riconosce <br> db access Classic ASP 3
N [RISOLTO]Utente Loggato, Modifica immagine personale in PHP PHP 9
T [risolto] aiutino modifica form email HTML e CSS 7
L (risolto) MySQL 0
B getElementById su piu id(Risolto) Javascript 7
L Esercitarsi con Js [RISOLTO] Javascript 4
C [RISOLTO]Inserimento variabile php in input html PHP 20
L risolto visualizzazione e ordinamento dati PHP 1
moustache [RISOLTO] SQL PHP IIS PHP 8
Sergio Unia Ricezione email con destinatari multipli [Risolto] PHP 2
L update tabelle in php mysql [risolto] PHP 6
M Semplice visualizzatore di immagini [risolto con plugin wp] PHP 7
L [RISOLTO] Stampa a video risultato count in html PHP 13
L [RISOLTO] Eliminare una discussione creata PHP 3
tomorc [HTML] Problema con scroll bar (risolto) HTML e CSS 0
A [PHP] Problema query insert [RISOLTO] PHP 14
B [PHP] recuperare IP dei server in load balancing [RISOLTO] PHP 3
K [RISOLTO] Problema Griglia Php+Mysql PHP 13
S [RISOLTO] aggiorna tabella da select option asp classic Classic ASP 7
elpirata [RISOLTO][Javascript] Datapicker e autocompletamento campo input Javascript 2
elpirata [RISOLTO][Mysql] Problema insert valori apostrofati MySQL 1
elpirata [RISOLTO][Mysql] Contare le occorrenze in un campo tipo varchar MySQL 2
G [MS Access] Gestione biglietti [RISOLTO] MS Access 2
G [MS Access] Casella combinata & Query [RISOLTO] MS Access 4
G [MS Access] Query mese corrente con conteggio [RISOLTO] MS Access 2
M [RISOLTO]Windows media player non mi funziona più su win 10 pro 64 bit Windows e Software 2
C [RISOLTO][PHP] Errore di sintassi PHP 8
IT9-Gpp [RISOLTO] Leggere variabile restituita da success Ajax 3
Kolop [RISOLTO][PHP] Problema Pagination PHP 2
C [RISOLTO][PHP] Funzione ONclick PHP 14
C [RISOLTO][PHP] Conteggio righe di una tabella PHP 4
N [PHP] Utilizzo variabili di sessione [Risolto] PHP 13
Tommy03 [RISOLTO][PHP] Webserver o devserver? PHP 2
Sergio Unia Recupero dati da una vecchia versione MySql [Risolto] MySQL 4
spider81man [PHP] Problemi cancellazione dato su DB [RISOLTO] PHP 1
A [RISOLTO]Inserimento Immagini da pc a MySql PHP 15
A [PHP] RISOLTO Invio Mail con Tabella PHP 2
felino Risolto - [Wordpress][WooCommerce] PayPal Checkout e campi di fatturazione WordPress 2
elpirata [PHP][RISOLTO] Sommare gli importi estratti da un ciclo while PHP 3
elpirata [PHP][RISOLTO] Effettuare la somma dei tempi di lavorazione PHP 3
elpirata [PHP] [RISOLTO]Sovrascrivere testo in una tabella PHP 2
A [RISOLTO]Recuperare dati inviati con json tramite php PHP 4
C [RISOLTO][PHP] Passaggio variabili senza refresh di pagina PHP 7
elpirata [PHP][RISOLTO] Errore di tipo Notice: Undefined index - Come risolvere quando si hanno tante var PHP 10
S Problema in PHP per invio file XML - RISOLTO- PHP 8
A [Javascript] [RISOLTO] Doppio "submit", in uno stesso "Form" , che puntino ad "action" diversi Javascript 1
marino51 [Risolto]videochat di messenger ha smesso di funzionare sul telefonino Smartphone e tablet 1
A [Javascript] [HTML] RISOLTO...Allungare un box all'apertura della pagina No Mouse over Javascript 9
ken_korn [Javascript][Risolto] browser.tab.Tabs.favIconUrl non funziona Javascript 5

Discussioni simili