Filtrare dati in un form con PHP

Spesso nella realizzazione di siti dinamici in PHP, ci si trova a creare delle pagine che richiedono l’input dell’utente attraverso un form.
Il problema è che non possiamo sapere a priori se l’utente inserirà dei dati sintatticamente corretti, o se inserirà dati “mal formati” modificando la normale esecuzione della pagina PHP.

Per far fronte a questa problematica ci vengono incontro le espressioni regolari, che permettono di filtrare i dati secondo delle regole ben definite a priori.

In PHP si possono fare controlli su delle variabili con espressioni regolari grazie alle funzioni ereg() ed eregi(), l’unica differenza tra le due è che la prima è case sensitive.

Un’esempio della sintassi è il seguente:


eregi($expRegolare, $varDaControllare);

Dove $varDaControllare indica la variabile in cui verrà controllata l’espressione regolare in $expRegolare.
La funzione eregi restituisce FALSE se l’espressione regolare non è verificata.

Vediamo ora alcuni esempi gia pronti di espressioni regolari che potrebbero capitare frequentemente:

Validazione delle email:


^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$

Validazione di un dominio

^[a-z0-9\-\.]+\.(it|com|org|net|eu|info)$

Verificare l’estensione di un’immagine

^.+\.(bmp|jpeg|jpg|png|gif)$

Verificare l’estensione di un file qualunque

^.+\.rar$

Inoltre va ricordato che in qualunque form, oltre ai controlli con le espressioni regolari, andrebbe controllato che ogni campo sia definito e tutti gli altri controlli di base per evitare spiacevoli sorprese(Sql Injection e altro…)

Cinque cose da non fare

Quando si inizia a realizzare siti web ci sono una serie di cose che sarebbe opportuno evitare di fare. In questo articolo cercherò di spiegarvi quelli che personalmente ritengo dei cattivi approcci al web publishing.

1 – Scrivere codice senza pensare
Molte volte, all’inizio di un progetto, ci si butta a capofitto nella scrittura del codice senza studiare prima l’aspetto grafico. La grafica in un sito, rappresenta l’interfaccia verso l’utente, quindi dovrebbe essere curata in modo appropiato e non superficiale.

Quindi prima di fare ogni cosa, prendete carta e penna (o aprite photoshop, in base al vostro approccio preferito) e cominciate a realizzare la grafica del sito.

2 – Esportare in HTML da Photoshop o Paint shop pro
Photoshop e altri programmi di grafica, sono essenziali per la realizzazione del layout di un sito. Tra le loro funzionalità, c’è anche l’esportazione di un layout in HTML.

Personalmente ritengo che sia da evitare questa procedura, in quanto il codice generato sarà poco adatto ad un sito di qualità. (continua…)

Sessioni in PHP

I possibili utilizzi delle sessioni in PHP sono molti, ma tra i più importanti ed ovvi c’è la creazione di pagine web protette da Login.
Infatti, una volta inseriti i dati nel modulo di accesso e confermato l’effettivo permesso ad accedere nell’area protetta, è possibile impostare una sessione  permettendoci di riconoscere l’utente in ogni altra pagina del sito e consentendogli di accedere alle informazioni riservate al suo account.

L’implementazione e l’utilizzo di sessioni in PHP è molto semplice, infatti le uniche operazioni da fare sono la creazione della sessione, la memorizzazione dei dati ed in fine la chiusura della sessione.

Ora, passando alla pratica vedremo come usare le funzioni che ci vengono offerte per la gestione delle sessioni:

Creazione della sessione in PHP:
La creazione della sessione viene effettuata in modo molto semplice usando la funzione

<?php
session_start();
?>

L’unico dettaglio da tenere a mente è che la creazione della sessione in PHP va effettuata subito prima di ogni output della pagina, quindi l’ideale per non ricevere errori e far funzionare tutto è l’inserimento all’inizio della pagina. (continua…)