Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Pasar variable de php a ajax y a php de nuevo

Estas en el tema de Pasar variable de php a ajax y a php de nuevo en el foro de Jquery en Foros del Web. Hola, hace unos dias hice una pregunta sobre el mismo codigo.... y ahora tengo otro problemilla Tengo una conexión FTP, donde un administrador va a ...
  #1 (permalink)  
Antiguo 07/01/2016, 10:03
 
Fecha de Ingreso: octubre-2015
Mensajes: 31
Antigüedad: 8 años, 6 meses
Puntos: 0
Pasar variable de php a ajax y a php de nuevo

Hola, hace unos dias hice una pregunta sobre el mismo codigo.... y ahora tengo otro problemilla
Tengo una conexión FTP, donde un administrador va a subir o eliminar archivos segun convenga....

tengo el siguiente codigo::::

eliminar.php

Código PHP:
ob_start();
session_start();
  require(
"Conexion.php");
  if(isset(
$_SESSION['usuario'])){
        
$ftp_server="ftp.server.mx";
            
$ftp_usuario="[email protected]";
            
$ftp_password="mypassword";  
  }else{
    
header("Location:../inicio.php?Error=Acceso denegado");
  }
  if (isset(
$_GET['n'])){
    
$nom=$_GET['n'];
  }else{
    
header("Location:administrador.php?Error=Acceso denegado");
  } 
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.       $(function(){
  3.         $(".elim").click(function(){
  4.           var element = $(this);
  5.           var del_id = element.attr("id");
  6.           var info = 'id=' + del_id;
  7. *****************************************
  8.           var nombre =  "<?echo $nom;?>";
  9.           var nom1 = 'nom=' + nombre; //ESTO ES LO QUE NO SE SI ESTE BIEN
  10. *****************************************
  11.           if(confirm("¿Seguro que quieres eliminar el archivo seleccionado?"))
  12.           {
  13.             $.ajax({
  14.               type: "POST",
  15.               url: "ajax.php",
  16. *****************************************
  17.               data: {info, nom1},//AQUI TAMBIEN
  18. *****************************************
  19.               success: function(){
  20.             }
  21.             });
  22.             $(this).parents(".show").animate({ backgroundColor: "#003" }, "slow")
  23.             .animate({ opacity: "hide" }, "slow");
  24.            }
  25.           return false;
  26.         });
  27.       });
  28.     </script>

Código PHP:
<div class="col-sm-12"> <!--AQUÍ LA TABLA--> 
              <b>CONTENIDO FTP</b> 
              <table class="table" border="1"> 
                <tr> 
                  <td><b>Archivo</b></td> 
                  <td><b>Tamaño</b></td> 
                  <td><b>Fecha</b></td> 
                  <td class="text-center"><b><span class="glyphicon glyphicon-trash"  aria-hidden="true"></span></b></td> 
                </tr> 

                <?php              
                  
// establecer una conexión básica AL SERVIDOR FTP 
                  
$conn_id ftp_connect($ftp_server) or die('No se pudo conectar con el servior'); 

                  
// iniciar sesión con nombre de usuario y contraseña 
                  
$login_result ftp_login($conn_id$ftp_usuario$ftp_password)or die('No se pudo acceder al servior'); 

                  
//usar ftp en modo pasivo 
                  
ftp_pasv($conn_idtrue); 

                  
// cambiar al directorio  
                  
ftp_chdir($conn_id$nom); 

                  
// Obtener los archivos contenidos en el directorio actual 
                  
$files ftp_nlist($conn_id'.'); 
                  
//antes de invertir el arreglo, ocultamos los primeros 2 elementos (los subdirectorios) 
                  
unset($files['0']); //ocultamos . 
                  
unset($files['1']); //ocultamos .. 
                   
                  
$files=array_reverse($files); //Invierte orden del array (ordena array) 
                  
while ($item=array_pop($files)) //Se leen todos los ficheros y directorios del directorio 
                  

                    
$tamano=number_format(((ftp_size($conn_id,$item))/1024),2)." Kb";  
                    
//Obtiene tamaño de archivo y lo pasa a KB 
                    
