Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

189
Views
Cómo obtener la variable "$.Post" en otro sitio

Busco mi pregunta en Internet y no encuentro cómo obtener mi $_POST en otra página. Por favor ayuda.

juego.php:

 <?php session_start(); ?> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script type="text/javascript"> var drzewo = 0; function save() { $.post( "save.php", { drzewo: drzewo } ); window.location.href = "save.php" }

guardar previamente.php

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <?php session_start(); $_SESSION['drewno'] = $_POST["drzewo"]; echo $_SESSION['drewno'] ?>

Imagen de clave de matriz indefinida

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Su pregunta parece incompleta en mi opinión. Faltan muchas cosas en tu pregunta. De su imagen, asumo que la está usando en el servidor local. Hay una cosa que se ve rara es esta:

 `$.post( "save.php", { drzewo: drzewo } );`

¿Dónde se almacena este archivo save.php? ¿Está almacenado en su archivo raíz? O junto con el archivo operativo. Ponga un "/" antes de save.php y vea qué sucede. Hay otra cosa que parece incómoda: su imagen muestra que hay un archivo presave.php. Pero no encontré nada sobre ese archivo en los detalles de su pregunta. Puedo ver que pones un código de redireccionamiento en tu script. No se supone que JS funcione así. Lo que sucede aquí es que está realizando una operación asíncrona. Es por eso que PHP no puede obtener los datos y mostrarle un error. Si quieres enviar datos envíalo en un formulario. O puede poner una redirección en su código PHP después de obtener los datos de la publicación. Dado que es una llamada AJAX, puede ver algunos informes en su console.log() con los datos de respuesta.

about 4 years ago · Juan Pablo Isaza Report

0

$.post( "save.php", { drzewo: drzewo } ); window.location.href = "save.php"

Analicemos estas 2 líneas de código. Cuando envía una solicitud de publicación a través de javascript, pasa por una solicitud ajax y el navegador espera hasta que save.php complete su código y regrese a ajax. Aquí save.php ha recibido los datos de $_POST y los ha procesado.

Estos datos procesados por save.php no aparecerán en el navegador. Irá a la función de devolución de llamada posterior (ajax). Si desea mostrar los datos, debe utilizar una función de devolución de llamada. Consulte este https://www.w3schools.com/jquery/ajax_post.asp para ver un uso simple de la función $.post() .

En la siguiente línea de su código, está redirigiendo su navegador a save.php sin enviar ningún dato de $_POST. Dado que ahora su save.php no tiene ninguna información sobre $_POST["drzewo"] arroja un error Undefined array key "drzewo" .

Por lo tanto, en lugar de la redirección de la página window.location.href , necesita una función de devolución de llamada con su función $.post() . Espero que ahora entiendas por qué estás recibiendo este error.

[Editar] - He agregado un código para su mejor comprensión. Puede consultar este excelente tutorial "JQuery Ajax POST Method" de freecodecamp.org. https://www.freecodecamp.org/news/jquery-ajax-post-method/

juego.php

 <?php session_start(); ?> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> </head> <body> <button id="btn" onclick="save();">Click this</button> <script type="text/javascript"> var drzewo = 0; function save() { $.post("save.php", { drzewo: drzewo }, function(result) { alert("This result contains the output from save.php : " + result); //Write here the code you want to execute after the POST request is successfully completed. } ); } </script> </body> </html>

guardar.php

 <?php session_start(); $_SESSION['drewno'] = $_POST["drzewo"]; echo $_SESSION['drewno'];
about 4 years ago · Juan Pablo Isaza Report

0

Si desea pasar datos de una URL a otra, use una cadena de consulta. $.post() hace una solicitud POST, pero parece que save.php no es un punto final sino una página.

En otras palabras, puedes hacer esto:

 window.location.href = `save.php?drzewo=${drzewo}`;

Y luego en save.php simplemente lea el valor de $_GET :

 <?php session_start(); $_SESSION['drewno'] = $_GET["drzewo"]; echo $_SESSION['drewno'] ?>
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!