Foros del Web » Programando para Internet » PHP »

otra vez problemas con header y undefine index :(

Estas en el tema de otra vez problemas con header y undefine index :( en el foro de PHP en Foros del Web. Buenas, pués he pasado mi aplicación a otro servidor, y ahora estoy teniendo muchos problemas por culpa de las sesiones y los headers y tal... ...
  #1 (permalink)  
Antiguo 31/05/2007, 18:33
 
Fecha de Ingreso: mayo-2007
Mensajes: 237
Antigüedad: 17 años
Puntos: 3
otra vez problemas con header y undefine index :(

Buenas, pués he pasado mi aplicación a otro servidor, y ahora estoy teniendo muchos problemas por culpa de las sesiones y los headers y tal... En el equipo que lo tengo me funciona todo perfecto, pero en este nuevo no...

Teniendo por ejemplo páginas como esta de abajo, si la abrimos directamente sin pasar por el "comprueba", nos llevaría a la página error.php pero el navegador me devuelvo esto, y pasa con todas las páginas con sesiones...

Si entro identificandome pués no tengo dichos problemas, y como dije antes en el equipo "origen" funciona todo perfecto, que puede ser?

Notice: Undefined index: ok in c:\easyphp1-8\www\privad\menuadmin.php on line 4

Warning: Cannot modify header information - headers already sent by (output started at c:\easyphp1-8\www\privad\menuadmin.php:4) in c:\easyphp1-8\www\privad\menuadmin.php on line 6

Código PHP:
<?
session_start
();

if(
$_SESSION['ok'] != 'correcto')
{
header("location: error.php");
}
else 
{
?>
<center>
  <strong>Vd se ha identificado como administrador</strong>
</center>
<p align="center"><strong>Desde aqu&iacute; puedes hacer las siguientes operaciones </strong></p>
<p align="center">&nbsp;</p>
<table width="100%" border="0">
  <tr>
    <td width="34%"><ul>
      <li><em><strong>Noticias</strong></em>
        <ul>
          <li><a href="noticias/altanot.php">Dar de alta una noticia</a></li>
          <li><a href="noticias/bajanot.php">Dar de baja una noticia</a></li>
          <li><a href="noticias/modifnot.php">Modificar una noticia</a></li>
          <li><a href="noticias/consunot.php">Consultar una noticia </a></li>
        </ul>
      </li>
    </ul></td>
    <td width="33%"><ul>
        <li><em><strong>Usuarios / Clientes</strong></em>      
          <ul>
            <li><a href="clientes/altaclie.php">Dar de alta clientes</a></li>
            <li><a href="clientes/bajaclie.php">Dar de baja clientes</a></li>
            <li><a href="clientes/modifclie.php">Modificar clientes</a></li>
            <li><a href="clientes/consulclie.php">Consultar clientes </a></li>
          </ul>
        </li>
    </ul></td>
    <td width="33%"><ul>
      <li><strong>Usuarios / Administradores
        </strong>
        <ul>
          <li><a href="admin/altaadmin.php">Dar de alta administrador  </a></li>
          <li><a href="admin/bajaadmin.php">Dar de baja administrador</a></li>
          <li><a href="admin/modifiadmin.php">Modificar administrador</a></li>
          <li><a href="admin/consuladmin.php">Consultar administrador  </a></li>
        </ul>
      </li>
    </ul></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td><p>&nbsp;</p>
    </td>
  </tr>
  <tr>
    <td><ul>
      <li><strong><em>Servicios</em></strong>
        <ul>
          <li><a href="servicios/altaserv.php">Dar de alta un servicio</a></li>
          <li><a href="servicios/bajaserv.php">Dar de baja un servicio</a></li>
          <li><a href="servicios/modifserv.php">Modificar un servicio</a></li>
          <li><a href="servicios/consulserv.php">Consultar un servicio    </a></li>
        </ul>
      </li>
    </ul></td>
    <td><ul>
      <li><strong><em>Sub_Servicios</em></strong>
        <ul>
          <li><a href="sub_servicios/altasub.php">Dar de alta  sub_servicios</a></li>
          <li><a href="sub_servicios/bajasub.php">Dar de baja sub_servicios</a></li>
          <li><a href="sub_servicios/modifisub.php">Modificar  sub_servicios</a></li>
          <li><a href="sub_servicios/consulsub.php">Consultar  sub_servicios  </a></li>
        </ul>
      </li>
    </ul></td>
    <td><ul>
      <li><em><strong>Pedidos</strong></em>
        <ul>
          <li>&lt;vacio&gt;</li>
          <li><a href="contrata/bajapedido.php">Dar de baja pedidos </a></li>
          <li>&lt;vacio&gt;</li>
          <li><a href="contrata/consulpedido.php">Consultar pedidos </a></li>
        </ul>
      </li>
    </ul></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><ul>
      <li><em><strong><a href="logout.php">  Cerrar sesi&oacute;n</a></strong></em></li>
    </ul></td>
    <td>&nbsp;</td>
  </tr>
</table>
<p align="center">&nbsp;</p>
<? ?>
  #2 (permalink)  
Antiguo 01/06/2007, 00:28
Avatar de oso96_2000  
Fecha de Ingreso: junio-2002
Ubicación: Distrito Federal
Mensajes: 558
Antigüedad: 21 años, 10 meses
Puntos: 35
Re: otra vez problemas con header y undefine index :(

Código PHP:
if (!isset($_SESSION['ok']) || $_SESSION['ok'] != "correcto") {
header("Location: error.php");
}else{
//..

Justo hace un momento contestaba en otro post lo malo de no comprobar bien las variables .. en este caso, primero hay que comprobar si existe la variable de sesion, si no existe, ya ni hacemos la segunda comprobacion. Si existe, entonces ya podemos comprobar que su valor sea el que tu quieres que sea.

Ahora, con esta correccion, ya no te mostrara el undefined index.. y con eso, supongo que tampoco saldra el headers already sent.

Saludos.
__________________
Sin Ideas
  #3 (permalink)  
Antiguo 01/06/2007, 02:29
 
Fecha de Ingreso: mayo-2006
Mensajes: 10
Antigüedad: 18 años
Puntos: 0
Re: otra vez problemas con header y undefine index :(

Puedes mirar las diferencias de configuracion de php en el php.ini de cada servidor y luego investigar las opciones relevantes que sean diferentes. Es habitual que haya este tipo de problemas al migrar de un servidor a otro.
Saludos.
  #4 (permalink)  
Antiguo 01/06/2007, 04:49
 
Fecha de Ingreso: mayo-2007
Mensajes: 237
Antigüedad: 17 años
Puntos: 3
Re: otra vez problemas con header y undefine index :(

Cita:
Iniciado por Archer Ver Mensaje
Puedes mirar las diferencias de configuracion de php en el php.ini de cada servidor y luego investigar las opciones relevantes que sean diferentes. Es habitual que haya este tipo de problemas al migrar de un servidor a otro.
Saludos.
Teniendo en cuenta que:
- En ambos está instalado el easyphp
- Porté todos los archivos del easyphp del servidor buena al nuevo asi que... no lo entiendo en absoluto

De todas formas probaré lo que dice el compañero de arriba y ahora os cuento. Saludos

Lo digo porque con la configuración del primer server y co la página que he pegado no he tenido ningun problema...

En el nuevo servidor de hecho también me daba errores de header por tener un espacio en blanco arriba antes del ?> y en el servidor bueno no me daba ese problema...

Otra cosa curiosa es que tengo un título con una letra "extraña" y en mi equipo la veo bien, pero en el otro se ve time new normal... Es todo extrañisimo
  #5 (permalink)  
Antiguo 01/06/2007, 05:18
Avatar de oso96_2000  
Fecha de Ingreso: junio-2002
Ubicación: Distrito Federal
Mensajes: 558
Antigüedad: 21 años, 10 meses
Puntos: 35
Re: otra vez problemas con header y undefine index :(

Cita:
En el nuevo servidor de hecho también me daba errores de header por tener un espacio en blanco arriba antes del ?> y en el servidor bueno no me daba ese problema...
Dejame decirte que entonces el servidor bueno es el nuevo.. xD.. espacios en blanco antes de un header(), si que da el error de headers already sent.. para mi lo que esta cambiado es el error_reporting del php.ini

Lo de la letra, es pq si lo ves en una pc que no tiene la fuente que usas, usara alguna otra por defecto.
__________________
Sin Ideas
  #6 (permalink)  
Antiguo 01/06/2007, 06:45
 
Fecha de Ingreso: mayo-2007
Mensajes: 237
Antigüedad: 17 años
Puntos: 3
Re: otra vez problemas con header y undefine index :(

Cita:
Iniciado por oso96_2000 Ver Mensaje
Dejame decirte que entonces el servidor bueno es el nuevo.. xD.. espacios en blanco antes de un header(), si que da el error de headers already sent.. para mi lo que esta cambiado es el error_reporting del php.ini

Lo de la letra, es pq si lo ves en una pc que no tiene la fuente que usas, usara alguna otra por defecto.
¿Entonces? que puedo hacer? porque el header en el ejemplo que os he puesto arriba no tiene espacios...
  #7 (permalink)  
Antiguo 01/06/2007, 07:13
Avatar de oso96_2000  
Fecha de Ingreso: junio-2002
Ubicación: Distrito Federal
Mensajes: 558
Antigüedad: 21 años, 10 meses
Puntos: 35
Re: otra vez problemas con header y undefine index :(

El header de arriba es por el notice del undefined index que suelta antes.. el notice genera una salida al navegador que es la que provoca el warning del header. Corrige el notice ese, y deberia dejar de salir el error del header.. ya probaste cambiar el if por el que te puse yo?
__________________
Sin Ideas
  #8 (permalink)  
Antiguo 01/06/2007, 08:56
 
Fecha de Ingreso: mayo-2007
Mensajes: 237
Antigüedad: 17 años
Puntos: 3
Re: otra vez problemas con header y undefine index :(

Cita:
Iniciado por oso96_2000 Ver Mensaje
El header de arriba es por el notice del undefined index que suelta antes.. el notice genera una salida al navegador que es la que provoca el warning del header. Corrige el notice ese, y deberia dejar de salir el error del header.. ya probaste cambiar el if por el que te puse yo?
Si, como me ha dicho, funciona perfectamente. Gracias

Pero la cuestión es: ¿porque como yo lo pongo funciona perfectamente en el foro antiguo y en el nuevo no?

PD: por lo menos funciona este método en los dos :)
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 11:25.