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????