Foros del Web » Programando para Internet » PHP »

redireccionar y enviar un mensaje a la vez con header()!

Estas en el tema de redireccionar y enviar un mensaje a la vez con header()! en el foro de PHP en Foros del Web. Chicos soy nueva en lo que es la programacion! tengo una pagina guardar en la que necesito redireccionar a la pagina principal si algun campo ...
  #1 (permalink)  
Antiguo 28/11/2008, 14:10
 
Fecha de Ingreso: marzo-2008
Ubicación: Cuba
Mensajes: 110
Antigüedad: 16 años, 1 mes
Puntos: 0
redireccionar y enviar un mensaje a la vez con header()!

Chicos soy nueva en lo que es la programacion!
tengo una pagina guardar en la que necesito redireccionar a la pagina principal si algun campo esta vacio, pero que a la misma vez me muestre un mesaje donde le diga al usuario que existen campos vacios y sino que le diga qwue los datos fueron incertados corectamente.
pero me sale el siguiente error cuando doy guardar:

Warning: Cannot modify header information - headers already sent by (output started at D:\www\registro\index.php:35) in D:\www\registro\editar\guardar.php on line 83
aca les dejo un pedasito del codigo:

/*Estamos validando si hay campos vacios del registro enviado por el usuario*/
if($nombre1==!"" && $direc1==!"" && $municip1==!"" && $provincia1==!"" ){

$new_registro=mysql_query("insert into table_perfil(asignado_expediente,nombre1,direc1,pr ovincia1,municip1,municipio_trab1,antecedent1,expe diente1,edad11,sexo1,escol1,estado_civil1,hijos1,o cup1)values('$asig_ano','$nombre','$telefono','$di rec','$municip','$provincia','$municipio_trab','$a ntecedent','$expediente','$edad1','$sexo','$escol' ,'$estado_civil','$hijos','$ocup')");

header("Location:index.php?link_destino=editar/registro_new.php&ms_usuario=2"); // Usuario registrado correctamente (Los datos del remitente fueron insertado)

}else{
header("Location:index.php?link_destino=editar/registro_new.php&ms_eusuario=1"); // Mensaje de que existe campos vacios (Existen campos vacios)
exit;
}
}

Ayudenme plisssssssssssssssssss!
  #2 (permalink)  
Antiguo 28/11/2008, 14:17
Avatar de ACX_POISON  
Fecha de Ingreso: abril-2008
Ubicación: Talca-Chile
Mensajes: 750
Antigüedad: 16 años
Puntos: 7
Respuesta: redireccionar y enviar un mensaje a la vez con header()!

ese error pasa cuando tienes codigo html o has escrito algo en pantalla (echo"algo";)
sino muestra mas el codigo
__________________
Me junto con los que Saben, Queriendo Saber.
  #3 (permalink)  
Antiguo 28/11/2008, 14:17
 
Fecha de Ingreso: julio-2006
Mensajes: 14
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: redireccionar y enviar un mensaje a la vez con header()!

Ese mensaje es porque algun texto se ha mostrado algun texto en el explorador... no debes hacerlo... elimina cualquier salida de texo que tengas ..

si aun asi vez te sigue saliendo el mensaje... revisa que al cerrar el codigo "?>" no hay espacios para abajo ya que te los tomara como texto donde cierra ?> debe ser la ultima linea
  #4 (permalink)  
Antiguo 28/11/2008, 14:30
Avatar de stone_neo  
Fecha de Ingreso: abril-2004
Ubicación: Peru
Mensajes: 438
Antigüedad: 20 años
Puntos: 15
Respuesta: redireccionar y enviar un mensaje a la vez con header()!

Mira lo que sucede es que cuando intentas redireccionar usando la función header no tienes que enviar nada al navegador, no tienes que hacer ningun echo, print o codigo html antes. Revisa tu codigo si estas enviandole alguna salida al navegador antes de llamar a la función header.

Ahora si quieres validar que no pongan valores vacios en tu formulario, mejor hazo con javascript, validando todo del lado cliente.
__________________
Rubén Darío Huamaní Ucharima
Web : http://www.gorilla-soft.com
Usuario Linux #382 100 :-)
  #5 (permalink)  
