Código PHP:
setcookie("doc",$uploadFile,time()+3600)
Espero alguien pueda ayudarme llevo dias sin dormir buscando la solucion y no le hayo
Por su atencion muchas gracias :) espero alguien sepa como solucionar el problema
| |||
Cookies en php Hola que tal, llevo dias peleando con IE ya que no me guarda las cookies, en firefox si las guara pero en IE no y ya el cliente esta presionando mucho, les pongo el codigo para que vean como guardo las cookies. Código PHP: Espero alguien pueda ayudarme llevo dias sin dormir buscando la solucion y no le hayo Por su atencion muchas gracias :) espero alguien sepa como solucionar el problema |
| |||
Respuesta: Cookies en php Que tal abimaelrc primero te agradesco tu respues e hice lo que mencionaste, borre cookies del IE y en el codigo le pusiste el var_dump a la cookie si me guardo la cookie pero solo de forma temporal ya que si le doy actualizar dos veces me vuelve hacer lo mismo me cierra las sesiones y las cookies no las reconoce. No se si tengan alguna solucion para esto se los agradecere eternamente... |
| ||||
Respuesta: Cookies en php ¿Qué tienes hecho? Postea tu código para que te puedan ayudar. Está raro que digas que las almacena en forma temporal. Debe ser que tienes declarado también en el mismo código que destruya los cookies.
__________________ Verifica antes de preguntar. Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos |
| |||
Respuesta: Cookies en php Mira Primeramente lo que hago es forma asincronica con javascript voy a pegar todo el codigo que usa espero puedan entenderle. Codigo Xajax Cita: Archivo AjaxFileUploader.incfunction ValidaEntero($form){ $respuesta = new xajaxResponse(); $ajaxFileUploader = new AjaxFileuploader($uploadDirectory=""); // Clase para subir el archivo archivo AjaxFileUploader.inc $fpago=$form['fpago']; if($form['tipo']==0 || $form['tipo']==1){ $crastreo=$form['crastreo']; if($form['tipo']==1 && $fpago=="Deposito en efectivo" ){ $num=$form['cantidad']; $num =$num- ($num * (3 / 100) ) ; } else{ $num=$form['cantidad']; } } if($form['tipo']==2){ $crastreo=$form['suc'] . $form['hra'] . $form['min'] . $form['sec']; $num=$form['cantidad']; } $fecha=$form['fecha']; if($form['cuenta'] != "x"){ $cuenta=$form['cuenta']; } else{ $cuenta = "Cuenta: " . $form['ctas'] . " - Suc: " . $form['sucursal'] ; } $user=$form['user']; $s=date("s"); $a=$ajaxFileUploader->showFileUploader('id1',$s); $f=explode("-",$fecha); if(count($f)!=3){ $fecha=""; $salida1="La fecha debe de tener el formato dd-mm-aaaa"; } if(!is_numeric($num) || !is_numeric($crastreo)){ $fecha=""; $salida1="Debes introducir solo numeros"; } if($fecha=="" || $fpago == "" || $cuenta=="" || $form['sistema']==""){ $salida="Debes introducir todos los datos"; if(isset($salida1)){ $respuesta->Assign("error","innerHTML",$salida1); } else { $respuesta->Assign("error","innerHTML",$salida); } } else{ $sistema=$form['sistema']; $conn=db_connect(); $result=$conn->query("select * from pago where crastreo_pago='$crastreo' and id_user='$user'"); $rows=$result->num_rows; if($rows==0) { setcookie("saldo",$num); $salida="<div id=\"texto\"> <div id=\"titulo\"><img src=\"image/paso2.png\" alt=\"Paso 1\"><br> <center><strong>Adjunte su comprobante</strong></center></div> $a<br><br> <form id=\"formu\" name=\"formu\" method=\"post\"> <input type='hidden' name='cantidad' value='$num'> <input type='hidden' name='fecha' value='$fecha'> <input type='hidden' name='fpago' value='$fpago'> <input type='hidden' name='user' value='$user'> <input type='hidden' name='cuenta' value='$cuenta'> <input type='hidden' name='crastreo' value='$crastreo'> <input type='hidden' name='sistema' value='$sistema'> <input type=\"submit\" name=\"cancel\" value=\"Cancelar\" onclick=\"xajax_cerrar_sistema()\"> <input type=\"button\" name=\"next\" value=\"Siguiente\" onclick=\"xajax_DivPedido(xajax.getFormValues('for mu'))\"> </form><br><br> <div id=\"error\"></div></div> "; $respuesta->Assign("tarriba","innerHTML",$salida); } else{ $salida="Lo sentimos el codigo de rastreo ya existe"; $respuesta->Assign("error","innerHTML",$salida); } } //tenemos que devolver la instanciación del objeto xajaxResponse return $respuesta; } Cita: Java Scripclass AjaxFileuploader { // PHP 4.x users replace "PRIVATE" from the following lines with "var". Also remove all the PUBLIC, PRIVATE and PROTECTED Kaywords from the class private $uploadDirectory=''; private $uploaderIdArray=array(); /** * Constructor Function * */ public function AjaxFileuploader($uploadDirectory) { if (trim($uploadDirectory) != '' && is_dir($uploadDirectory)) { $this->uploadDirectory=trim($uploadDirectory); } } /** * * This function return all the files in the upload directory, sorted according to their file types * * @return array */ public function getAllUploadedFiles() { $returnArray = array(); $allFiles = $this->scanUploadedDirectory(); return $returnArray; } /** * * This function scans uploaded directory and returns all the files in it * * @return array */ private function scanUploadedDirectory() { $returnArray = array(); if ($handle = opendir($this->uploadDirectory)) { while (false !== ($file = readdir($handle))) { if (is_file($this->uploadDirectory."/".$file)) { $returnArray[] = $file; } } closedir($handle); } else { die("<b>ERROR: </b> Could not read directory: ". $this->uploadDirectory); } return $returnArray; } /** * This function returns html code for uploading a file * * @param string $uploaderId * * @return string */ public function showFileUploader($uploaderId,$s) { if (in_array($uploaderId, $this->uploaderIdArray)) { die($uploaderId." already used. please choose another id."); return ''; } else { $this->uploaderIdArray[] = $uploaderId; return '<form id="formName'.$uploaderId.'" method="post" enctype="multipart/form-data" action="imageupload.php?dirname='.$this->uploadDirectory.'" target="iframe'.$uploaderId.'"> <input type="hidden" name="id" value="'.$uploaderId.'" /> <span id="uploader'.$uploaderId.'" style="font-family:verdana;font-size:10;"> <input name="'.$uploaderId.'" type="file" value="'.$uploaderId.'" onchange=\'return uploadFile(this,"'.$this->uploadDirectory.'")\' /><br> Es necesario que Adjunte una imagen o documento donde<br> se visualice su comprobante para proceder con la validacion<br> del pago correspondiente.<br><br> Nota: <br><br> 1) Seleccione la ruta donde tiene guardado el archivo<br> 2) Haga click en abrir y espere a que cargue </span> <span id="loading'.$uploaderId.'"></span> <iframe name="iframe'.$uploaderId.'" src="imageupload.php" width="400" height="100" style="display:none"> </iframe> </form>'; } } } Cita: Archivo imageupload.phpvar http=createRequestObject(); var uploader=""; var uploadDir=""; var dirname=""; var filename=""; var timeInterval=""; var idname=""; var uploaderId=""; function createRequestObject() { var obj; var browser = navigator.appName; if(browser == "Microsoft Internet Explorer"){ return new ActiveXObject("Microsoft.XMLHTTP"); } else{ return new XMLHttpRequest(); } } function traceUpload() { http.onreadystatechange = handleResponse; http.open("GET", 'imageupload.php?uploadDir='+uploadDir+'&dirname=' +dirname+'&filename='+filename+'&uploader='+upload er); http.send(null); } function handleResponse() { if(http.readyState == 4){ var response=http.responseText; if(response.indexOf("File uploaded") != -1){ clearInterval(timeInterval); document.getElementById('loading'+idname).innerHTM L=""; } document.getElementById(uploaderId).innerHTML=resp onse; } } function uploadFile(obj, dname) { uploadDir=obj.value; idname=obj.name; dirname=dname; filename=uploadDir.substr(uploadDir.lastIndexOf('\ \')+1); uploaderId = 'uploader'+obj.name; uploader = obj.name; document.getElementById('formName'+obj.name).submi t(); timeInterval=setInterval("traceUpload()", 1500); } Cita: El sistema funciona del siguiente modo al inicio sale una ventana la cual tiene el campo para hacer el upload con AjaxFileUploader se carga un iframe, a la hora de cargar el archivo automaticamente manda a llamar el archivo Java Script y manda el post al archivo imageUpload donde sube el archivo al servidor, ahora el archivo si lo sube y como tengo ese archivo de subida en un documento aparte guarde su nombre en la cookie para que cuando le den siguiente vea que realmente se subio el archivo, si es lo contrario se le manda un mensaje de error que dice, "Debe subir el archivo" pero como no me reconoce la cookie pues se queda ahi aunque el archivo ya haya sido subido al servidor. $dirName="uploads"; if (isset($_POST['id'])) { //$uploadFile=$_GET['dirname']."/".$_FILES[$_POST['id']]['name']; for security reasons, hardcode the name of the directrory. @mkdir($dirName,0777); $info = pathinfo($_FILES[$_POST['id']]['name']); $uploadFile="$dirName/" . md5($_FILES[$_POST['id']]['name']).".".$info['extension']; if(!is_dir($_GET['dirname'])) { echo '<script> alert("Failed to find the final upload directory: $dirName);</script>'; } if (!copy($_FILES[$_POST['id']]['tmp_name'], $dirName.'/' . md5($_FILES[$_POST['id']]['name']).".".$info['extension'])) { echo '<script> alert("Failed to upload file");</script>'; } else { echo "<img src='loading.gif' alt='loading...' /> "; } } else { // for secority reason either remove the extentions or rectrict uploaded not to upload / run scripts like file.php else they can misuse the disk space //$uploadFile=$_GET['dirname']."/".$_GET['filename']; // removed for security reasons (happend with my demo ) $info = pathinfo($_GET['filename']); $uploadFile="$dirName/" . md5($_GET['filename']).".".$info['extension']; if (file_exists($uploadFile)) { setcookie("doc",$uploadFile,time()+3600); //Aqui guardo la COOKIE /*echo " Archivo cargado...<br><a href='$uploadFile'>Open File</a> <a href='deletefile.php?filename=".$uploadFile."'>Del ete File</a> ";*/ echo "<img src=\"image/load.png\" alt=\"Cargado\"><br> Su archivo fue cargado correctamente, <br>por favor haga click en siguiente para continuar.."; } else { echo "<img src='image/loader.gif' alt='loading...' /> "; } } |
Etiquetas: |