SoloCodigo

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
  1. if (&#036;rbusa[sesion]==&#34;&#34;);{ //definir sesión y guardar datos
  2.  
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
Un placer ayudar...

PD:
Citar
la verdad me han ayudado mucho con su foro
Es "Nuestro foro", incluyéndote  ;)

Salud :beer: os