• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Guida I forms

Dvdxseo

Redattore Onorario
Autore del topic
Redattore
User Legend
27 Maggio 2008
5.522
158
Miglior risposta
0
PREMESSA
Premetto che questa guida è molto semplice, per quelli che sono alle prime armi e stanno ancora scoprendo il php.

Ma cosa è un form?

Un form è un "modulo", creato in html, da compilare. Una volta compilato i dati vengono letti e quindi verrà eseguito un determinato codice che scriveremo noi.

Creiamo un form
Ci sono due modi per creare un form, uno si basa in una sola pagina php, l'altro in una html e un'altra php: Noi vedremo il secondo metodo.

Innanzi tutto apriamo un nuovo documento: form.html e scriviamo il tag html classico e con le solite cose (xD)
HTML:
Perfavore, Entra oppure Registrati per vedere i codici!

Quindi mettiamo il codice del form:
HTML:
Perfavore, Entra oppure Registrati per vedere i codici!
Analizziamo l'ultima riga: action="calc.php" serve ad indicare la pagina che riceverà i dati quando invieremo il form; method="post" serve per il php, lo vedremo più avanti; Comunque esistono due methods: GET e POST. Useremo Get quando i dati da inviare sono pochi, post quando saranno molti; ma è possibile scegliere il metodo che ci torna più comodo.
[sep][/sep]Creiamo un form per una calcolatirce:
HTML:
Perfavore, Entra oppure Registrati per vedere i codici!

Analizziamo il resto del codice:
<input type="text" serve a generare una piccola casella di testo, dove andremo a scrive il numero.
name="primo" serve anche questo al php, per fargli capire quale pezzo di form deve leggere (vedremo più avanti)
value="Scrivi qui il primo numero" serve per scrivere automaticamente un testo dentro la casella, che potrà essere ovviamente cancellato e sostituito con un numero (questo parametro è facoltativo)
<select name="op"> <select> serve per generare un menù a tendina, il parametro name sapete già a cosa serve.
<option value="Aggiungi">Aggiungi</option> Gli option sono gli elementi del menù a tendina creato. il parametro value ha una funzione simile a name, in quanto contiene le info che verranno inviate alla pagina php.
<input type="submit" serve quindi per generare un bottone che, una volta premuto, invierà i dati alla pagina specificata nel form.
Chiudiamo quindi il tag form, body e html e la pagina in .html è pronta.

Ecco altri tipi di input type=" che possono essere assegnati, e i loro effetti:
Type|Effetto
text|Genera un campo di testo semplice
textarea|Crea un area di testo più ampia
image|Genera un immagine
password|Un campo di testo, ma con i pallini al posto delle lettere
hidden|un attributo invisibile, che potrebbe servirvi
submit|Serve per inviare i form
button|crea un bottone

Questi sono i più comuni, gli altri scopriteli voi xD

Ricevere dati dai form

Eccoci arrivati al punto cruciale: ricevere i dati.
Creiamo un documento chiamato calc.php e dentro scriviamo:
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

Analizziamo:
La variabile: $_POST serve per prendere i dati, in questo caso è post perchè abbiamo usato il method post, altrimenti sarebbe stato $_GET
$_POST['primo'] : primo è l'attributo name del primo campo di testo, ricordate?
Poi usando il costrutto if possiamo fare tutte le operazioni che vogliamo.

Rendere un form Sicuro

Dato che in quei campi di testo, un malintenzionato potrebbe scrivere un codice php e distruggerci tutto, noi dobbiamo difendere il nostro sito e il form.
Per questo si racchiudono le variabili $_POST e $_GET tra: htmlspecialchars()
in questo modo trasformaremo tutti i caratteri speciali nelle loro entità html, rendendo così inoffensivo il codice scritto.
Ecco il form "Rafforzato":
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

Spero che vi sia piaciuta, forse è un po' incasinata :look:
Live Demo:
Perfavore, Entra oppure Registrati per vedere i Link!


:bye:
 
Ultima modifica:
Useremo Get quando i dati da inviare sono pochi, post quando saranno molti; ma è possibile scegliere il metodo che ci torna più comodo.

Il post si usa più che altro durante un login per maggiore sicurezza (se no si possono leggere i dati dall'url).
Negli altri casi l'uso secondo me è indifferente, dipende da come si vuole l'url della pagina.