Foros del Web » Programando para Internet » PHP »

No se muestran datos hasta salir de la página

Estas en el tema de No se muestran datos hasta salir de la página en el foro de PHP en Foros del Web. Hola, buenos días!! Tengo un pequeño problema con un código en PHP, pero no localizo la falla... les comento. Tengo un formulario que envía vía ...
  #1 (permalink)  
Antiguo 09/10/2012, 09:57
Avatar de Middrel  
Fecha de Ingreso: abril-2005
Mensajes: 794
Antigüedad: 14 años, 5 meses
Puntos: 24
No se muestran datos hasta salir de la página

Hola, buenos días!!

Tengo un pequeño problema con un código en PHP, pero no localizo la falla... les comento.

Tengo un formulario que envía vía POST por PHP, de una a tres direcciones de correo según capture el cliente... por ejemplo:

Correo Principal: [email protected]
Correo Secundario: [email protected]
Correo Alternativo:

estos correos se almacenan en una base de datos.

Este es el formulario:

Código HTML:
<form action="registro_notidiario.php" method="post" name="form_noti" id="valida-form">

<input name="email" type="email" id="email" size="30" maxlength="80" value="<?php echo $correo1; ?>">
<input name="correo2" type="email" id="correo2" size="30" maxlength="80" value="<?php echo $correo2; ?>">
<input name="correo3" type="email" id="correo3" size="30" maxlength="80" value="<?php echo $correo3; ?>">

<input type="submit" name="Registrar" id="Registrar" value="Registrar" /> 
y este es el código PHP que envía a la base de datos:

Código PHP:
<?php
include("session.php");
include (
"confirmaracceso.php");


$selectCorreoMail mysql_query("Select * from RegistroBoletin Where id_Usuario = $_SESSION[cliente]");
$rowSelectCorreo mysql_fetch_array($selectCorreoMail);

$correo1 =  $rowSelectCorreo['Correo'];
$correo2 $rowSelectCorreo['Correo2'];
$correo3 $rowSelectCorreo['Correo3'];
$sesionCliente $rowSelectCorreo['id_Usuarios'];

if (isset(
$_POST['Registrar'])) 
{            
        
$selectRegistro mysql_query("Select id_Usuario from RegistroBoletin Where id_Usuario = $_SESSION[cliente]");
        
$rowSelectRegistro mysql_fetch_array($selectRegistro);
    
        if (isset(
$rowSelectRegistro['Correo'])) {

            
$insertRegistro="Insert into RegistroBoletin (id_Usuario, Correo) value ($_SESSION[cliente], '$_POST[email]')";
            
$queryRegistro=mysql_query ($insertRegistro);
                        
        } else {
            
            
$updateRegistro="Update RegistroBoletin SET Correo='$_POST[email]' WHERE id_Usuario=$_SESSION[cliente] ";
            
$queryRegistro=mysql_query ($updateRegistro);
            
        }
        
        if (
$_POST['email'] == '') {
            
            
$updateRegistro="Update RegistroBoletin SET Correo='' WHERE id_Usuario=$_SESSION[cliente] ";
            
$queryRegistro=mysql_query ($updateRegistro);
                        
        }
        
        if (
$_POST['correo2'] == '')    {    
    
                
$updateRegistro mysql_query("Update RegistroBoletin SET Correo2='' WHERE id_Usuario=$_SESSION[cliente] ");

        } else {
            
                
$updateRegistro mysql_query("Update RegistroBoletin SET Correo2='$_POST[correo2]' WHERE id_Usuario=$_SESSION[cliente] ");
        }
        
        if (
$_POST['correo3'] == '')    {    
    
                
$updateRegistro mysql_query("Update RegistroBoletin SET Correo3='' WHERE id_Usuario=$_SESSION[cliente] ");

        } else {
            
                
$updateRegistro mysql_query("Update RegistroBoletin SET Correo3='$_POST[correo3]' WHERE id_Usuario=$_SESSION[cliente] ");
        }
        
        
$error.= "<font color=red>*</font>El correo ha sido actualizado <br>";
        
        
}
        
?>
Bueno... todo funciona perfectamente, es decir, capturo los datos y envío, internamente se envía la información a la base de datos, la acepta, se almacena. Pero el problema radica en lo siguiente: Cuando ingreso un correo, o lo borro de alguno de los inputs del formulario, sólo cuando me cambio de página y regreso a esta nuevamente, puedo ver el cambio reflejado, mientras haga lo que haga no se refleja el cambio. Como comenté sólo hasta que me cambio de página y regreso.

Lo que quisiera es que automáticamente se refresque la página y se puedan ver los cambios en el momento, no se si me explico bien.

Utilicé un header() para cargar nuevamente la página pero no me funciona, me marca error. Cabe señalar que está página trabaja con sesiones, el cliente sólo puede ingresar a ella iniciando su sesión.

Este es el error que marca:

Warning: Cannot modify header information - headers already sent by (output started at /home/diariooo/public_html/confirmaracceso.php:104) in...

Si saben como puedo lograr esto, se los agradecería, de antemano les agradezco por su tiempo.

Saludos!!
  #2 (permalink)  
Antiguo 09/10/2012, 10:18
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 6 meses
Puntos: 2534
Respuesta: No se muestran datos hasta salir de la página

Aquí está la explicación de tu problema:
http://www.forosdelweb.com/wiki/PHP:...n_line_4%22%3F
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 09/10/2012, 10:33
Avatar de Middrel  
Fecha de Ingreso: abril-2005
Mensajes: 794
Antigüedad: 14 años, 5 meses
Puntos: 24
Respuesta: No se muestran datos hasta salir de la página

Si, pero ese error me salió cuando intenté hacer ese método. La página sigue sin poder mostrar los datos en el momento sino hasta que me cambio de sección y regreso.

Lo que necesito es que cuando escriba el correo, - en cualquiera de los tres campos - y le de click en el botón de "Registrar" se muestren los valores en los inputs.

Saludos!

Etiquetas: formulario, html, muestran, mysql, página, registro, salir, sql, 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 01:17.