Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/01/2016, 10:03
AlineAidee
 
Fecha de Ingreso: octubre-2015
Mensajes: 31
Antigüedad: 9 años
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