Convalida dati form & risultati query

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao,
manca il !
PHP:
 if (!get_magic_quotes_gpc())
        $data = stripslashes($data);
se NON è attivo allora metti lo slash

cmq non mi viene in mente altro che potresti aggiungere
forse sono anche troppi, nel senso che se ti aspetti un numero basterebbe verificare se è un intero con (int)
PHP:
$numero = (int) $_GET['numero'];
Per la paginazione dei risultati prova a vedere se riesci a prendere spunto da questo post
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
criric: era giusto così. Se le magic quotes erano attivate allora toglieva gli slash già inseriti da PHP, quindi ne aggiungeva altri.

Piuttosto direi che la funzione può essere migliorata così:
PHP:
function filter($data, $trim = true, $sanitize = true)
{
    $data = $sanitize ? filter_var($data, FILTER_SANITIZE_STRING) : $data;
    $data = $trim ? trim($data) : $data;
    $data = !get_magic_quotes_gpc() ? mysql_real_escape_string($data) : $data;

    return $data;
}
Ho aggiunto i parametri perché ci sono delle situazioni in cui non vuoi alterare la stringa (tranne i controlli per le SQL injection), per esempio in caso l'utente inserisca una password contenente spazi all'inizio o alla fine, oppure caratteri speciali che sarebbero eliminati da filter_var.
In questo caso non dovrebbe neanche essere necessario usare la funzione filter, tanto che la password è criptata e quindi non può costituire un pericolo per il database.

Tuttavia funzioni del genere sono inutili quando PHP offre librerie come PDO che mettono a disposizione le prepared statement. mysql è di fatto deprecata e il suo utilizzo in applicazioni di nuova generazione è fortemente sconsigliato.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
Tuttavia funzioni del genere sono inutili quando PHP offre librerie come PDO che mettono a disposizione le prepared statement. mysql è di fatto deprecata e il suo utilizzo in applicazioni di nuova generazione è fortemente sconsigliato.
hai ragione, ma con un piccolo ma.
ci sono alcuni provider (e anche famosi) che non hanno le pdo attive, quindi devi usare le vecchie query
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Se le magic quotes erano attivate allora toglieva gli slash già inseriti da PHP
VERO! non so perche ma ero convinto che ci fosse scritto addslashes() nella codnizione
 
Discussioni simili
Autore Titolo Forum Risposte Data
J Scritp invio email convalida indirizzo PHP 13
M Convalida form in presenza di link Classic ASP 1
Frank10 Convalida w3c problema con i plug in facebook HTML e CSS 4
novello88 Problema convalida W3C pagina HTML5 HTML e CSS 8
M Problema convalida checkbox Javascript 0
SolidSnake4 regex convalida mail PHP 15
C convalida email Flash 2
F problema con convalida form e checkbox Javascript 1
P javascript convalida in tempo reale... Javascript 4
T Problema Modulo - Campo Convalida e JS Javascript 2
L convalida w3c di un file .asp HTML e CSS 1
N dati tabella non presi PHP 0
M Riportare in tabella HTML dati estratti con query SQL MySQL 0
I Assegnare dati fetch request ad una variabile globale Javascript 0
L PHPSpreadsheet inserire dati da file .xlsx/.xls su database PHP 2
L Ricezione dei dati su file php da modulo html PHP 6
L inserimento form dati multipli ? PHP 0
S Leggere dati da API e visualizzarli PHP 0
S problema con recupero dati tabella mysql PHP 2
E Progressbar estrazione dati da tabella mySQL Ajax 9
A invio massivo dati a file php Javascript 4
M Inviare dati nel db dopo risposta alert PHP 0
A recuperare i dati passati nel post PHP 1
L Estrazione dati php Database 6
L Estrazione dati casuali non doppioni MySQL 1
J Form inserimento dati in database Ajax 1
D Recupero dati da HDD esterno Hardware 0
L non duplicare dati in stato "aggiornamento" PHP 6
L inserire dati multi livello PHP 8
L input (rilevare cambio dati) PHP 3
L input dati con inser into select ? PHP 4
W Invio Dati ad un altra pagina Classic ASP 1
A Mostrare dati database per pagine PHP 2
Samuele Ronzani Sposta dati in una tabella eliminandolo MySQL 6
S Gestire scelta dropdown con dati da Mysql PHP 2
C Estrarre dati stringa Sql Database 1
elpirata Query per leggere dati da una tabella mysql e mostrarli a video in base a parametri passati tramite GET PHP 5
W Evitare ridondanza dei dati Classic ASP 3
MarcoGrazia Dati nulli su join tra più tabelle MySQL 1
A Inserimento dati nel database tramite form + altre operazioni PHP 18
Alex_70 sql importazione dati MySQL 0
C Aggiungere blocco dati Javascript 6
G inserire dati automaticamente in mysql PHP 0
Tommy03 Unire dati da due tabelle MySQL 5
S Trasferire dati sulle pagine del sito PHP 7
A PROBLEMA: insert mysqli con dati Tagsinput Presentati al Forum 0
L inviare i dati di un form ad un database PHP 6
Alex_70 Inserimento dati a cascata PHP 204
T Da xsd a xml ed inserimento dati in excel XML 0
G Rendere dati di una tabella mysql link PHP 22

Discussioni simili