Foros del Web » Programando para Internet » PHP »

Valor php pasado por ajax pierde su valor

Estas en el tema de Valor php pasado por ajax pierde su valor en el foro de PHP en Foros del Web. Buenos dias. Soy nuevo usando ajax y tengo un problema. Mediante ajax obtengo un valor y lo vuelco en una variable php.Si ese dia que ...
  #1 (permalink)  
Antiguo 15/09/2014, 00:38
 
Fecha de Ingreso: mayo-2013
Ubicación: En mi casa
Mensajes: 5
Antigüedad: 11 años
Puntos: 0
Valor php pasado por ajax pierde su valor

Buenos dias.
Soy nuevo usando ajax y tengo un problema.
Mediante ajax obtengo un valor y lo vuelco en una variable php.Si ese dia que me ivas a matar,una de tantas veces,le pongo un echo y he imprime su valor por pantalla correctamente.Cierro php y abro html y le asigno al value de un input hidden el valor de esa variable y le pongo un echo en la linea anterior a ese input y la varriable que antes tenia un valor ya no lo tiene.
Esto está fuera de las etiquetas html y en esta parte todo funciona bien(el div estará hidden para no romper la pagina pero de momento lo dejo así para ver que todo va bien)
<div id="resultado">
<?php
//Estado actual del embarazo.
$estadoEmbarazo=$_POST["estadoEnviado"];
echo ""+$_POST["estadoEnviado"];
echo "".$estadoEmbarazo;
?>
</div>

Y esto está dentro de las eyiquetas html,ya que necesito que forme parte del formulario que envia los datos.

<?php echo "estado= ".$estadoEmbarazo."despues del valor;" ?>
<input style="visibility: hidden;" name="estEmbarazo" id="estEmbarazo" value="<?php echo $estadoEmbarazo; ?>">

Por que no mantiene el valor?

Gracias por vuestro tiempo y atencion,saludos.

PD:En un intento a la desesperada trate de arreglarlo haciendo que fuese una variable global:
global $estadoEmbarazo;
Pero sigue sin dar resultado.
  #2 (permalink)  
Antiguo 15/09/2014, 03:01
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Valor php pasado por ajax pierde su valor

Código PHP:
Ver original
  1. <input style="visibility: hidden;" name="estEmbarazo" id="estEmbarazo" value="<?php echo $_POST["estadoEnviado"]; ?>">

En lo que muestras no hay nada que justifique lo que dices que te pasa...

Código PHP:
Ver original
  1. echo ""+$_POST["estadoEnviado"];

ese + no tiene sentido.


Código PHP:
Ver original
  1. echo "".$_POST["estadoEnviado"];
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 15/09/2014, 03:51
 
Fecha de Ingreso: mayo-2013
Ubicación: En mi casa
Mensajes: 5
Antigüedad: 11 años
Puntos: 0
Respuesta: Valor php pasado por ajax pierde su valor

Bueno dias.

Perdon por ese "+"$estadoEnviado lo arregle hace unos dias.
Me confundí con java
Como creo que no he puesto el codigo sufiente para que se entienda mi duda o bien no me he explicado bien.
Aqui dejo el codigo para que la duda sea mas grafica

Esto se encuentra fuera de las etiquetas <html></html>
El echo "".$estadoEmbarazo; si muestra el valor correctamente.
<div id="resultado" hidden="hidden">
<?php
$estadoEmbarazo =$_POST["estadoEnviado"];
echo "".$estadoEmbarazo;
?>
</div>

Aqui está el javascript encargo de recoger y enviar la opccion selecionada
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.  
  3.     var estadoActual=1234;
  4.  
  5.     function marcarEstadoInicial(estado)
  6.     {
  7.         estadoActual=estado;
  8.         //alert("holaaaaaa");
  9.         //alert("Estado inicial vale"+estadoActual);
  10.         $.ajax({
  11.  
  12.             data:  {estadoEnviado: estadoActual},
  13.  
  14.             url:   'interiorBoxGestacion.php',
  15.  
  16.             type:  'post',
  17.  
  18.             /*beforeSend: function () {
  19.  
  20.                 $("#resultado").html("Procesando, espere por favor...");
  21.  
  22.             },*/
  23.  
  24.             success:  function (response) {
  25.  
  26.                 $("#resultado").html(response);
  27.  
  28.             }
  29.  
  30.         });
  31.     }
  32.  
  33.     /*
  34.     * Funciona para marcar el estado en que se encuentra madre actualmente.
  35.     */
  36.     function marcaEstado(estado)
  37.     {
  38.         estadoActual=estado;
  39.         alert("Por que lo dice Kami"+estadoActual);
  40.         $.ajax({
  41.  
  42.             data:  {estadoEnviado: estadoActual},
  43.  
  44.             url:   'interiorBoxGestacion.php',
  45.  
  46.             type:  'post',
  47.  
  48.             beforeSend: function () {
  49.  
  50.                 $("#resultado").html("Procesando, espere por favor...");
  51.  
  52.             },
  53.  
  54.             success:  function (response) {
  55.  
  56.                 $("#resultado").html(response);
  57.  
  58.             }
  59.  
  60.         });
  61.     }
  62.  
  63. </script>

Esta es la primera llamada para conocer el estado actual,la opccion a marcar en la entrada en la pagina.Y funciona bien.
Código HTML:
<body onload="javascript:marcarEstadoInicial(<?php echo $valores['boxes'][0]['estadoEmbarazo']?>);" style="align:center;"> 
Y un poco mas abajo,dentro del cuerpo de la pagina está esto:
Código HTML:
                                   
 [HIGHLIGHT="PHP"]
<?php echo "estado= ".$estadoEmbarazo."despues del valor;" ?>
[/HIGHLIGHT]
                                <input type="hidden" name="estEmbarazo" id="estEmbarazo" value="<?php echo $estadoEmbarazo; ?>"> 
Espero que ahora se entienda mejor mi duda.
Acabo de hacer lo que me has dicho y me aparece:
"estado= despues del valor; ( ! ) Notice: Undefined index: estadoEnviado in C:\xampp\htdocs\GestionFinca\interiorBoxGestacion. php on line 253"

Etiquetas: html, registro, tabla, usuarios
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 05:15.