elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: 4n4lDetector v1.3: herramienta de análisis estático de malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Pasar un array de una pagina php a otra Js
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Pasar un array de una pagina php a otra Js  (Leído 219 veces)
protus08

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Pasar un array de una pagina php a otra Js
« en: 25 Julio 2020, 03:40 »

Hola todos, espero me puedan ayudar, tengo 3 paginas 2 php y una js, necesito que al presionar un botón en la primera pagina php pueda pasar un array otra pagina js y esta envie esos datos a otra pagina php y esta ultima lo procese e imprima el resultado en primera pagina php, pero no se como hacerlo, si quiero pasar un dato lo puedo hacer pero no se como hacerlo con un arrray.

este es mi código donde tengo el botón, dependiendo de lo que triga de la base de datos, me crea N input , que es lo son los que necesito pasar a la pagina js y como lo había dicho antes solo consigo que me pase el valor del primero que encuentra.
pagina1.php
Código
  1. @extends('layouts.app2')
  2.  
  3. @section('contenido')
  4.  
  5.      <div class='container'>
  6.  
  7.            <form id='formulario'>
  8.  
  9.        <div class='row md-2'>
  10.  
  11.                   <button class='btn-secondary btn-default row mt-5' type='submit' id='analizar' name='analizar'>Analizar</button>
  12.  
  13.  
  14.  
  15.          </div>
  16.  
  17.          <div class='row'>
  18.  
  19.  
  20.  
  21.                <table class='table  table-format table-hover'>
  22.  
  23.                  <thead>
  24.  
  25.                    <tr>
  26.  
  27.                       <th scope='col'>IP</th>
  28.  
  29.                      </tr>
  30.  
  31.                  </thead>
  32.  
  33.                  <tbody>
  34.  
  35.                 @foreach ($enlaces as $enla)
  36.  
  37.  
  38.  
  39.                     <tr>
  40.  
  41.                       <td><input id='prueba1' type='text' name='ip'  value='{{$enla.ip}}'></td>
  42.  
  43.                      <td><div id='estado'><div id='respuesta'></div></td>
  44.  
  45.                      </tr>
  46.  
  47.  
  48.  
  49.                @endforeach
  50.  
  51.  
  52.  
  53.                  </form>
  54.  
  55.                  <script src="{{ asset('js/app/ping.js')}}"></script>
  56.  
  57.                  </tbody>
  58.  
  59.              </table>
  60.  
  61.         </div>
  62.  
  63.     </div>
  64.  
  65. @endsection
  66.  

este de aca es mi codigo js, donde solo me procesa el primer input que encuentra,y lo envia a otra pagina php donde trabajo ese datos. (solo logro que tome el primer input que pilla, no se como hacer para que recorra todos los que se creen en foreach de la pagina php)

Pagina2.js

Código
  1. formulario.addEventListener('submit',function(e){
  2.  
  3.  e.preventDefault();
  4.  
  5. console.log('pinchaste el boton')
  6.  
  7. var datos = new FormData(formulario);
  8.  
  9. console.log(datos.get('ip'))
  10.  
  11.  
  12.  
  13.  
  14.  
  15. fetch('http://localhost/scadabita2/resources/views/app/post.php',{
  16.  
  17.  method:'POST',
  18.  
  19.  body:datos
  20.  
  21. })
  22.  
  23. .then( res => res.json())
  24.  
  25. .then( data => {
  26.  
  27.  console.log(data)
  28.  
  29.  if(data === 'error')
  30.  
  31.  {
  32.  
  33.    respuesta.innerHTML=`<div>
  34.  
  35.   error
  36.  
  37.    </di>`
  38.  
  39.  }else{
  40.  
  41.    respuesta.innerHTML=`<div>
  42.  
  43.    ${data}
  44.  
  45.    </di>`
  46.  
  47.  }
  48.  
  49.  
  50.  
  51. })
  52.  
  53. })
  54.  

esta es la pagina php que procesa el dato que envia la pagina js e imprime el resultado en la primera pagina php
pagina3.php
Código
  1. <?php
  2.  
  3. $data=$_POST['ip'];
  4.  
  5. $PING1='ping '.$data.' -n 4';
  6.  
  7.   $res=shell_exec($PING1);
  8.  
  9.   $var=strstr($res, '(100% perdidos)');
  10.  
  11.   $findme='recibidos = 0';
  12.  
  13.   $pos = strpos($res, $findme);
  14.  
  15.  
  16.  
  17.   if($pos == false)
  18.  
  19.   {
  20.  
  21.       $findme='recibidos = 4';
  22.  
  23.        $pos = strpos($res, $findme);
  24.  
  25.  
  26.  
  27.            if($pos == false)
  28.  
  29.            {
  30.  
  31.                $RESULTADO="OKNOK.jpg";
  32.  
  33.                echo json_encode("<img src='../img/".$RESULTADO."'>");
  34.  
  35.            }
  36.  
  37.            else
  38.  
  39.            {
  40.  
  41.                $RESULTADO="Ok.jpg";
  42.  
  43.                echo json_encode("<img src='../img/".$RESULTADO."'>");
  44.  
  45.            }
  46.  
  47.  
  48.  
  49.    }else
  50.  
  51.        {
  52.  
  53.        $RESULTADO="NOk.jpg";
  54.  
  55.            echo json_encode("<img src='../img/".$RESULTADO."'>");
  56.  
  57.        }
  58.  
  59.  
  60.  
  61. ?>
  62.  

Espero me puedan ayuda por favorr!!!


En línea

[u]nsigned


Desconectado Desconectado

Mensajes: 2.371

Vue SSr


Ver Perfil WWW
Re: Pasar un array de una pagina php a otra Js
« Respuesta #1 en: 26 Julio 2020, 10:44 »

No te termine de entender del todo, pero si queres pasar muchos campos con el mismo nombre podes usar la notacion de array de php en el nombre del mismo en tu archivo pagina1.php agregandole corchetes [] en el atributo name:

Código
  1. <td><input id='prueba1' type='text' name='ip[]'  value='{{$enla.ip}}'></td>

Sin agregar los corchetes cada nuevo elemento de tu bucle esta sobreescribiendo al anterior y al final solo tendras un único valor para la variable ip cuyo valor sera el del ultimo item del foreach.


« Última modificación: 26 Julio 2020, 10:46 por [u]nsigned » En línea

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!
protus08

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Pasar un array de una pagina php a otra Js
« Respuesta #2 en: 27 Julio 2020, 02:25 »

No te termine de entender del todo, pero si queres pasar muchos campos con el mismo nombre podes usar la notacion de array de php en el nombre del mismo en tu archivo pagina1.php agregandole corchetes [] en el atributo name:

Código
  1. <td><input id='prueba1' type='text' name='ip[]'  value='{{$enla.ip}}'></td>

Sin agregar los corchetes cada nuevo elemento de tu bucle esta sobreescribiendo al anterior y al final solo tendras un único valor para la variable ip cuyo valor sera el del ultimo item del foreach.

muchas gracias por responder, cambie lo que me indicas, pero básicamente lo que no se, es como hacer para pasar ese arreglo a la pagina donde tengo mi codigo JS y como procesarla ahí, para pasarla a la otra pagina php y recibir el resultado en la primera pagina php. si me pudieras ayudar por favor.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines