Salve a tutti ragazzi, ho un problema con un form che utilizzo per l'inserimento dei dati nel database, ecco il codice:
Lo script funziona e non riscontro alcun problema, ma se nel form HTML lascio uno o più campi vuoti la query viene eseguita comunque. Quello che mi chiedo è come annullare l'invio del form se uno o più campi non sono stati compilati (suppongo con else). In più ho un altro dubbio con questi parametri:
Qui posso inserire direttamente $_POST['submit'] oppure ho bisogno di inserire tutti i campi come ho fatto nel codice?
Un altro dubbio riguarda la data:
Nella pagina index.php l'ordine di visualizzazione dipende da ORDER BY `data_articolo` DESC'.
Quando inserisco un nuovo articolo tramite form l'ultimo che ho inserito non viene visualizzato per primo ma viene ordinato sotto quelli che ho inserito precedentemente nella stessa giornata. Se utilizzassi NOW() al posto di CUREDATE() potrei risolvere il problema? Il campo data_articolo però è appunto utilizzato per la data e non è previsto l'orario, dovrei creare un nuovo campo per la data o posso utilizzare data_articolo? Grazie in anticipo.
PHP:
<?php
// CONNESSIONE DATABASE
include ("../config/config.php");
// MAGIC QUOTES OFF
include ("mag-quot.php");
$autore_articolo = $_POST['autore_articolo'];
$titolo_articolo = $_POST['titolo_articolo'];
$testo_articolo = $_POST['testo_articolo'];
if (isset($autore_articolo, $titolo_articolo, $testo_articolo))
{
$sql = 'INSERT INTO articoli SET
autore_articolo = :autore_articolo,
titolo_articolo = :titolo_articolo,
testo_articolo = :testo_articolo,
data_articolo = CURDATE()';
$s = $pdo->prepare($sql);
$s->bindValue(':autore_articolo', $autore_articolo);
$s->bindValue(':titolo_articolo', $titolo_articolo);
$s->bindValue(':testo_articolo', $testo_articolo);
$s->execute();
}
header('Location: .');
exit();
?>
Lo script funziona e non riscontro alcun problema, ma se nel form HTML lascio uno o più campi vuoti la query viene eseguita comunque. Quello che mi chiedo è come annullare l'invio del form se uno o più campi non sono stati compilati (suppongo con else). In più ho un altro dubbio con questi parametri:
PHP:
if (isset($autore_articolo, $titolo_articolo, $testo_articolo))
Un altro dubbio riguarda la data:
PHP:
data_articolo = CURDATE();
Nella pagina index.php l'ordine di visualizzazione dipende da ORDER BY `data_articolo` DESC'.
Quando inserisco un nuovo articolo tramite form l'ultimo che ho inserito non viene visualizzato per primo ma viene ordinato sotto quelli che ho inserito precedentemente nella stessa giornata. Se utilizzassi NOW() al posto di CUREDATE() potrei risolvere il problema? Il campo data_articolo però è appunto utilizzato per la data e non è previsto l'orario, dovrei creare un nuovo campo per la data o posso utilizzare data_articolo? Grazie in anticipo.