Autor
|
Tema: php - session_start , problemillas (Leído 2,545 veces)
|
Neibar
Desconectado
Mensajes: 47
|
<?php if($conectarbd){ if($conectar_tabla){ $comprueba=mysql_query("Select alias,mail,pass from usuarios where mail = '".$_POST['mail']."' && pass='".$_POST['pass']."'"); if($comprueba){ $nick = mysql_fetch_array(mysql_query("Select alias,mail,pass from usuarios where mail = '".$_POST['mail']."' && pass = '".$_POST['pass']."'")); $_SESSION['nick']= $nick[0]; if($_SESSION['nick']!= ""){ echo "<p> ".$nick[0]." </p>"; }else{ header("Location: ../index.html"); } } } } ?>
Alguien podria orientarme un poco con el tema de sesiones? Me he mirado el manual de php --> http://www.php.net/manual/es/features.sessions.phpPero siguiendo esos pasos, no se porque me salen errores: Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\xampp\htdocs\projecte\pag\content.php:153) in C:\xampp\htdocs\projecte\pag\content.php on line 154
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\projecte\pag\content.php:153) in C:\xampp\htdocs\projecte\pag\content.php on line 154
Si quito el session_start(); y session_destroy(); , funciona bien. Lo que pasa es que quiero privatizar esa pagina para que el que no esté registrado/autentificado no pueda verla.
|
|
|
En línea
|
|
|
|
JohnConnor
Desconectado
Mensajes: 16
Cyberdine Systems
|
la verdad no se por que no funciona, debe ser porque usas xampp, te recomiendo AppServ a menos que uses perl tambien. prueba con esto: <?php $mail="johnconnor"; $pass="123"; if($conectarbd){ if($conectar_tabla){ $comprueba=mysql_query("Select alias,mail,pass from usuarios where mail = '".$mail."' && pass='".$pass."'"); if($comprueba){ $_SESSION['nick']=$nick[0]; if($_SESSION['nick']!= ""){ echo "<p> ".$nick[0]." </p>"; }else{ header("Location: ../index.html"); } } } } ?>
CUIDADO CON LOS ATAQUES SQL! Saludos!
|
|
« Última modificación: 3 Mayo 2012, 17:26 pm por JohnConnor »
|
En línea
|
|
|
|
[u]nsigned
Desconectado
Mensajes: 2.397
JS/Node developer
|
El problema está claro, en algun lugar estas 'printando' algo, es decir enviando algo al documento html generado. Esto no se puede hacer antes de usar header("Location: ../index.html");
Puesto que una vez que printamos algo (por ejemplo echo 'hola') ya no se permite modificar la cabecera del documento con header(location...), por ejemplo el siguiente codigo: <?php echo "printando algo"; header("Location: http://www.google.com/"); ?>
Te da el siguiente warning ( y obviamente luego no redirije a www.google.com):printando algo Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\PoC.php:2) in C:\AppServ\www\PoC.php on line 3
|
|
|
En línea
|
No hay atajo ante la duda, el misterio se hace aquí... Se hace carne en cada uno, el misterio es existir!
|
|
|
Neibar
Desconectado
Mensajes: 47
|
la verdad no se por que no funciona, debe ser porque usas xampp, te recomiendo AppServ a menos que uses perl tambien. prueba con esto: <?php $mail="johnconnor"; $pass="123"; if($conectarbd){ if($conectar_tabla){ $comprueba=mysql_query("Select alias,mail,pass from usuarios where mail = '".$mail."' && pass='".$pass."'"); if($comprueba){ $_SESSION['nick']=$nick[0]; if($_SESSION['nick']!= ""){ echo "<p> ".$nick[0]." </p>"; }else{ header("Location: ../index.html"); } } } } ?>
CUIDADO CON LOS ATAQUES SQL! Saludos! si.. los ataques sql seran en breves mi siguiente ojeada xd gracias! El problema está claro, en algun lugar estas 'printando' algo, es decir enviando algo al documento html generado. Esto no se puede hacer antes de usar header("Location: ../index.html");
Puesto que una vez que printamos algo (por ejemplo echo 'hola') ya no se permite modificar la cabecera del documento con header(location...), por ejemplo el siguiente codigo: <?php echo "printando algo"; header("Location: http://www.google.com/"); ?>
Te da el siguiente warning ( y obviamente luego no redirije a www.google.com):aaaaaaaaamigo jaajajaja muchas gracias! Vaya error más tonto..
|
|
|
En línea
|
|
|
|
Neibar
Desconectado
Mensajes: 47
|
ya lo solucioné con javascript/php echo"<script language='javascript'>window.location='../index.php';</script>;";
gracias !
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
session_start(): Cannot send session cache limiter - headers already sent
PHP
|
Casidiablo
|
7
|
10,596
|
6 Noviembre 2007, 22:22 pm
por SirLanceCC
|
|
|
session_start() [php]
PHP
|
Ari Slash
|
2
|
3,706
|
17 Diciembre 2009, 21:29 pm
por Ari Slash
|
|
|
problemas con session_start() (CERRADO)
« 1 2 »
PHP
|
Zeroql
|
11
|
5,966
|
12 Junio 2011, 15:20 pm
por Zeroql
|
|
|
session_start(); Me cicla la pagina
Desarrollo Web
|
L0Ko
|
3
|
2,521
|
22 Mayo 2012, 23:11 pm
por [u]nsigned
|
|
|
Error con $session_start()
PHP
|
basickdagger
|
6
|
2,960
|
9 Marzo 2015, 13:36 pm
por Pablo Videla
|
|