Foros del Web » Programando para Internet » PHP »

ayuda porfa

Estas en el tema de ayuda porfa en el foro de PHP en Foros del Web. hola tngo este error y no s como solucionarlo Warning: Cannot modify header information - headers already sent by (output started at /home/webcindario/migranpagina/menu.php:1) in /home/webcindario/migranpagina/contrasenaenviar.php ...
  #1 (permalink)  
Antiguo 17/09/2004, 09:10
 
Fecha de Ingreso: julio-2004
Mensajes: 51
Antigüedad: 19 años, 9 meses
Puntos: 0
ayuda porfa

hola tngo este error y no s como solucionarlo

Warning: Cannot modify header information - headers already sent by (output started at /home/webcindario/migranpagina/menu.php:1) in /home/webcindario/migranpagina/contrasenaenviar.php on line 10

Warning: Cannot modify header information - headers already sent by (output started at /home/webcindario/migranpagina/menu.php:1) in /home/webcindario/migranpagina/contrasenaenviar.php on line 11

y est codigo

<?php
if($enviar) {
if(!$HTTP_COOKIE_VARS[ucontrasena]) {
include("config.php") ;
$resp = mysql_query("select nick,contrasena from usuarios where email='$email'") ;
$usuarios = mysql_num_rows($resp) ;
if($usuarios != 0) {
$datos = mysql_fetch_array($resp) ;
mail($email,"Recuperación de contraseña",$mensaje,"From: rockero666 <[email protected]>") ;
setcookie("ucontrasena","ucontrasena",time()+1800) ;
header("location: index.php?page=contrasena&confirmacion=si") ;
}
else {
header("location: index.php?page=contrasena&confirmacion=no") ;
}
mysql_free_result($resp) ;
mysql_close($conectar) ;
}
else {
header("location: index.php?contrasena&confirmacion=esperar") ;
}
}
?>
<?
$mensaje = "

<html>
<p>Estos son tus datos de registro:
<p>Nick: <b>$datos[nick]</b>
<p>Contraseña: <b>$datos[contrasena]</b>
<p>-----------------------------------
Estos datos se te enviaron debido a que solicitaste tus datos de registro en www.miweb.com, si tu no pediste estos
datos alguien registró una cuenta con este email, para eliminar estos datos contacta al administrador<a href=mailto:[email protected]>[email protected]</a>.
</html>
";
?>

Última edición por jpinedo; 15/05/2012 a las 09:59
  #2 (permalink)  
Antiguo 17/09/2004, 09:36
 
Fecha de Ingreso: abril-2003
Mensajes: 27
Antigüedad: 21 años
Puntos: 0
Lo que puedo ver es que tu variable $mensaje la declaraste despues de llamarla en la función "mail", y para enviar html en el mail deberias incluir las cabeceras correspondientes, por ejemplo:
Código PHP:
$mensaje "

<html>
<p>Estos son tus datos de registro:
<p>Nick: <b>$datos[nick]</b>
<p>Contraseña: <b>$datos[contrasena]</b>
<p>-----------------------------------
Estos datos se te enviaron debido a que solicitaste tus datos de registro en [url]www.rockero666.tk[/url], si tu no pediste estos
datos alguien registró una cuenta con este email, para eliminar estos datos contacta al administrador<a href=mailto:[email protected]>[email protected]</a>.
</html>
"
;

$OB="----=_OuterBoundary_000";
$headers ="MIME-Version: 1.0\r\n";            
$headers.="Content-Type: text/html;\n\tboundary=\"".$OB."\"\n";
$headers.="From: rockero666 <[email protected]>\n";    
mail($email,"Recuperación de contraseña",$mensaje,$headers) ; 
__________________
´´.../__Miguel___\...´´

Última edición por jpinedo; 15/05/2012 a las 10:00
  #3 (permalink)  
Antiguo 17/09/2004, 14:39
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
output started at /home/webcindario/migranpagina/menu.php:1
El error te dice que hay "salida" enviada al navegador en la línea 1 de tu menu.php ..

Si tu estás seguro que antes de tu primer <? no tienes un salto de línea .. o un simple espacio o algo más de HTML por médio .. Revisa en tu navegador -> ver código fuente el HTML que generastes .. tal vez por ahí aparezca algo de código de publicidad que insertan ese tipo de servicios de hosting gratuitos antes que lo que tu puedas generar desde PHP.

En esos casos, la solución (si es que tu proveedor mete algo de salida antes que tu ..) no puedes usar header() .. Si necesitas redireccionar tendrías que hacerlo vía javascript ó HTML con sus etiquetas "META" de refresh en lugar de header() desde PHP directo.

Usa también un exit; despues de cada header() de "location" como los que empleas .. Si no lo haces, PHP continua la ejecución del script hasta el final del mismo y por el camino pueden suceder muchas cosas como es tu caso (que ejecuta más código por la estructura y flujo de código que defines ..)

Un saludo,
  #4 (permalink)  
Antiguo 17/09/2004, 15:46
 
Fecha de Ingreso: julio-2004
Mensajes: 51
Antigüedad: 19 años, 9 meses
Puntos: 0
m podrias poner el codigo pa q no m d error esq no entiendo todo eso q m dices
  #5 (permalink)  
Antiguo 17/09/2004, 16:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No se trata de ponerte código . sino de que te asegures de todo lo que te he comentado referente a un espacio o un salto de línea antes del primer <? que tienes ahí en tu código de ejemplo.

Y también que mirese el código HTML que estás generando (en tu navegador) y mires si hay "algo más" que tu no has hecho (ejemplo: la publicidad del banner que veas; algo de HTML/javascript .. etc.)

Un saludo,

Un saludo,
  #6 (permalink)  
Antiguo 18/09/2004, 08:49
 
Fecha de Ingreso: julio-2004
Mensajes: 51
Antigüedad: 19 años, 9 meses
Puntos: 0
<SCRIPT LANGUAGE='javascript' src='http://miarroba.com/espacio/cabecera.php?fondo=000000&texto=7F7F7F&borde=3F3F3 F&enlace=FF0000&url=FFFFFF'></SCRIPT>
esto pone
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 11:05.