Foros del Web » Programando para Internet » PHP »

aplicacion de sesiones en php

Estas en el tema de aplicacion de sesiones en php en el foro de PHP en Foros del Web. Hola les comento mi problema hice un registro de usuarios en php con sesiones guiandome de aqui xxxhttp://ayuda.fotopex.com/programacion/php/hacer-login-de-usuarios-con-php-y-mysql/xxx y pues si funciona al momento de ...
  #1 (permalink)  
Antiguo 08/09/2010, 07:51
Avatar de Markgus  
Fecha de Ingreso: junio-2010
Mensajes: 152
Antigüedad: 13 años, 10 meses
Puntos: 5
aplicacion de sesiones en php

Hola les comento mi problema hice un registro de usuarios en php con sesiones guiandome de aqui xxxhttp://ayuda.fotopex.com/programacion/php/hacer-login-de-usuarios-con-php-y-mysql/xxx
y pues si funciona al momento de registrar o al hacer el login entra ala pagina "prohibida.php" el problema es que cuando copio el url me entra normalmente ala pagina sin necesidad de que me logue, mi pregunta es como solucionar esto les pondre el codigo por el momento del login, validar usuario y de la pagina prohibida pienso que con eso es suficiente para que me puedan ayudar

login .php
<form action="validar_usuario.php" method="post">
Usuario:<input type="text" name="username" size="20" maxlength="20" />
<br />
Password:<input type="password" name="password" size="10" maxlength="10" />
<br />
<input type="submit" value="Ingresar" />
</form>

validar_usuario.php
<?php
session_start();

mysql_connect('host','usuario','contrasenia')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('DB')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function quitar($mensaje)
{
$nopermitidos = array("'",'\\','<','>',"\"");
$mensaje = str_replace($nopermitidos, "", $mensaje);
return $mensaje;
}
if(trim($HTTP_POST_VARS["username"]) != "" && trim($HTTP_POST_VARS["password"]) != "")
{

$username= strtolower(htmlentities($HTTP_POST_VARS["username"], ENT_QUOTES));
$password = $HTTP_POST_VARS["password"];
$result = mysql_query('SELECT password, username FROM usuarios WHERE username=\''.$username.'\'');
if($row = mysql_fetch_array($result)){
if($row["password"] == $password){
$_SESSION["k_username"] = $row['username'];
echo 'Has sido logueado correctamente'
.$_SESSION['k_username'].' <p>';

header ("Location: prohibida.php");


}else{
echo 'Password incorrecto';
}
}else{
echo 'Usuario no existente en la base de datos';
}
mysql_free_result($result);
}else{
echo 'Debe especificar un usuario y password para poder ver el contenido';
}
mysql_close();
?>

hasta aqui toto bien la duda esta en la pagina prohibida.php
si pongo esto al inicio

<?php session_start();
echo 'Bienvenido, ';
if (isset($_SESSION['k_username'])) {
echo '<b>'.$_SESSION['k_username'].'</b>.';
echo '<p><a href="logout.php">Logout</a></p>';
}else{
echo '<p><a href="login.php">Login</a></p>
<p><a href="registrar.php">Registrar</a></p>';
}
?>
<html>
<head></head>
<body>
//
</body>
<html>


incluyendo el archivo o poniendo el codigo en el body entra ala pagina solo copiando el url, digamos que este codigo lo agarra solo como un mensaje por ejemplo si copio el url sin loguearme entra ala pagina solo el mensaje de bienvenida se queda sin el nombre del usuario pero se puede ver el contentido y anduve leyendo por ahi que con un la funcion empty() pero pues los ejemplos todos estan para un solo usuario, como adapto esto a un sistema de registros cn una bd de mysql??

Les agradeceria mucho su ayuda y comprension

Última edición por Markgus; 08/09/2010 a las 07:58
  #2 (permalink)  
Antiguo 08/09/2010, 08:25
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Respuesta: aplicacion de sesiones en php

Pues es simplemente otra validación:

Código PHP:
Ver original
  1.  
  2. if ( $_SESSION["k_username"] ) {
  3.     //si existe esa sesión es porque se loguéo correctamente, por lo tanto puede ver la página "prohíbida"
  4. } else {
  5.     //si no existe redirigir a la página de logueo
  6.    header("Location:login.php");
  7. }

Espero te sirva.

Saludos.
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #3 (permalink)  
Antiguo 08/09/2010, 08:30
Avatar de kalvinman  
Fecha de Ingreso: octubre-2006
Ubicación: Bogota Colombia
Mensajes: 849
Antigüedad: 17 años, 6 meses
Puntos: 22
Respuesta: aplicacion de sesiones en php