if($tamano=="-0.00 Kb"// Si es -0.00 Kb se refiere a un directorio 
                    
{  

                      
$item=$item
                      
$tamano="&nbsp;"
                      
$fecha="&nbsp;"
                    }else{ 
                    
$fecha=date("d/m/y h:i:s"ftp_mdtm($conn_id,$item)); 
                    
//Filemtime obtiene la fecha de modificacion del fichero; y date le da el formato de salida 
                    
}                   
                
?> 
                <tr onmouseover="OverFunction(this)" onmouseout="OutFunction(this)">  
                  <td width="30%"><font size="2" face="Verdana, Tahoma, Arial"><?php echo $item ?></font></td> 
                  <td width="20%"><font size="2" face="Verdana, Tahoma, Arial"><?php echo $tamano ?></font></td> 
                  <td width="30%"><font size="2" face="Verdana, Tahoma, Arial"><?php echo $fecha ?></font></td> 
                  <td id="elim" class="text-center" width="20%"><font size="2" face="Verdana, Tahoma, Arial"> 
                    <?php echo "<a href='#' title='Eliminar' class='elim' id=".$item.">Eliminar</a>" ?></font></td> 
                </tr> 
                <?php 
                  

                
?>                  
              </table>  
            </div>             
            <?php             
                   
                ob_end_flush
(); 
            
?>


ajax.php
Código PHP:
<?php
*****************************************
if(isset(
$_POST['id']) && isset($_POST['nom'])) //SUPONGO QUE AQUI ESTA EL PROBLEMA (o no?)
*****************************************
{
    
$file $_POST['id'];
        
$nom=$_POST['nom'];

        
$ftp_server="ftp.server.mx";
        
$ftp_usuario="[email protected]";
        
$ftp_password="mypassword";  

    
// establecer una conexión básica AL SERVIDOR FTP
                  
$conn_id ftp_connect($ftp_server) or die('No se pudo conectar con el servior');

                  
// iniciar sesión con nombre de usuario y contraseña
                  
$login_result ftp_login($conn_id$ftp_usuario$ftp_password)or die('No se pudo acceder al servior');

                  
//usar ftp en modo pasivo
                  
ftp_pasv($conn_idtrue);

                  
// cambiar al directorio 
                  
ftp_chdir($conn_id,$nom); 

    
// intentar eliminar el archivo $file
    
if (ftp_delete($conn_id$file)) {
     echo
'<script type="text/javascript">
                             swal("¡Listo!", "El archivo se eliminó de forma correcta.", "success");
                          </script>'
;
    } else {
     echo
'<script type="text/javascript">
                             swal("¡Error!", "El archivo no se pudo eliminar correctamente.", "error");
                          </script>'
;
    }
}

?>

Ahora si... ¿donde está mal? no se mucho ajax así que estoy a prueba y error....
Necesito pasar la variable $nom que es de php por ajax porque el objetivo del administrador es subir y eliminar archivos diferentes para cada usuario registrado en el sistema, y nom es el nombre del usuario por lo tanto el nombre de la carpeta a la que debo accesar

Última edición por AlineAidee; 07/01/2016 a las 10:17
  #2 (permalink)  
Antiguo 07/01/2016, 11:48
 
Fecha de Ingreso: octubre-2015
Mensajes: 31
Antigüedad: 8 años, 6 meses
Puntos: 0
Respuesta: Pasar variable de php a ajax y a php de nuevo

al pasar mis variables pasa: [object Object]
  #3 (permalink)  
Antiguo 07/01/2016, 13:18
Avatar de carlillos  
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 245
Antigüedad: 17 años, 2 meses
Puntos: 21
Respuesta: Pasar variable de php a ajax y a php de nuevo

Estás mandando objetos vacíos en tu ajax porque sólo estás especificando el nombre del objeto, te falta indicar el contenido, en vez de:
Código Javascript:
Ver original
  1. data: {info, nom1}
Cambia a:
Código Javascript:
Ver original
  1. data: {info: info, nom1: nom1}
Saludos.
  #4 (permalink)  
Antiguo 08/01/2016, 08:31
 
Fecha de Ingreso: octubre-2015
Mensajes: 31
Antigüedad: 8 años, 6 meses
Puntos: 0
Respuesta: Pasar variable de php a ajax y a php de nuevo

Cita:
Iniciado por carlillos Ver Mensaje
Estás mandando objetos vacíos en tu ajax porque sólo estás especificando el nombre del objeto, te falta indicar el contenido, en vez de:
Código Javascript:
Ver original
  1. data: {info, nom1}
Cambia a:
Código Javascript:
Ver original
  1. data: {info: info, nom1: nom1}
Saludos.
Hola... gracias por responder.... hice justo lo que me dijiste y deje mi codigo así (usando sweetalert):

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.       $(function(){
  3.         $(".elim").click(function(){
  4.            var element = $(this);
  5.           var del_id = element.attr("id");
  6.           var info = 'id=' + del_id;
  7.  
  8.           var nombre =  "<?echo $nom;?>";
  9.           var nom1 = 'nom=' + nombre;
  10.          swal({  
  11. /*Cargo el alert para confirmar o declinar*/
  12.     title: "¿Eliminar?",  
  13.     text: "¿Está seguro de eliminar el archivo "+del_id+"?",  
  14.     type: "warning",  
  15.     showCancelButton: true,  
  16.     confirmButtonColor: "#DD6B55",  
  17.     confirmButtonText: "Si!, Borrarlo!",  
  18.     cancelButtonText: "No, Cancelar!",  
  19.     closeOnConfirm: false,  
  20.     closeOnCancel: true,
  21.     showLoaderOnConfirm: true
  22.     },
  23.  
  24.     function(isConfirm){  
  25.     if (isConfirm) {
  26.         $.ajax({
  27.               type: "POST",
  28.               url: "ajax.php",
  29.               ddata: {info: info, nom1: nom1},//AQUI TAMBIEN        
  30.             success: function(respuesta) {
  31.                      swal("¡BIEN!", $("respuesta"), "success");
  32.                   },
  33.                   error: function(respuesta) {
  34.                       swal("¡MAL!", $("respuesta"), "error");
  35.                   },
  36.           });
  37.             $(this).parents(".show").animate({ backgroundColor: "#003" }, "slow")
  38.             .animate({ opacity: "hide" }, "slow");
  39.     }  return false;});
  40.         });
  41.       });
  42.  
  43.  
  44.     </script>

pero aun así no hace nada , sigue regresando [object object] tengo alguna otra cosa mal????
  #5 (permalink)  
Antiguo 08/01/2016, 08:58
 
Fecha de Ingreso: octubre-2015
Mensajes: 31
Antigüedad: 8 años, 6 meses
Puntos: 0
Respuesta: Pasar variable de php a ajax y a php de nuevo

[QUOTE=AlineAidee;4768381]
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.       $(function(){
  3.         $(".elim").click(function(){
  4.            var element = $(this);
  5.           var del_id = element.attr("id");
  6.           var info = 'id=' + del_id; //ELIMINE ESTO
  7.  
  8.           var nombre =  "<?echo $nom;?>";
  9.           var nom1 = 'nom=' + nombre; // Y ESTO
  10.          swal({  
  11. /*Cargo el alert para confirmar o declinar*/
  12.     title: "¿Eliminar?",  
  13.     text: "¿Está seguro de eliminar el archivo "+del_id+"?",  
  14.     type: "warning",  
  15.     showCancelButton: true,  
  16.     confirmButtonColor: "#DD6B55",  
  17.     confirmButtonText: "Si!, Borrarlo!",  
  18.     cancelButtonText: "No, Cancelar!",  
  19.     closeOnConfirm: false,  
  20.     closeOnCancel: true,
  21.     showLoaderOnConfirm: true
  22.     },
  23.  
  24.     function(isConfirm){  
  25.     if (isConfirm) {
  26.         $.ajax({
  27.               type: "POST",
  28.               url: "ajax.php",
  29.               data: {info: del_id, nom: nombre},//CAMBIE AQUI        
  30.             success: function() {
  31.                      swal("¡BIEN!", "BORRADO", "success");
  32.                   },
  33.                   error: function(respuesta) {
  34.                       swal("¡MAL!", "ALGO SALIO MAL", "error");
  35.                   },
  36.           });
  37.             $(this).parents(".show").animate({ backgroundColor: "#003" }, "slow")
  38.             .animate({ opacity: "hide" }, "slow");
  39.     }  return false;});
  40.         });
  41.       });
  42.  
  43.  
  44.     </script>

Borre lo que puse en comentarios.... gracias por la ayuda :D

Etiquetas: ajax, php, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:26.