Antiguo 28/11/2008, 14:43
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: redireccionar y enviar un mensaje a la vez con header()!

haber..... solo menciono que si se puede eh......... pero tienes que declarar lo siguiente:
AL INCIO: ob_start();
AL FINAL: ob_flush();

lo cual declara que quieres mover utilizar ese codigo cuando desees.....

OTRA OBSERVACION:
sino sale... puedes utilizar javascript:
echo "<script>document.location='index.php?link_destino =editar/registro_new.php&ms_usuario=2'</script>";

Suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #6 (permalink)  
Antiguo 28/11/2008, 15:06
 
Fecha de Ingreso: marzo-2008
Ubicación: Cuba
Mensajes: 110
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: redireccionar y enviar un mensaje a la vez con header()!

Pues a peticion de ACX_POISON
Aca les envio la pagina completa a ver que me dicen! porque todavia no doy con la solucion

guardar.php:

<?
include("config/acceso_session.php");
//Registro del usuario
if($_POST['anonimo']==!""){
$anonimo="si";
}else{
$anonimo="no";
$asignado_expediente= $_POST['asig_ano'];
$nombre1=$_POST['nombre'];
$telefono1 = $_POST['telefono'];
$direc1 = $_POST['direc'];
$municip1 = $_POST['municip'];
$provincia1 = $_POST['provincia'];
$municipio_trab1 = $_POST['municipio_trab'];
$antecedent1 = $_POST['antecedent'];
$expediente1 = $_POST['expediente'];
$edad11= $_POST['edad1'];
$sexo1= $_POST['sexo'];
$escol1 = $_POST['escol'];
$estado_civil1 = $_POST['estado_civil'];
$hijos1 = $_POST['hijos'];
$ocup1 = $_POST['ocup'];
}
//Registro de Carta
$fech_ent1 = $_POST['fech_ent'];
$fech_env1 = $_POST['fech_env'];
$fech_cart1 = $_POST['fech_cart'];
$fech_term1 = $_POST['fech_term'];
$via1 = $_POST['via'];
$ref1 = $_POST['ref'];
if($_POST['art_reint']==!""){
$cart_reint1="si";
}else{
$cart_reint1="no";
}
$tip1 = $_POST['tip'];
$tem1 = $_POST['tem'];
$situac1 = $_POST['situac'];
$plant1 = $_POST['plant'];
$result1 = $_POST['result'];
$dest1 = $_POST['dest'];
$especial1 = $_POST['especial'];
$func1 = $_POST['func'];
if($_POST['pers']==!""){
$pers1="si";
}else{
$pers1="no";
}
if($_POST['comp']==!""){
$comp1="si";
}else{
$comp1="no";
}
if($_POST['satis']==!""){
$satis1="si";
}else{
$satis1="no";
}
$sint1 = $_POST['sint'];
$termino_caso1 = $_POST['termino_caso'];
/* Comprobando si el usuario es anonimo o no para pasar a insert el registro*/
if($anonimo=="no"){
/*Estamos validando si hay campos vacios del registro enviado por el usuario*/
if($nombre1==!"" && $direc1==!"" && $municip1==!"" && $provincia1==!"" ){
$new_registro=mysql_query("insert into table_perfil(asignado_expediente,nombre1,direc1,pr ovincia1,municip1,municipio_trab1,antecedent1,expe diente1,edad11,sexo1,escol1,estado_civil1,hijos1,o cup1)values('$asig_ano','$nombre','$telefono','$di rec','$municip','$provincia','$municipio_trab','$a ntecedent','$expediente','$edad1','$sexo','$escol' ,'$estado_civil','$hijos','$ocup')");
header("Location:index.php?link_destino=editar/registro_new.php&ms_usuario=2"); // Usuario registrado correctamente (Los datos del remitente fueron insertado)
}else{
header("Location:index.php?link_destino=editar/registro_new.php&ms_eusuario=1"); // Mensaje de que existe campos vacios (Existen campos vacios)
exit;
}
}
/* insert carta del usuario*/
/*Estamos validando si hay campos vacios en la carta enviada*/
if(fech_ent1==!""){

$new_carta=mysql_query("insert into table_carta (fech_ent1,fech_env1,fech_cart1,fech_term1,via1,re f1,cart_reint1,tip1,tem1,situac1,plant1,result1,de st1,especial1,func1,pers1,comp1,satis1,sint1,termi no_caso1)values('$fecha_ent','$fecha_env','$fecha_ carta','$fecha_term','$_via','$_ref','$carta_reint erada','$tipo','$tema','$situacion','$planteaminet o','$resultado','$destino','$especialista','$funci onario','$msg_pers','$msg_comp','$msg_satis','$sin tesis','$term_caso')");
header("Location:index.php?link_destino=editar/registro_new.php&ms_carta=2"); // carta registrada correctamente (y la carta tambien)
}else{
header("Location:index.php?link_destino=editar/registro_new.php&ms_ecarta=1"); // Mensaje de que existe campos vacios(y ERROR CARTA CAMPOS VACIOS)
exit;
}
?>
  #7 (permalink)  
