Fallo en PHP con sistema de usuarios

aLYuRBeiS

El otro dia con ayuda de un amigo hice un script de usuarios en PHP y SQL el cual rulaba bien

Ahora al ir adaptandolo al diseño de una web ( un poco malo el diseño por cierto ya que solo es para probar ) me da error el meter un user y pass.

Cuando meto user y pass que no estan en la BDD no me falla pero si meto el user y pass que estan en la BDD me sale esto


Warning: Cannot add header information - headers already sent by (output started at c:\appserv\www\miweb\includes\config.php:25) in c:\appserv\www\miweb\login.php on line 9

Warning: Cannot add header information - headers already sent by (output started at c:\appserv\www\miweb\includes\config.php:25) in c:\appserv\www\miweb\login.php on line 10

Alguien podria ayudarme?

Las lineas 9 y 10 son:


setcookie("alyurbeisweb",$userN,time()+7776000);
header("Location: index.php");

_BoJa_69

Nidea alyur :(
Le doy vidilla al post a ver si te lo arreglan.

Suerte con php-designs :)

Mav

Creo recordar (aunque no me acuerdo bien) que el header() solo se puede usar si antes no le has enviado nada al cliente.

Puedes intentar:
echo "<script>document.location.replace('listado_fichero.php');</script>";

No es muy elegante, pero bueno...

BlasterN

La cosa es muy sencilla. Has mandado texto por pantalla y luego mandas las cookies.
Por eso te dice "no se añadir informacion a la cabecera - la cabecera ya ha sido enviada.

Lo que debes hacer (si puedes) es quitar todo el texto que se fuera a ver antes de ejecutar esa linea.
Otra forma es en el PHP.ini desactivar los errores ( display_errors = Off ). O activar:
output_buffering = 4096 <-- si es un numero desactivado
output_buffering = On <-- activado este sería el modo

Suerte...

mkarra

con que mandes algo por pantalla, aunque sea un espacio te fallara, las cookies las tienes que mandar antes de mostrar nada por pantalla.

Abreu

Tu config.php imprime caracteres y despues intentas que el login.php redireccione al visitante, eso es imposible.

BlisZ

si va por sesiones arriba del todo pon esto:
< ? session_start(); ? >

me pasó a mi
si va por cookies no se como es

aLeX

Esas lineas has de ponerlas antes del código html de la web. Vamos, con ponerlas antes del <head> debería funcionar.

Usuarios habituales

  • aLeX
  • BlisZ
  • Abreu
  • mkarra
  • BlasterN
  • _BoJa_69
  • aLYuRBeiS