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!!