Antiguo 28/11/2008, 15:11
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: redireccionar y enviar un mensaje a la vez con header()!

ps la verdad, veo todo bien.... si deberia de funcar el header..........
pero nose que puede aver en include("config/acceso_session.php");

y si persiste el problema.... ps ya te dije....
EN VEZ DE USAR:
header("Location:index.php?link_destino=editar/registro_new.php&ms_carta=2");
USA:
echo "<script>document.location='index.php?link_des tino =editar/registro_new.php&ms_usuario=2'</script>";

Y ASI PARA TODOS LOS CASOS.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #8 (permalink)  
Antiguo 28/11/2008, 15:19
 
Fecha de Ingreso: marzo-2008
Ubicación: Cuba
Mensajes: 110
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: redireccionar y enviar un mensaje a la vez con header()!

masterojitos, he intentado con mostrar(echo)el scrpt en vez del header, pero no me sirve, habra otra opcion chicos?
  #9 (permalink)  
Antiguo 28/11/2008, 15:35
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: redireccionar y enviar un mensaje a la vez con header()!

ps que raro ya que deberia de salir.....
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #10 (permalink)  
Antiguo 28/11/2008, 15:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: redireccionar y enviar un mensaje a la vez con header()!

Lo mejor es solucionar el problema de fondo, revisa esta FAQ: http://www.forosdelweb.com/2037876-post179.html

Saludos.
  #11 (permalink)  
Antiguo 28/11/2008, 15:50
 
Fecha de Ingreso: marzo-2008
Ubicación: Cuba
Mensajes: 110
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: redireccionar y enviar un mensaje a la vez con header()!

gatorv, un placer conocerle, mpresisamente ahorita me incorpore en el grupo de estudio donde ustedes se encuentra
  #12 (permalink)  
Antiguo 28/11/2008, 15:57
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 31
Respuesta: redireccionar y enviar un mensaje a la vez con header()!

Hola
Pero los datos son ingresados en la DB?

