Cosi facendo anche se si lasciano dei campi vuoti vengono caricati allo stesso nel db.. non c'è un modo per impedire ciò?
Io vorrei che si compilano i campi se non li si utilizzano tutti non devono essere caricati quelli vuoti nel db.. ma semplicemente ignorati
Non credo di avere capito bene, perché la frase qui sopra a mio avviso può essere letta in diversi modi. Sopratutto non ho capito cosa intendi nella frase che ho messo in grassetto.
Ti scrivo tutte le risposte alle mie interpretazioni, poi vedi se c'è qualcosa che ti torna utile.
MEDOTO 1:
Se tu vuoi che tutti i campi vengano compilati per non lasciarli vuoti nel DB, ti basta semplicemente, in fase di creazione della tabella, aggiungere la clausola "NOT NULL" ad ogni campo.
Quando i tuoi utenti effettueranno una query di INSERT, e non avranno compilato tutti i campi, la query non va in porto.
Devi essere semplicemente bravo ad intercettare l'errore e a trasformarlo in un messaggio di cortesia per far capire ai tuoi utenti dove sbagliano.
Preferibilmente, dovresti fare dei controlli sugli input prima di andare a mettere le variabili nella query.... ma questa è anche una questione di sicurezza!
MEDOTO 2:
Se tu vuoi che nel DB, i campi rimangano effettivamente vuoti, nello script precedente alla query di INSERT, puoi andare a sostituire tutti i campi lasciati vuoti e metterci il NULL.
Codice PHP:
$var1 = trim($_POST['variabile_1_da_form']);
$var2 = trim($_POST['variabile_2_da_form']);
$var3 = trim($_POST['variabile_3_da_form']);
$var4 = trim($_POST['variabile_4_da_form']);
if (!isset($var1) OR $var1 == "") { $var1 = NULL; }
if (!isset($var2) OR $var2 == "") { $var2 = NULL; }
if (!isset($var3) OR $var3 == "") { $var3 = NULL; }
if (!isset($var4) OR $var4 == "") { $var4 = NULL; }
Queste variabili verranno poi passate alla query di INSERT... ma bada che, al contrario del METODO 1, in questo caso le colonne del DB non dovranno essere state create con la clausola "NOT NULL".
MEDOTO 3:
Puoi anche provare a crearti la stringa SQL in maniera dinamica, ma dovresti fare molta attenzione alla sintassi.
Se poi intendevi una quarta cosa, fammi sapere.