Mmmm,mi sa che non mi sono spiegata.......
Ricominciamo da capo:
Nella cartella PUBLIC io ho 3 sottocartelle: AMICI, COLLEGHI, FAMIGLIA.
Quando compilo il form seleziono dalla tendina "categoria" uno di questi 3 valori.
Nel momento in cui vado a fare l'upload del file e del database, io vorrei che il file venisse sistemato in una di queste cartelle, a seconda di come l'utente ha compilato il Form.
Quindi ho usato
codice:
.SetPath "../public/" & oUpload.Form("categoria")
In modo da rendere il Path dinamico e far cambiare la cartella alla variazione del valore nella select "categoria".
Il problema è che, pur aggiornando correttamente il db nel campo "categoria" (scrive correttamente il valore della select), i files vengono tutti uploadati nella cartella PUBLIC e non nelle sottocartelle, come se ignorasse completamente la seconda parte della stringa .SethPath (...& oUpload.Form("categoria")).
Posso aggiungere anche di aver fatto un'altra prova (andata male), cioè questa:
codice:
if oUpload.Form("categoria") = "amici" then
.SetPath "../public/amici"
elseif oUpload.Form("categoria") = "colleghi" then
.SetPath "../public/colleghi"
elseif oUpload.Form("categoria") = "famiglia" then
.SetPath "../public/famiglia"
else
.SetPath "../public"
end if
In questo caso, se tolgo l'ultimo ELSE (quello in rosso) il db viene aggiornato ma non scrive nessun file. Se invece lascio l'ultima condizione, mette tutto in PUBLIC, come se nessuna delle precedenti venisse soddisfatta.
Questo il codice della select nel Form:
codice:
<select name="categoria" id="categoria">
<option value="amici">amici</option>
<option value="colleghi">colleghi</option>
<option value="famiglia">famiglia</option>
</select>
Mi sembra una normale select, no???