jimmy83 ha scritto:
mi aiutereste a fare 2 cose adesso???
1) validare il form: rendere tutti questi campi obbligatori
2) inseriti i dati, fare creare una pagina con questi dati e un link al file
grazie mille!!!!!!!!!!!!!!!!
Dunque, punto 1:
La validazione di una form si può fare in due modi, utilizzando prima JavaScript e poi PHP stesso.
La parte JavaScript si attiva quando la form viene inviata (
form.onsubmit()) chiamando una funzione che cicla fra tutti gli elementi e, nel caso trovi un campo non compilato, annulla l'operazione e visualizza un messaggio d'errore tramite alert o dentro l'HTML.
Esempio (assumendo form chiamata "inviodati"):
<script type="text/javascript">
var checkData = function(form) {
var empty = new Array();
for (i=0; i<form.length; i++)
if (!form.elements[i].value.length)
empty.push(form.elements[i].name)
if (empty.length) {
var message = "È necessario compilare tutti i campi per continuare.";
message += "\nTi mancano:\n\n" + empty.join("\n");
alert(message);
return false;
}
return true;
}
var inviodatiform = document.forms["inviodati"];
if (inviodatiform)
inviodatiform.onsubmit = function() { return checkData(this); }
</script>
La parte PHP sta in un controllo, che io metterei dentro la casistica
if($_POST["invia"]) ed ha praticamente le stesse dinamiche del JavaScript, riportando un messaggio di errore contenente i nomi dei campi vuoti nel caso ne dovesse trovare:
if($_POST["invia"])
{
$verifica = array("Autore","Titolo","Descrizione");
$campi_vuoti = array();
foreach ($verifica as $campo)
if (!trim($_POST[$campo])) $campi_vuoti[] = $campo;
if (!$_FILES["file_binario"]) $campi_vuoti[] = "File da caricare";
if (count($campi_vuoti))
die("È necessario compilare tutti i campi per continuare.<br /><br />Ti mancano:<br />".implode("<br />",$campi_vuoti)."<br /><br /><a href='{$_SERVER["HTTP_REFERER"]}'>Torna indietro</a>");
...
Spero sia tutto chiaro poi te lo personalizzi come vuoi ;^)
A mio parere sarebbe bene usare sia la soluzione PHP che quella JavaScript, in quanto la prima serve a bloccare la richiesta nel caso sia errata (l'utente si accorge prima di aver mancato un campo e perde meno tempo nel sistemarlo e, allo stesso tempo, il server non deve servire una pagina in quel caso inutile), ma non è detto che tutti abbiamo JavaScript attivo sul loro browser, perciò è necessaria la seconda, come ultimo controllo indipendente dal client.
Per quanto riguarda il punto 2 temo di non aver capito... se quel che ti serve è creare una pagina con i file già caricati, basta una query SELECT sul database <.<
Ciao!