Si usas dreamweaver deberias usar el sistema de validacion de usuarios de dream, es facil de usar y muy efectivo, ademas puedes definir niveles de acceso. xD
  #4 (permalink)  
Antiguo 08/09/2010, 08:33
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Respuesta: aplicacion de sesiones en php

Cita:
Iniciado por kalvinman Ver Mensaje
Si usas dreamweaver deberias usar el sistema de validacion de usuarios de dream, es facil de usar y muy efectivo, ademas puedes definir niveles de acceso. xD
Perdón por la discrepancia, pero si puedes evitar usar DW para desarrollar web, evítalo. Hay muchas y mejores herramientas para hacer lo que necesitas y sin tanto código basura.

Ayúdate de un framework

Saludos.
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #5 (permalink)  
Antiguo 08/09/2010, 08:37
Avatar de kalvinman  
Fecha de Ingreso: octubre-2006
Ubicación: Bogota Colombia
Mensajes: 849
Antigüedad: 17 años, 6 meses
Puntos: 22
Respuesta: aplicacion de sesiones en php

Yo pensaba así hace mucho tiempo, pero actualmente la productividad y la eficiencia me llevan a pensar que la mejor solución es usar los comportamientos de dreamweaver, ademas no he encontrado ningún fallo de seguridad y el codigo suele ser muy ordenado, ahora hago el trabajo rutinario de los recordset, logueos, while, paginadores, insertar, modificar y eliminar registros con dreamweaver en un par de minuto y dedico mas tiempo a labores mas complejas. xD

Y no se que codigo basura es al que te refiere porque todo el codigo que genera tiene una muy buena razon para estar ay, ademas aparte de una funcion para ejecutar las consultas de mysql no e encontrado nada raro.xD
  #6 (permalink)  
Antiguo 08/09/2010, 08:43
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Respuesta: aplicacion de sesiones en php

Sí, lo haces porque DW te lo genera. Y si funciona, para qué hacerlo de otra forma, no?

Ves como es el código a manera de desarrollo de software? Ves que puedes reutilizar? ves que puedes adaptar si fuera un frame? DW te genera todo de la manera menos óptima.

Igual no es una ley, sólo son cosas para mejorar el desarrollo

Saludos.
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #7 (permalink)  
Antiguo 08/09/2010, 09:43
Avatar de Markgus  
Fecha de Ingreso: junio-2010
Mensajes: 152
Antigüedad: 13 años, 10 meses
Puntos: 5
Respuesta: aplicacion de sesiones en php

Cita:
Iniciado por Carxl Ver Mensaje
Perdón por la discrepancia, pero si puedes evitar usar DW para desarrollar web, evítalo. Hay muchas y mejores herramientas para hacer lo que necesitas y sin tanto código basura.

Ayúdate de un framework

Saludos.

gracias @Carlx y @kalvinman por su ayuda pues analizando bien el codigo note que las marcas del html los mandaba en echo y pues ahi puedo poner el contenido del la pagina prohibida dentro del if que verifica la sesion y pues ya si copio el url no se muestra si no estoy logueado, ahora el problema es que la pagina que tengo prohibida pues digamos que es algo dinamica y como para estar poniendo muchos echo en todas las marcas html pues se me hace fastidioso
con el DW podre hacer esto, miren ya en resumen

el registro de usuarios lo tengo en php y mysql y pues una vez registrado te accede ala pagina "prohibida" y esta pagina la hice cn ayuda del dreamwevar y pues imagenes en flash etc .... y pues quisiera que toda esa pagina estuviera bloqueda no irme linea por linea ejemplo: echo '<p><ahref="logout.php">Logout</a></p>';
echo'<p>blabla</p>';
  #8 (permalink)  
Antiguo 10/09/2010, 14:26
Avatar de Markgus  
Fecha de Ingreso: junio-2010
Mensajes: 152
Antigüedad: 13 años, 10 meses
Puntos: 5
Respuesta: aplicacion de sesiones en php

les comento que ya pude solucionar el problema bueno quite el archivo en flash tambien pero basicamente mi problema esq no estaba poniendo todo el <html> </html> dentro del echo
error de novato que soy.
<?php session_start();
echo 'Bienvenido, ';
if (isset($_SESSION['k_username'])) {
echo '<b>'.$_SESSION['k_username'].'</b>.';
echo '<p><a href="logout.php">Logout</a></p>';
echo '<html>
<head></head>
<body>
//
</body>
<html>';
}else{
echo '<p><a href="login.php">Login</a></p>
<p><a href="registrar.php">Registrar</a></p>';
}
?>

Etiquetas: sesiones, aplicaciones
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 23:47.