Foros del Web » Programando para Internet » Javascript » Frameworks JS »

[AYUDA] Recargar contenedor div desde php.

Estas en el tema de [AYUDA] Recargar contenedor div desde php. en el foro de Frameworks JS en Foros del Web. A ver voy por partes: Tengo un index.html con una tabla así: Código PHP: < table width = "800"  height = "491"  border = "0"  class= ...
  #1 (permalink)  
Antiguo 25/07/2008, 23:45
 
Fecha de Ingreso: julio-2008
Mensajes: 5
Antigüedad: 16 años, 4 meses
Puntos: 0
[AYUDA] Recargar contenedor div desde php.

A ver voy por partes:

Tengo un index.html con una tabla así:

Código PHP:
<table width="800" height="491" border="0" class="bordepunteado2">
      <
tr>
        <
td width="198" height="46"><div class="bordepunteado1" id="menu">
        <
a href="javascript:llamarasincrono('formulario.html', 'contenidos');"Pulsar aqu&#237;</a></div></td>
        
<td width="590"><div class="bordepunteado1" id="contenidos"></div></td>
      </
tr>
      <
tr>
        <
td colspan="2">&nbsp;</td>
        </
tr>
  </
table
En esa tabla hay un enlace que realiza una llamada a una funcion en javascript, para el uso de AJAX y que me abra en un contenedor div la página formulario.html. Esa página formulario.html es la siguiente:

Código PHP:
<form method=POST action="registrausuario.php">
    
Usuario: <input type=text name=usuario><br>
    
Password <input type=password name=password><br>
    <
input type=submit value=registro>
</
form
A su vez llama a registrausuario.php que es:

Código PHP:
<?php 
    
include "conecta.php";
    if (
$_POST[usuario]=='' &&  $_POST[password]==''){
        include 
"formulario.html";
    }
    else if (!
mysql_query("Insert into usuarios values('{$_POST[usuario]}','{$_POST[password]}')",$link)){
        
$error"Ha introducido mal el usuario o contraseña";
        include 
"error.php";
        include 
"formulario.html";
    }
    else{ 
?>
    <script languaje="javascript">
        llamarasincrono('usuariocorrecto.php', 'contenidos');
    </script>    
    <?php }
    include 
"desconecta.php";
?>
El problema que tengo es que en este registrausuario.php cuando el registro ha sido correcto lo que quiero es que el contenedor que se llama contenidos que es donde aparecia el formulario se actualice sin recargar y me aparezca lo que hay en usuariocorrecto.php que es una simple cadena que pone "Usuario registrado correctamente". Pues quiero hacer eso y no me deja, las inserciones en la tabla las hace bien pero no me muestra el mensaje en el contenedor.

No se si el problema está en que el div no está en la página php o que, a ver si me podeis ayudar.

No se si el problema exactamente es de AJAX o de PHP y no se si este es el foro correcto para mi duda. Si no es así pido disculpas y que algún moderador lo mueva o me avise y lo creo en otro foro.

Un saludo.
  #2 (permalink)  
Antiguo 26/07/2008, 15:22
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 19 años, 1 mes
Puntos: 890
Respuesta: [AYUDA] Recargar contenedor div desde php.

Pone el contenido de la funcion llamarasincrono.
__________________
Drupal Argentina
  #3 (permalink)  
Antiguo 27/07/2008, 18:55
 
Fecha de Ingreso: julio-2008
Mensajes: 5
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: [AYUDA] Recargar contenedor div desde php.

Ese es el contenido de llamarasincrono.

Código PHP:
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;

  #4 (permalink)  
Antiguo 28/07/2008, 19:44
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 19 años, 1 mes
Puntos: 890
Respuesta: [AYUDA] Recargar contenedor div desde php.

Me parece que asi como lo quieres no va a ser posible ya que cuando envias el formulario lo envias como url en el navegador, un div no puede actuar como un frame o un iframe que es lo que pretendes, yo lo plantearia de otra forma.
En este caso lo que se me ocurre : tendrias que usar a nivel de ajax algo mas avanzado, como por ejemplo prototype, ajax.Updater
__________________
Drupal Argentina
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 18:14.