Programación Web y Scripting => PHP => Mensaje iniciado por: Adriana Olvera en Miércoles 1 de Agosto de 2007, 17:26
Título: Qué Significa Este Error?
Publicado por: Adriana Olvera en Miércoles 1 de Agosto de 2007, 17:26
Estoy provando mi pa´gina y me manda estos errores, me pueden explicar porque se generaron.
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /srv/www/desarrollo/examenes/examen.php:20) in /srv/www/desarrollo/examenes/examen.php on line 39
Warning: Cannot modify header information - headers already sent by (output started at /srv/www/desarrollo/examenes/examen.php:20) in /srv/www/desarrollo/examenes/examen.php on line 53
Título: Re: Qué Significa Este Error?
Publicado por: Mollense en Miércoles 1 de Agosto de 2007, 17:46
Claro. Un típico error. Borrá todo lo que esté antes de la etiqueta <?php, no puede haber ni siquiera un espacio en blanco. La linea session_start() debe ser la primera... Para mas iformación usa el buscador del foro.
Título: Re: Qué Significa Este Error?
Publicado por: Adriana Olvera en Miércoles 1 de Agosto de 2007, 22:13
Muchas gracias, ya lo arregle, pero ahora me esta mostrando este otro error en otra página:
Parse error: parse error, unexpected T_ELSE in /srv/www/desarrollo/examenes/evaluacion.php on line 51.
Título: Re: Qué Significa Este Error?
Publicado por: Mollense en Miércoles 1 de Agosto de 2007, 23:03
Bueno, habría que ver que hay en la línea 51. Mostranos tu código a ver que está pasando :)
Título: Re: Qué Significa Este Error?
Publicado por: LeGatoRojo en Miércoles 1 de Agosto de 2007, 23:15
lo mas seguro es que sea o una llave no cerrada, o el if no esta...
Título: Re: Qué Significa Este Error?
Publicado por: Mollense en Jueves 2 de Agosto de 2007, 00:01
Cita de: "Darktigerhell"
lo mas seguro es que sea o una llave no cerrada, o el if no esta...
Algo por el estilo. Un error de sintaxis...
Título: Re: Qué Significa Este Error?
Publicado por: Adriana Olvera en Jueves 2 de Agosto de 2007, 17:17
Hola. bueno pues este es mi codigo, ya le movi unas cosas pero me muestra el mismo error, haber si me pueden ayudar.
1<?php 2//coneccion con BD. 3include ('conexion.php'); 4//declarar variables 5$matricula=$_POST['matricula']; 6$contra=$_POST['contra']; 7//buscar alumnos en tabla 8$busalum=mysql_query ("SELECT * FROM alumnos WHERE matricula='$matricula'"); 9$rbusa=mysql_fetch_array($busalum); 10//checar que el alumno exista 11if ($rbusa[matricula]=="") 12 { 13 header ('location: alumnos.php?error=no_existe'); 14 } 15else 16 { //revisar contraseña 17 if ($contra!=$rbusa[password]) 18 { 19 header ("location: alumnos.php?error=password_incorrecta"); 20 } 21 else 22 { //entrada correcta 23 print ("Alumno:$rbusa[nombre]<br>"); 24 } 25 //crear y encriptar la sesión 26 $sesion=md5(date(YmdHis)); 27 //guardar sesion de alumno 28 $galumno=mysql_query ("UPDATE alumnos SET sesion='$sesion' WHERE matricula='$matricula'"); 29 } 30//buscar sesión en BD 31if ($rbusa[sesion]==""); 32 { //definir sesión y guardar datos 33 session_name ('iniAlumno'); 34 //iniciar sesión 35 session_start(); 36 $_SESSION['permiso']="si"; 37 $_SESSION['sesion_activa']="SI"; 38 //crear sesión 39 $sesion=session_id(); 40 //creación de fecha y hora 41 $fecha=date ("Y/m/d"); 42 $hora=date("H:i:s"); 43 //actualizar BD con hora y fecha 44 $a=mysql_query("UPDATE alumnos SET fecha='$fecha' WHERE matricula='$matricula'"); 45 $a=mysql_query("UPDATE alumnos SET hora='$hora' WHERE matricula='$matricula'"); 46 $a=mysql_query("UPDATE alumnos SET sesion='$sesion' WHERE matricula='$matricula'"); 47 //definir sesión de autorización al usuario 48 $_SESSION['alumno']=$matricula; 49 header ('location: alumnos.php'); 50 } 51 else 52 { //si las sesiones son distintas, comparar tiempos 53 $dia_db=substr($rbusa[fecha],8,9); 54 $mes_db=substr($rbusa[fecha],5,-3); 55 $anio_db=substr($rbusa[fecha],0,4); 56 $hora_db=substr($rbusa[hora],3,-3); 57 //generar fecha actual 58 $dia_act=date('d'); 59 $mes_act=date('m'); 60 $anio_act=date('Y'); 61 $hora_act=date('H'); 62 $minutos_act=date('i'); 63 //resta para checar diferencia de tiempos. 64 $dateDiff=mktime($hora_act,$minutos_act,0,$mes_act,$dia_act,$anio_act)- mktime($hora_db,$minutos_db,0,$mes_db,$dia_db,$anio_db); 65 66 $anios_dif=floor ($dateDiff/365/60/60/24); 67 $meses_dif=floor ($dateDiff/60/60/24/7/4); 68 $semanas_dif=floor ($dateDiff/60/60/24/7); 69 $dias_dif=floor ($dateDiff/60/60/24); 70 $horas_dif=floor ($dateDiff/60/60); 71 $minutos_dif=floor ($dateDiff/60); 72 //si la sesion es menor al tiempo especificado hay que esperar 73 if ($anios_dif==0&&$meses_dif==0&&$semanas_dif==0&&$dias_dif==0&&$horas_dif==0&&$minutos<=10) 74 { 75 //header ("location: Index.php?error=espere"); 76 } 77 //si la sesión tiene más de 10 minutos inactiva puede ingresar 78 else 79 { 80 //definir sesión y guardar datos 81 session_name("iniAlumno"); 82 //session_start(); 83 $_SESSION['permiso']="si"; 84 $_SESSION['sesion_activa']="si"; 85 $sesion=session_id(); 86 $fecha=date('Y/m/d'); 87 $hora=date('H:i:s'); 88 $a=mysql_query("UPDATE alumnos SET fecha='$fecha' WHERE matricula='$matricula'"); 89 $a=mysql_query("UPDATE alumnos SET hora='$hora' WHERE matricula='$matricula'"); 90 $a=mysql_query("UPDATE alumnos SET sesion='$sesion' WHERE matricula='$matricula'"); 91 $_SESSION['alumno']=$matricula; 92 //header ('location: usuarios.php'); 93 } 94 } 95 //$matricula=$_POST[matricula]; 96print ("Matrícula: $_POST[matricula]<br>"); 97?>
Título: Re: Qué Significa Este Error?
Publicado por: Mollense en Jueves 2 de Agosto de 2007, 18:14
Hola Adriana. Mirá. En esta línea:
Código: Text
if ($rbusa[sesion]=="");{ //definir sesión y guardar datos
El punto y coma no va. Borralo y listo.
Un saludo :hola:
Título: Re: Qué Significa Este Error?
Publicado por: Adriana Olvera en Jueves 2 de Agosto de 2007, 18:54
Hola Angel, oye muchisimas gracias :) , no había notado ese ; en el if, :whistling: ando grave pero ya rifo mi página :kicking: , si supiera donde vives te invitaría a mi titulación, la verdad me han ayudado mucho con su foro, suerte en lo que hagas y hasta luego. :hola: Y gracias.
Título: Re: Qué Significa Este Error?
Publicado por: Mollense en Jueves 2 de Agosto de 2007, 19:02