Sale ragazzi ho un problema con un form html, una chiamata ajax e una pagina php, ora vi illustro cosa faccio, allora:
Il form è questo :
codice:
<form action="upload_CLIFO.php" onsubmit="inserimentoFornitoreClienti(); return false;" enctype="multipart/form-data" method="post">
<input name="MAX_FILE_SIZE" type="hidden" value="102400000" />
<center> <input id="file1" name="file" type="file" /></center>
<center><input name="submit" type="submit" value="CONFERMA" /></center>
</form>
La funzione ajax che richiama e questa:
codice:
function myHandler13() {
if (myRequest.readyState == 4 && myRequest.status <= 200) {
e = document.getElementById("nuovaFornitore");
e.innerHTML = myRequest.responseText;//queste due istruzioni indicano che nell'elemento con id nuovamatprima deve inseire la risposta del server
}else{
e = document.getElementById("nuovaFornitore");
e.innerHTML = '[img]../immagini/v3_loading.gif[/img] ';
}
}
function inserimentoFornitoreClienti(){
myRequest = CreateXmlHttpReq2(myHandler11);
if(document.getElementById('file1').value==''){
alert ("Si prega di inserire il file ANACF:DBF",true);
}else{
if(confirm ("CONFERMA?")){
myRequest.open("POST","upload_CLIFO.php");
myRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
myRequest.send(null);
la pagina php che mi da errore :
Notice: Undefined index: file in ...\Amministratore\upload_CLIFO.php on line 5
Notice: Undefined index: file in ...\Amministratore\upload_CLIFO.php on line 7
Notice: Undefined index: file in ...\Amministratore\upload_CLIFO.php on line 14
La pagina php è questa
codice:
<?php
//controlliamo che il file rispetti le dimensioni impostate
if ($_FILES["file"]["size"] < 102400000){
//controlliamo se ci sono stati errori durante l'upload
if ($_FILES["file"]["error"] > 0){
echo "Codice Errore: " . $_FILES["file"]["error"]."";
echo "dimensione file: ". $_FILES["file"]["size"]."";
}
else{
//stampo alcune informazioni sul file
//il nome originale
if($_FILES["file"]["name"] == 'ANACF.DBF' ){
//controllo se il file esiste già sul server
/*
if (file_exists("../Archivi_Zucchetti/" . $_FILES["file"]["name"])){
echo "Il file " . $_FILES["file"]["name"] . " è già presente sul server";
}
else{*/
//sposto il file caricato dalla cartella temporanea alla destinazione finale
move_uploaded_file($_FILES["file"]["tmp_name"], "../Archivi_Zucchetti/" . $_FILES["file"]["name"]);
echo "File caricato correttamente in: " . "../Archivi_Zucchetti/" . $_FILES["file"]["name"];
echo "Nome File:". $_FILES["file"]["name"];
//}
}else{
echo "File errato il nome del file deve essere: ANACF.DBF";
}
}
}
else{
echo "File troppo grande!!";
}
?>
da quello che ho capito non vede il file selezionato quindi è un problema del metodo Post
, perchè nel momento in cui vado a fare la chiamata diretta dal form al file php attraverso il metodo post funzione ma se passo da ajax no... non riesco a capirne il motivo