Foros del Web » Programando para Internet » Javascript »

[Consulta] variables $_POST perdidas al llamar con JS. ?

Estas en el tema de [Consulta] variables $_POST perdidas al llamar con JS. ? en el foro de Javascript en Foros del Web. Buenas, tengo la siguiente situación: Tengo un archivo JS. referenciado desde la cabecera de mi sitio, que me permite hacer llamadas asincronas, y solo refrescar ...
  #1 (permalink)  
Antiguo 23/02/2011, 21:18
Avatar de Hiruma-Sama  
Fecha de Ingreso: agosto-2007
Ubicación: Floresta, Buenos Aires, Argentina.
Mensajes: 234
Antigüedad: 16 años, 7 meses
Puntos: 5
Pregunta [Consulta] variables $_POST perdidas al llamar con JS. ?

Buenas, tengo la siguiente situación: Tengo un archivo JS. referenciado desde la cabecera de mi sitio, que me permite hacer llamadas asincronas, y solo refrescar la parte del DIV. que yo desee, usando la parte del menu funciona de 10, pero ahora queria aplicarlo a un formulario html/php (que si no hago uso de la funcion asincrona funciona perfectamente), pero claro, yo quiero que funcione con ese metodo para solo recargar una porcion de la pagina, los archivos resumidos vienen asi:

pagina1.php
Código PHP:
<?php 
if(!isset($_POST["crearusuario"])){
?>
<div id="example" class="post">
<h2 class="title">Crear Usuarios</h2>
<div class="content">
<p><form action="javascript:llamarasincrono('pagina1.php', 'content');" method="post">
<table border="0" summary="Nombre y Contraseña para los Usuarios.">        
<tr><td>
Usuario:<br>
<input type="text" name="nombre" size="30" maxlength="20"><br>
</td></tr>
</table>
<br>
<input type="submit" name="crearusuario" value="Crear Usuario"></form></p>
</div>
</div>
<?php 
}else{
// AQUI TRABAJO EL RESULTADO SI FUE USADO EL FORMULARIO.
?>
Esta variable: $_POST["crearusuario"] cuando uno hace click en el boton, vuelve como corresponde a la pagina1.php, pero esta no aparece seteada, es como si la llamada asincrona del JS. me perdiese la ejecucion del formulario






AH PD: dejo por las dudas el codigo del archivo JS. por las dudas:
Código PHP:
// Documento JavaScript
// Esta función cargará las paginas
function llamarasincrono (urlid_contenedor)
{
    var 
pagina_requerida false;
    if (
window.XMLHttpRequest)
    {
        
// Si es Mozilla, Safari etc
        
pagina_requerida = new XMLHttpRequest ();
    } else if (
window.ActiveXObject)
    {
        
// pero si es IE
        
try 
        {
            
pagina_requerida = new ActiveXObject ("Msxml2.XMLHTTP");
        }
        catch (
e)
        {
            
// en caso que sea una versión antigua
            
try
            {
                
pagina_requerida = new ActiveXObject ("Microsoft.XMLHTTP");
            }
            catch (
e)
            {
            }
        }
    } 
    else
    return 
false;
    
pagina_requerida.onreadystatechange = function ()
    {
        
// función de respuesta
        
cargarpagina (pagina_requeridaid_contenedor);
    }
    
pagina_requerida.open ('GET'urltrue); // asignamos los métodos open y send
    
pagina_requerida.send (null);
}
// todo es correcto y ha llegado el momento de poner la información requerida
// en su sitio en la pagina xhtml
function cargarpagina (pagina_requeridaid_contenedor)
{
    if (
pagina_requerida.readyState == && (pagina_requerida.status == 200 || window.location.href.indexOf ("http") == - 1))
    
document.getElementById (id_contenedor).innerHTML pagina_requerida.responseText;

Desde ya muchas gracias por su tiempo.
  #2 (permalink)  
Antiguo 24/02/2011, 11:32
 
Fecha de Ingreso: febrero-2011
Ubicación: Avellaneda, Buenos Aires
Mensajes: 39
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: [Consulta] variables $_POST perdidas al llamar con JS. ?

mm, mediante Javascript estás enviando variables con el método GET

Código:
pagina_requerida.open ('GET', url, true);
Mientras que con PHP parece que estás tomándolas mediante POST

Código PHP:
if(!isset($_POST["crearusuario"])){ /* código condicionado */ 
Puede ser?
  #3 (permalink)  
Antiguo 24/02/2011, 12:38
 
Fecha de Ingreso: febrero-2011
Ubicación: Avellaneda, Buenos Aires
Mensajes: 39
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: [Consulta] variables $_POST perdidas al llamar con JS. ?

Para solucionarlo te recomendaría corregir el código PHP y verificar las variables de la siguiente forma:

Código PHP:
// Antes:
// if(!isset($_POST["crearusuario"])){ /* código condicionado */ }

// Después:
if( ! isset($crearusuario) ){ /* código condicionado */ 
  #4 (permalink)  
Antiguo 01/03/2011, 10:20
Avatar de Hiruma-Sama  
Fecha de Ingreso: agosto-2007
Ubicación: Floresta, Buenos Aires, Argentina.
Mensajes: 234
Antigüedad: 16 años, 7 meses
Puntos: 5
Respuesta: [Consulta] variables $_POST perdidas al llamar con JS. ?

ah mil gracias por las respuestas, no estuve con la maquina que tenía el proyecto entonces, seguía con la duda, pero sin poder revizar.

cuando llegue a casa lo reviso y pruebo, lo que si, comento algo que quizas puede servir:

Actualmente yo tengo:
Cita:
<form action="javascript:llamarasincrono('pagina1.php', 'content');" method="post">
lo que sabemos que funciona es:

Cita:
<form action="pagina1.php" method="post">

PERO que pasa, no haria la llamada asincrona, por ende, termino 'refrezcando/actualizando' la pagina y yo solo necesito actualizar el DIV. 'content' .

AHORA, la llamada asincrónica, la utilizo lo mas bien, cuando por ejemplo accedo desde el menú, haciendo algo parecido a esto:

Cita:
<a href="javascript:llamarasincrono('pagina1.php', 'content');">IR A PAGINA 1</a>


Ya digo, todavía no pude revizar lo que antes pusiste, pero agrego estas lineas para ver si puedo especificar mas el 'conflicto' que tengo.

Desde ya, gracais y saludos.

Etiquetas: js, llamar, perdidas, post, variables
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 06:39.