Título: Problema con php Condicion de session Publicado por: alexkof158 en 25 Noviembre 2009, 22:49 pm hopla a todos, lo
lo que pasa es que quiero comparar q si el nombre de usuario == admin entonces que me muestre la pagina de admin, y si el nombre de usuario es == secretaria me muestre otra pagina. ahora estoy utilizando este codigo para leer el nombre de la sesion asi: Código: <?php Parse error: syntax error, unexpected '=', expecting ',' or ')' in C:\wamp\www\tallerphp\validar_sesion.php on line 6 Gracias y espero prontas soluciones Título: Re: Problema con php Condicion de session Publicado por: Freeze. en 25 Noviembre 2009, 23:06 pm No puedes agregar un valor a $_SESSION..
estas tratando de hacer 2 comprobaciones al mismo tiempo. Primero fijate si la variable k_username está "seteada" con la función isset y luego si miras si tiene tal o cual valor. Código
Título: Re: Problema con php Condicion de session Publicado por: cassiani en 25 Noviembre 2009, 23:21 pm cabe acotar que el caracter '=' se uriliza solo para asignación y para condición un doble '=='.
Título: Re: Problema con php Condicion de session Publicado por: Freeze. en 25 Noviembre 2009, 23:25 pm Muy cierto ;)
Corrigiendo.. Título: Re: Problema con php Condicion de session Publicado por: alexkof158 en 26 Noviembre 2009, 05:10 am No puedes agregar un valor a $_SESSION.. seteads?? :huh: :huh: :huh: :huh:estas tratando de hacer 2 comprobaciones al mismo tiempo. Primero fijate si la variable k_username está "seteada" con la función isset y luego si miras si tiene tal o cual valor. Código
te refieres a esto Código: <?php graciass Título: Re: Problema con php Condicion de session Publicado por: cassiani en 26 Noviembre 2009, 05:52 am lo que quiere decir es que primero haces una comparación y luego la otra y no como lo tenias.
Título: Re: Problema con php Condicion de session Publicado por: alexkof158 en 26 Noviembre 2009, 07:18 am lo que quiere decir es que primero haces una comparación y luego la otra y no como lo tenias. vale listo, la condicion se efectua pero no redirecciona a la pagina de inicio creo que es porke no crea la session, la pagina de inicio le hago un include_once("validar_sesion.php"); para que incluya a esta para que se pueda ver si esta la session creada, pero al parecer aun no esta creada... que hago mal?? :huh:que estoy haciendo mal?? Título: Re: Problema con php Condicion de session Publicado por: [u]nsigned en 26 Noviembre 2009, 17:17 pm Respondo apurado porque estoy en el trabajo... ;)
Esta línea está mal: Código Debería ser: Código Si alguien pusiera como user algo como ' OR 1=1' conseguiria acceso sin epecificar una contraseña (SQL Injection). Código
1. session_start() debe usarse UNA SOLA VEZ, y debe ser la primera sentencia del script. 2. No podes usar header() si ya has mostrado algo en la pagina, es decir no podes usar un echo o printf antes de header. Saludos Título: Re: Problema con php Condicion de session Publicado por: Castg! en 26 Noviembre 2009, 18:09 pm yo tengo un porblema asi, lo que pasa es que no me setea la variable session, cuando llego a mi casa, (toy en el cole) subo el code que lo tengo enlocal host
Título: Re: Problema con php Condicion de session Publicado por: [u]nsigned en 26 Noviembre 2009, 18:52 pm Mira, si queres usar sesiones, y algun script externo que trabaje sobre estas (llamdo con include_once, include, requiere...)tenes que usar session_start(); dentro del script principal. Esta sentencia solo debe aparecer una vez, y solo en el script principal (no en los que se llamen mediante include o el metodo que sea..)
Por ejemplo supongamos que el script principal sea sesion.php, y tenemos un script llamdo sesion_check.php que tiene una rutina que comprueba la variable $_SESSION, es decir, que controla si esta definida, quevalor tiene, etc..un ejemplo sencillo de ambos script seria el siguiente: sesion.php Código
Y el script sesion_check.php seria este: Código
En este segundo (que usara como 'externo') no uso session_start(); ya que lo debo usar en el script principal(sesion.php). En el script principal session_start(); debe solo usarse una vez, y de ser posible debe ser la primera linea, o el interprete de PHP nos dara un Warning: Código
Citar xD Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\test\sesion.php:2) in C:\AppServ\www\test\sesion.php on line 3 A continuacion usare un script externo para trabajar con $_SESSION $_SESSION['nombre']: UNSIGNED Espero haber aclarado algunas dudas.. Saludos Título: Re: Problema con php Condicion de session Publicado por: Castg! en 27 Noviembre 2009, 01:35 am mejor hago un nuevo tema para no romper las reglas xD! http://foro.elhacker.net/php/problema_con_session-t275965.0.html (http://foro.elhacker.net/php/problema_con_session-t275965.0.html)
Título: Re: Problema con php Condicion de session Publicado por: alexkof158 en 27 Noviembre 2009, 08:00 am gracias todo solucionado, pero el
header("location: inicio.php"); este me pone problemas el navegador me dice q rechaza las conexiones.. Título: Re: Problema con php Condicion de session Publicado por: Castg! en 27 Noviembre 2009, 17:28 pm el problema es que ya imprimiste datos en pantalla, asi no podes poner un header, tenes que ponerlo alprincipio del codigo, pero no imprimirias nada, asi que imprimi y en vez de pone header ponelo en html con un "<META REFRESH
Título: Re: Problema con php Condicion de session Publicado por: [u]nsigned en 27 Noviembre 2009, 18:34 pm el problema es que ya imprimiste datos en pantalla, asi no podes poner un header, tenes que ponerlo alprincipio del codigo, pero no imprimirias nada, asi que imprimi y en vez de pone header ponelo en html con un "<META REFRESH No es necesario que header() este al princio (eso es para session_start() para evitar Warnings), pero no podes printar nada en l aweb antes de usar un header(). Si tu codigo necesita usar un header en determinados lugares, lo que te recomiendo hacer es que no imprimas nada a vuelo, sino que gaurdes todo lo que quieras mostrar en tu web en una variable, y asi podes usar header("Location: loquesea.php") donde quieras, y por ultimo pasas a imprimir la variable. saludos Título: Re: Problema con php Condicion de session(Solucionado) Publicado por: alexkof158 en 27 Noviembre 2009, 21:29 pm el problema es que ya imprimiste datos en pantalla, asi no podes poner un header, tenes que ponerlo alprincipio del codigo, pero no imprimirias nada, asi que imprimi y en vez de pone header ponelo en html con un "<META REFRESH No es necesario que header() este al princio (eso es para session_start() para evitar Warnings), pero no podes printar nada en l aweb antes de usar un header(). Si tu codigo necesita usar un header en determinados lugares, lo que te recomiendo hacer es que no imprimas nada a vuelo, sino que gaurdes todo lo que quieras mostrar en tu web en una variable, y asi podes usar header("Location: loquesea.php") donde quieras, y por ultimo pasas a imprimir la variable. saludos y Gracias ya solucione mi probleba Título: Re: Problema con php Condicion de session Publicado por: [u]nsigned en 27 Noviembre 2009, 22:10 pm Si todavia te interesa, luego de usar header("Location: ..."); tenes que usar exit();
Código Y asi te evitas cualquier error en la redireccion, como por ejemplo que no cambie la url en el navegador. Esto se deberia hacer con el detectabot.php del foro, que luego de redirecionar al index.php no cambia la url en el navegador :xD saludos |