Foros del Web » Programando para Internet » PHP »

Me voy a matar! dios! =( odio los headers!!

Estas en el tema de Me voy a matar! dios! =( odio los headers!! en el foro de PHP en Foros del Web. DIOSS MIO ESOTY ASTIADOOO!! DE ESTOS MALDIT0S headers!! y.y y.y y.y !! derrepnete funcionan derrepente no!! mier..!! e probado de todoo!! si hay codigo html ...
  #1 (permalink)  
Antiguo 12/03/2010, 12:22
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 16 años
Puntos: 8
Me voy a matar! dios! =( odio los headers!!

DIOSS MIO ESOTY ASTIADOOO!! DE ESTOS MALDIT0S headers!! y.y y.y y.y !!


derrepnete funcionan derrepente no!! mier..!!

e probado de todoo!!

si hay codigo html arriba del script php que tiene el header's no vaa funcionar entoncs lo tengo q colocar debajo..! muy bein!

tambien est ala opcion de ob_star() y ob_end_flush(); que segun lo tanto que e leido.. si lo colocas enel codigo php.. al principio y al final.. entonces podras poner tu codigo html tranquilamente del lado de arriba...!!!

Mi peo es que ! ok e puesto el ob_star()......... y el html arriba... y

hay veces que si me funcionaa!! y veces que nooo!!! :S silo pngo abajo no me sirve por q tengo una funcion en java script! que redirecciona...

entoncs el codigo de php dice: si se ahace tal cosa.. manda a java mandar un msj y luego funcion() y funcion() redirecciona con windon.location= blablabla ---


entoncs si coloco el codigo html abajo.. no em agarra... :S

y no puedo quitra los header..lso header comprueba si la seccion se inicio.. y si no lo manda a acceso.html .. -.-

aqui el codigo para qlo entiendan mejor.. !
Código PHP:
<head>
<meta http-equiv="Content-Language" content="es">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Invertir</title>
<script language="JavaScript"> 
<!-- 
var nav4 = window.Event ? true : false; 
function acceptNum(evt){  
// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57  
var key = nav4 ? evt.which : evt.keyCode;  
return (key <= 13 || (key >= 48 && key <= 57)); 

//--> 
</script>

<script type="text/javascript"> 
function redireccionar(){ 
  window.location="misinversiones.php"; 

</script> 
</head>

<body bgcolor="#C0C0C0">
<script>
function cambio(object, colores){
object.style.background=colores}
</script>

<form method="POST" action="invertir.php">
    <p align="center">
    <u><b>Hacer Inversion.</b></u></p>
    <table border="0" width="100%" id="table1">
        <tr>
            <td width="182"><font color="#FF0000">Tu Código de Seguridad</font></td>
            <td>
            <input type="text" onfocus="cambio(this,'#ffffff')" name="codigo" size="15" style="color: #000000; background-color: #CCCCCC"></td>
        </tr>
        <tr>
            <td width="182">Monto a invertir</td>
            <td>
            <input type="text" onfocus="cambio(this,'#ffffff')" name="monto" size="15" style="color: #000000; background-color: #CCCCCC"></td>
        </tr>
        <tr>
            <td width="182">Plazo</td>
            <td><SELECT name="plazo" size="1">
                <OPTION value="30" selected>30 dias</OPTION>
                <OPTION value="60">60 dias</OPTION>
                <OPTION value="90">90 dias</OPTION>
                <OPTION value="120">120 dias</OPTION>
                </SELECT></td>
        </tr>
        <tr>
            <td width="182">Renovación Automática por: </td>
            <td><SELECT name="renovacion" size="1">
                <OPTION value="0" selected>0</OPTION>
                <OPTION value="1">1 vez</OPTION>
                <OPTION value="2">2 veces</OPTION>
                <OPTION value="3">3 veces</OPTION>
                </SELECT></td>
        </tr>
    </table>
    <p><input type="submit" value="Invertir" name="B1"></p>
</form>

</body>
<?ob_start();
session_start();
include (
'../seg/conexion.php');
if(!isset(
$_SESSION['s_nombre']))header("location: acceso.php");
// Preguntaremos si se han enviado ya las variables necesarias
if (isset($_POST["codigo"])) {
$nombre$_SESSION["s_nombre"]; 
$sc $_POST["codigo"];
$plazo $_POST["plazo"];
$monto $_POST["monto"];
$renovable $_POST["renovacion"];
$mail2 "[email protected]";
$fecha=time();

$consulta=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
    
$lado=mysql_num_rows ($consulta);
while(
$row=mysql_fetch_array($consulta)){
$disponible=$row["disponible"];
}

$consulta3=mysql_query("SELECT email FROM usuarios WHERE nombre='$nombre'");
    
$lado3=mysql_num_rows ($consulta3);
while(
$row=mysql_fetch_array($consulta3)){
$para2=$row["email"];
}
$ganancia = (($monto*50)/100);
// Hay campos en blanco
if(empty($monto) | empty($sc)) {
echo 
"<center>Ingrese todos los campos.</center>";
}else{
$query mysql_query("SELECT sc FROM usuarios WHERE nombre = '$nombre'") or die(mysql_error());
$data mysql_fetch_array($query);
if(
$data['sc'] != $sc) {
echo 
"<center>Codigo de Seguridad Incorrecto<center>";
}else{
if(
$disponible<$monto) {
echo 
"<center>No posees Suficiente Gold Disponible en tu cuenta<center>";
}else{
// Comprobamos si el nombre de usuario o la cuenta de correo ya existían
$header 'From: ' $mail2 " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje "Hola " $nombre " has invertido en nuestro banco. \r\n";
$mensaje .="\r\n";
$mensaje .= " Por un monto de " $monto "  Gold\r\n";
$mensaje .="\r\n";
$mensaje .= "Fecha de la Inversion  ".$fecha." \r\n";
$mensaje .="\r\n";
$mensaje .= "A un plazo de   ".$plazo." \r\n";
$mensaje .="\r\n";
$mensaje .= "Renovacion Automatica  ".$renovacion." \r\n";
$mensaje .="\r\n";
$mensaje .= "Puedes Revisar esta inversion en 'Mis inversiones' en tu panel de usuario \r\n";
$mensaje .= "Gracias por usar Banco de Comercio";
$asunto 'Has realizado una Inversion';

mail($para$asuntoutf8_decode($mensaje), $header); 

$mensaje2 "El Usuario " $nombre " a Realizado una inversion.\r\n";
$mensaje2 .="\r\n";
$mensaje .= " Por un monto de " $monto "  Gold\r\n";
$mensaje .="\r\n";
$mensaje .= "Fecha de la Inversion  ".$fecha." \r\n";
$mensaje .="\r\n";
$mensaje .= "A un plazo de   ".$plazo." \r\n";
$mensaje .="\r\n";
$mensaje .= "Renovacion Automatica  ".$renovacion." \r\n";
$mensaje2 .="\r\n";

$asunto2 'Nueva Inversion';
$para "[email protected]";

mail($para$asunto2utf8_decode($mensaje2), $header);
 
$query "INSERT INTO inversiones (nombre, invertido, dia, plazo, ganancia, renovable, fechaini) VALUES('$nombre','$monto','$plazo','$plazo','$ganancia','$renovable','$fecha')";
    
mysql_query($query) or die(mysql_error());
 
$query "UPDATE usuarios SET disponible = disponible-$monto WHERE nombre='$nombre'"
mysql_query($query) or die(mysql_error());
echo 
"<script type=\"text/javascript\">alert(\"Inversion Realizada Con Existo, podra ver  sus inverciones en el menu 'mis inversiones'.\"); redireccionar(); </script>";
}
}
}
}
ob_end_flush();
?>

El error que m da es este!!

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\banco\es\invertir.php:66) in C:\AppServ\www\banco\es\invertir.php on line 67
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..

Última edición por JoseGMariani; 12/03/2010 a las 12:25 Razón: no habia colocado el error
  #2 (permalink)  
Antiguo 12/03/2010, 12:50
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 6 meses
Puntos: 88
Respuesta: Me voy a matar! dios! =( odio los headers!!

no puedes hacer ninguna impresion en pantalla antes de realizar el header, es decir, nu poedes usar el echo, print, etc.

tu solución puede ser el ob_start() al comienzo de la pág. y el ob_end_flush(); al final.

suerte.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #3 (permalink)  
Antiguo 12/03/2010, 12:52
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 16 años
Puntos: 8
Respuesta: Me voy a matar! dios! =( odio los headers!!

ya esoo estaa!! -.- ! hay esta el codigo no ves q ya esta puesto.. -.-U!
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #4 (permalink)  
Antiguo 12/03/2010, 12:55
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 2 meses
Puntos: 334
Respuesta: Me voy a matar! dios! =( odio los headers!!

Cita:
ya esoo estaa!! -.- ! hay esta el codigo no ves q ya esta puesto.. -.-U!
esa no es forma de contestar a alguien que intenta ayudarte.. aparte de tener razon, ya que tienes salidas en html el se refiere al inicio del documento.. antes de todo

<?php ob_start(); ?>

y luego haces todo lo demas
__________________
More about me...
~ @rhyudek1
~ Github
  #5 (permalink)  
Antiguo 12/03/2010, 13:04
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 16 años
Puntos: 8
Respuesta: Me voy a matar! dios! =( odio los headers!!

Cita:
Iniciado por Hidek1 Ver Mensaje
esa no es forma de contestar a alguien que intenta ayudarte.. aparte de tener razon, ya que tienes salidas en html el se refiere al inicio del documento.. antes de todo

<?php ob_start(); ?>

y luego haces todo lo demas
si es verdad.. disculpen.. :S casi nunk soy asi! :S pero es que me tiene muy mal esto llevo deslas 8 d ela mañan y ayer funcionabaa! !! =(!!!!!!!! lo peor es que yo l doy varias veces al link! y entoncs hy si me agarra! osea en una de mis braburas..!

le di millones de veces clik hasta que pum desaparecio el error!! noc q pasara! de verdad!!!!!!!!!!!!

=( voya intentar lo de ponrlo al principo de todo..

y cabe decir q es una pagina de marcos? eso no tiene nada q ver verdad.?
es una pagina con marco izquierdo y derecho..

el menu se encuentra en el lado izq..
dicho menu hace un seccion star para imprimir unas variables del usuario y en es emenu estan lso link q se habren en el lado derecho .. las paginas d elos link tambien hacen seccion star para agarrar el nombre del usuario y hacer las consultas... los headers los tengo para comprobar q se a hecho seccion.. si cacha pero es q ese error puede salir por los headers y por lo de l a seccion..


pero como te dije antes.. LE doy millones de veces click y funciona!! (no me sale error) luego al rato vuelve a fallar!! :S
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #6 (permalink)  
Antiguo 12/03/2010, 13:13
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años, 8 meses
Puntos: 16
Respuesta: Me voy a matar! dios! =( odio los headers!!

Cita:
Iniciado por JoseGMariani Ver Mensaje
ya esoo estaa!! -.- ! hay esta el codigo no ves q ya esta puesto.. -.-U!
si pero estas imprimiendo codigo, no con php pero si con html, que no uses echo print antes de <?php ob_start(); ?> no significa que al hacer <html> no estes enviando las cabeceras, por favor ants de contestar a un usuario lee lo que te escribe y ante todo el respeto porque asi te ha contestado el
  #7 (permalink)  
Antiguo 12/03/2010, 13:17
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 6 meses
Puntos: 88
Respuesta: Me voy a matar! dios! =( odio los headers!!

cierto yo he estado como tu, pero no he contestado de esa madera, pero no vamos entrar en discución, te entiendo, pero estate mas sereno, de lo contrario, terminarás por alejar la ayuda.

te explico, el ob_start debe de estar en la linea 1 del documento, para indicarle al server que el documento no sera enviado, es decir, se almacenará en cache, de esta forma se podrán modificar los headers, y al final del documento el ob_end_flush() para liberar la página,
si no lo haces de esa forma todo el html que este arriba del ob_start() es enviado al navegador y entre ellos estan los <head> que son los que controla el header y una vez que son enviados pasan a ser parte del cliente y no del server, por esta razón ya no los puede modificar.

suerte.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #8 (permalink)  
Antiguo 12/03/2010, 13:37
 
Fecha de Ingreso: marzo-2010
Ubicación: Lima, Perú
Mensajes: 136
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Me voy a matar! dios! =( odio los headers!!

no se si es una mala apreciación, pero en:
C:\AppServ\www\banco\es\invertir.php:66
veo: <?ob_start();

no debería haber un espacio entre <? y ob_start(); ???

digo yo..
  #9 (permalink)  
Antiguo 12/03/2010, 14:00
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 16 años
Puntos: 8
Respuesta: Me voy a matar! dios! =( odio los headers!!

eso estaba asi antes.. ala final no hacia ninguna diferencia.. lo volvia pner como dices.. le e dado mil vueltass! puc session star al principiooo de todoo como me dijeron.. y nadaaa aun sigue apareciendo.. ! :S la cosa es q si me imprime las variabless pero aparece ese error! -.-! y osea derrepente todo esta bien!! y le doy le doy osea voy pisando los diferente slink q es exactamente lo mismo pero en ves de ser en la tabla inversiones es en la tabla retiros.. por ejemplo.. y luego le vuelvo a dar y dar y pumm me sale el error.. :S osea noc si es q se sobre carga o algo pero es q para eso le estoy poniendo los "ob_.... " la verdad que noc q podra serr!! =( este tema de las seccion nunk se termina de aclarar .. nadie sabe realmente con sertesacomo se solucionan.. =( infinidades de post que le a pasaod y la verdad noccc q puede ser!! =S dioss e intentado de todoo! mas vueltas q e dado! :S
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #10 (permalink)  
Antiguo 12/03/2010, 15:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Me voy a matar! dios! =( odio los headers!!

Si te fijas el mismo error te lo dice:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\banco\es\invertir.php:66) in C:\AppServ\www\banco\es\invertir.php on line 67

Te dice que tu salida empezo en invertir.php en la linea 66, revisa que tienes en esa linea y quita la salida de texto.

Saludos.
  #11 (permalink)  
Antiguo 13/03/2010, 09:29
 
Fecha de Ingreso: marzo-2010
Ubicación: Lima, Perú
Mensajes: 136
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Me voy a matar! dios! =( odio los headers!!

Cita:
Iniciado por dantrix Ver Mensaje
no se si es una mala apreciación, pero en:
C:\AppServ\www\banco\es\invertir.php:66
veo: <?ob_start();

no debería haber un espacio entre <? y ob_start(); ???

digo yo..
Esta es tu linea 66 porsiacaso

Etiquetas: matar, header
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 06:35.