Premetto che sono un principiante di Javascript e Ajax.
Quindi abbiate pazienza.![]()
Questo è il codice js.
Nella stessa pagina ecco il codice html:codice:function assegnaXMLHttpRequest() { // lista delle variabili locali // variabile di ritorno, nulla di default var XHR = null; // informazioni sul nome del browser var browserUtente = navigator.userAgent.toUpperCase(); // browser standard con supporto nativo // non importa il tipo di browser if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object") XHR = new XMLHttpRequest(); // browser Internet Explorer // è necessario filtrare la versione 4 else if( window.ActiveXObject && browserUtente.indexOf("MSIE 4") < 0 ) { // la versione 6 di IE ha un nome differente // per il tipo di oggetto ActiveX if(browserUtente.indexOf("MSIE 5") < 0) XHR = new ActiveXObject("Msxml2.XMLHTTP"); // le versioni 5 e 5.5 invece sfruttano lo stesso nome else XHR = new ActiveXObject("Microsoft.XMLHTTP"); }else{ alert('Giving up :( Non riesco a creare una istanza XMLHTTP'); return false; } return XHR; } function caricaFoto(url){ var ajax = assegnaXMLHttpRequest(); if (ajax){ //Evitiamo doppio click if(!ajax.clicked){ clicked = true; document.getElementById("foto1").disabled = "disabled"; ajax.open("post","#",true); // imposto il giusto header ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded"); ajax.setRequestHeader("connection", "close"); ajax.send("action=richiesta" + "&" + "foto_url=" + url ); ajax.onreadystatechange = function(){ if (ajax.readyState == 4){ //Sono pronto! if (ajax.status == 200) { // perfetto!Tutto a buon fine! }else{ // c'è stato un problema nella richiesta, // per esempio un codice di errore 404 (Not Found) // o 500 (Internal Server Error) alert("Attenzione.Formato dell'immagine non compatibile.Riprovare piu tardi"); } }else{ //Risposta non ancora arrivata rimani in attesa } } } } }
Sempre nella stessa pagina il codice phpcodice:<form name="mod_profilo" enctype="multipart/form-data" id="mod_profilo" action="#"> <div id="div_foto">Inserisci la tua foto <input src="**" type="file" name="foto1" align="middle" id="foto1" onchange="caricaFoto(this.value);" /></div> </form>
In pratica dovrei caricare su database l'immagine che viene selezionata tramite l'input file del form.codice:case 'richiesta': require("../inc/dbconn.inc.php"); $uploadfile = $UPLOAD_FOTO . $_FILES['userfile']['name']; //Se esiste la variabile _ if (isset($_FILES['foto'])){ if ($_FILES['foto']['type'] == "image/gif" || $_FILES['foto']['type'] == "image/jpg" || $_FILES['foto']['type'] == "image/jpeg" ){ if ($_FILES['foto']['size'] < 60000){ if (move_uploaded_file($_FILES['foto']['tmp_name'], $uploadfile)){ mysql_query("UPDATE utente SET foto_url = '".$_FILES['userfile']['name']."' WHERE id_utente = '".$_SESSION['Ambiente']['utente']['id_utente']."' ")or die(mysql_error()); } } } } #header("Location: modifica.profilo.php"); break; }

