Salve ho questo problema
in un Form devo controllare se al caricamento di un file, questo file è già presente sul server.
Al cambiamento dello stato (onChange) del pulsante input Type=file viene richiamata la funzione che fa la richiesta Ajax al server , che è questa:
codice:
<script type="text/javascript">
function controllaFile(){
var upfile = document.getElementById("upfile").files[0].name; //recupero il nome del file $.ajax(
{ type: "POST",
url: "controlla_file.php",
data: "upfile="+upfile,
dataType: "html",
success: function(data) {
alert(data);// controllo che la risposta sia giusta
if (data.risposta == "1") {
alert("nome file già esistente! Rinomina il file" );
}
else
{ alert("hai inserito un allegato" );
}
}, error: function() { alert("Chiamata fallita, riprovare!"); } }, "json"); } </script>
questo è il file php :
Codice PHP:
<?php include ('config.php');
$allegato = $_POST['upfile'];
if (file_exists('allegati/'.$allegato))
{ $msg = "1"; }
else { $msg= "0"; }
echo json_encode( array('risposta'=> $msg ) );
?>
Il problema è che l'alert che compare è sempre il secondo (hai inserito un allegato), è come se la condizione data.risposta=="1" fosse sempre falsa.
Dove sbaglio????