PDA

View Full Version : [PHP]invio dati POST & enctype multipart/form-data


AlexCyber
07-04-2007, 20:52
ciao a tutti, sto usando il seguente form

<form method="post" action="elabora.php " enctype="multipart/form-data" >

<label>Immagini da caricare</label>
<input type="file" name="upload_file[]"><br>
<input type="file" name="upload_file[]"><br>
<input type="file" name="upload_file[]"><br>


<label>Titolo del post</label>
<input type="text" name="titolo " value="titolo da opera">titolo da opera
<label>Autore</label>
<input type="text" name="autore" value="alex">

<label>Email autore</label>
<input type="text" name="email" value="alex@gmailcim.net">

<label>Categorie presenti</label>
<select name="categoria"><option value='software'>software</option></select>

<label>Crea nuova categoria</label>
<p class="desc">
<i>La categoria inserita verrà usata per il post che stai scrivendo</i>
</p>
<input type="text" name="nuova_categoria" value="software">



<label>Breve introuzione</label>
<p class="desc">
<i>Qui inserisci una breve descrizione del post trattato</i>
</p>
<textarea name="intro">contenuto contenuto</textarea>

<label>Post - articolo</label>
<dl>
<dt><i>per inserire un paragrafo:</i></dt>
<dd>&lt;p class="post"&gt;paragrafo&lt;/p&gt;</dd>
<dt><i>per inserire un'immagine caricata:</i></dt>
<dd>&lt;img class="post_image" src="./img/img_post/nome_file.jpg"&gt;</dd>
</dl>
<textarea name="post"><p class="post">contenuto contenuto.</p>
<p class="post">
contenuto contenuto</p></textarea>

<label>Permetti di inserire commenti</label>
<div id="radio">
<input type="radio" name="abilita_comm[]" value="1" >si <input type="radio" name="abilita_comm[]" value="0" checked>no
</div>

<input type="hidden" name="id_post" value="135">

<button type="reset">reset</button>
<button type="submit">aggiorna</button>
</form>

i dati vengono inviati a elabora.php dove in fase di test ho inserito l'istruzione print_r($_POST) x vedere cosa viene inviato

Con OPERA e Firefox print_r restituisce tutte le variabili inviate, mentre con IE6 segnala il seguente errore

Notice: Undefined index: titolo in d:\documents and settings\alex\documenti\www\www.greenweb\elabora.php on line 27

ho perso 2 giorni x capire xchè la variabile titolo non venga rilevata da IE e ho visto che eliminando enctype="multipart/form-data" la variabile titolo vine vista pero ovviamente non ho accesso ai file caricati

a questo punto non so + cosa fare, avete qualche consiglio da darmi?:help: :mc:

cionci
08-04-2007, 09:19
Azz...mi sembra un bel bugghettone...
Prova ad inserire un campo nascosto sopra a titolo:

<input type="hidden" name="servizio " value="vuoto">

Inoltre controlla se in fondo all'ultimo file uploadato (prova a fare l'upload di un file di testo) se ci sono caratteri strani e se la dimensione corrisponde a quella originale...

Che versione di php hai ?

AlexCyber
08-04-2007, 13:16
Azz...mi sembra un bel bugghettone...
Prova ad inserire un campo nascosto sopra a titolo:

<input type="hidden" name="servizio " value="vuoto">

Inoltre controlla se in fondo all'ultimo file uploadato (prova a fare l'upload di un file di testo) se ci sono caratteri strani e se la dimensione corrisponde a quella originale...

Che versione di php hai ?

il php è laver 4.3.10

avevo provato a inserire dopo il campo titolo un'altro campo e i dati venivano inviati correttamente, non capisco il xchè

...riporterò il risultato con la soluzione da te accennata

cionci
08-04-2007, 14:56
Php 4 non è vecchio...di più...passa a php 5 ;)

AlexCyber
08-04-2007, 20:13
comunque inserendo un campo nascosto vuoto come da te indicato ho risolto il problema :cincin:

credo però sia un bug di IE che un problema di php 4

...passerei volentieri a php 5 se solo trovassi spazio web gratuito senza banner, attualmente sono su altervista, a tal proposito conosci qualche servizio?

cionci
08-04-2007, 21:10
No, mi dispiace...

Comunque controlla anche il terzo file uploadato, visto che la cosa mi convince poco...