También la linea 74 de ese file guardar.php hay un error
al parecer le falta esto $ a la variable
if(fech_ent1==!""){

También puedes separa la Comillas
if($fech_ent1==!" "){

php
http://us3.php.net/manual/es/function.strpos.php
//
http://us3.php.net/manual/es/language.operators.comparison.php

Última edición por thezzin; 28/11/2008 a las 16:07
  #13 (permalink)  
Antiguo 28/11/2008, 23:43
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: redireccionar y enviar un mensaje a la vez con header()!

a ps si vamos a comenzar por errores de tipeo... ps tienes varios........
pero eso no lo dijiste como problema........ hubieras empezado por que no sabias mucho tu codigo y que quizas este mal..... no que solo no redirecciona.........

haber pon asi tu codigo:

Código PHP:
<?
include("config/acceso_session.php");
//Registro del usuario
if($_POST['anonimo']==""){//no es $_POST['anonimo']==!""
$anonimo="si";
}else{
$anonimo="no";
$asignado_expediente$_POST['asig_ano'];
$nombre1=$_POST['nombre'];
$telefono1 $_POST['telefono'];
$direc1 $_POST['direc'];
$municip1 $_POST['municip'];
$provincia1 $_POST['provincia'];
$municipio_trab1 $_POST['municipio_trab'];
$antecedent1 $_POST['antecedent'];
$expediente1 $_POST['expediente'];
$edad11$_POST['edad1'];
$sexo1$_POST['sexo'];
$escol1 $_POST['escol'];
$estado_civil1 $_POST['estado_civil'];
$hijos1 $_POST['hijos'];
$ocup1 $_POST['ocup'];
}
//Registro de Carta
$fech_ent1 $_POST['fech_ent'];
$fech_env1 $_POST['fech_env'];
$fech_cart1 $_POST['fech_cart'];
$fech_term1 $_POST['fech_term'];
$via1 $_POST['via'];
$ref1 $_POST['ref'];
if(
$_POST['art_reint']==""){//no es $_POST['art_reint']==!""
$cart_reint1="si";
}else{
$cart_reint1="no";
}
$tip1 $_POST['tip'];
$tem1 $_POST['tem'];
$situac1 $_POST['situac'];
$plant1 $_POST['plant'];
$result1 $_POST['result'];
$dest1 $_POST['dest'];
$especial1 $_POST['especial'];
$func1 $_POST['func'];
if(
$_POST['pers']==""){//no es $_POST['pers']==!""
$pers1="si";
}else{
$pers1="no";
}
if(
$_POST['comp']==""){//no es $_POST['comp']==!""
$comp1="si";
}else{
$comp1="no";
}
if(
$_POST['satis']==""){//no es $_POST['satis']==!""
$satis1="si";
}else{
$satis1="no";
}
$sint1 $_POST['sint'];
$termino_caso1 $_POST['termino_caso'];
/* Comprobando si el usuario es anonimo o no para pasar a insert el registro*/
if($anonimo=="no"){
/*Estamos validando si hay campos vacios del registro enviado por el usuario*/
if($nombre1==!" && $direc1==!" && $municip1==!" && $provincia1==!" ){//YA SABES, SOLO LE QUITE UN IGUAL
$new_registro=mysql_query("insert into table_perfil(asignado_expediente,nombre1,direc1,pr ovincia1,municip1,municipio_trab1,antecedent1,expe diente1,edad11,sexo1,escol1,estado_civil1,hijos1,o cup1)values('$asig_ano','$nombre','$telefono','$di rec','$municip','$provincia','$municipio_trab','$a ntecedent','$expediente','$edad1','$sexo','$escol' ,'$estado_civil','$hijos','$ocup')");
header("Location: index.php?link_destino=editar/registro_new.php&ms_usuario=2"); // Usuario registrado correctamente (Los datos del remitente fueron insertado)
}else{
header("Location: index.php?link_destino=editar/registro_new.php&ms_eusuario=1"); // Mensaje de que existe campos vacios (Existen campos vacios)
exit;
}
}
/* insert carta del usuario*/
/*Estamos validando si hay campos vacios en la carta enviada*/
if($fech_ent1==""){//le falta $ y menos una comilla

$new_carta=mysql_query("insert into table_carta (fech_ent1,fech_env1,fech_cart1,fech_term1,via1,re f1,cart_reint1,tip1,tem1,situac1,plant1,result1,de st1,especial1,func1,pers1,comp1,satis1,sint1,termi no_caso1)values('$fecha_ent','$fecha_env','$fecha_ carta','$fecha_term','$_via','$_ref','$carta_reint erada','$tipo','$tema','$situacion','$planteaminet o','$resultado','$destino','$especialista','$funci onario','$msg_pers','$msg_comp','$msg_satis','$sin tesis','$term_caso')");
header("Location:index.php?link_destino=editar/registro_new.php&ms_carta=2"); // carta registrada correctamente (y la carta tambien)
}else{
header("Location:index.php?link_destino=editar/registro_new.php&ms_ecarta=1"); // Mensaje de que existe campos vacios(y ERROR CARTA CAMPOS VACIOS)
exit;
}
?>
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #14 (permalink)  
Antiguo 01/12/2008, 07:59
 
Fecha de Ingreso: marzo-2008
Ubicación: Cuba
Mensajes: 110
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: redireccionar y enviar un mensaje a la vez con header()!

gracias por la ayda que me estan brindando, pues masterojitos ya he revisado los errores que me has mostrado, no sabia que estos me darian problema, pero bueno aun tengo los errores en el rediccionamiento!
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 02:24.