salve a tutti,
ho un problemino di passaggio variabili ad una pagina che fa l'upload di un file.
normalmente vengono passate così:
il form:
la pagina upload.php riceve:codice:<form name="formBox" action="upload.php" enctype="multipart/form-data" method="post"> <input id="up" type="file" name="upload"> <input type="submit"> </form>
però io, in quel form, non uso la forma classica ma assegno una funzione js ad ogni elemento del form e mentre per tutto il resto funziona non riesco a recuperare il valore dell'input "file" nella pagina php.Codice PHP:$file = $_FILES['upload']['name'];
la pagina web è strutturata in un div che contiene altri 2 div dove vengono caricate (tramite js) 2 pagine.php (form.php e upload.php):
il form (sta nella pagina form.php caricata nel div "divForm"):codice:<div id="container"> <div id="divForm"></div> <div id="divUpload"></div> </div>
lo script js (anche questo sta nella pagina form.php) che carica la pagina upload.php sul div id="div_upload", passandole 2 parametri POST ("upload" e il parametro dell'input "file" del form che deve essere ricevuto nella variabile $_FILES[]);codice:echo'<form name="formBox"> <input id="up" type="file" name="upload"> [img]btn.png[/img] </form>';
solo che la pagina upload php:codice:echo'<script> function btnNew(){ $("#divUpload").load("upload.php",{"act[]":["upl",document.formBox.up.name]}); } </script>';
mi da errore di "undefined index 'upload' " (che è ['act'][1]) mentre per 'upl' (che è ['act'][0]) non mi da nessun errore.Codice PHP:$act = $_POST['act'][0];
$file = $_FILES['act'][1]['name'];
sicuramente sbaglio nella forma di invio (da js) del parametro che viene ricevuto nella variabile $_FILES o nella forma di ricezione (in php) del parametro stesso.
Ho anche cercato (usando la forma classica del form e senza usare js), attraverso un "consiglio" trovato in alcuni forums, di mettere un target="divUpload" nel tag FORM che faccia in modo di caricare la pagina nel div apposito ma non funziona e mi da l'unico effetto di aprire in una nuova scheda la pagina upload.php (cosa che non voglio fare).
il problema è che non essendo ferrato in materia ma son solo uno che legge, interpreta e manipola i linguaggi senza conoscerli (mea culpa) non trovo soluzione nè in logica, nè facendo delle prove, nè in rete.
se qualcuno/a riuscisse a capire il mio ragionamento alquanto contorto e conoscesse una soluzione gli/le sarei tanto grato e imparerei una cosetta in più
grazie 1000 in anticipo.
Luca.

Rispondi quotando
