Foros del Web » Programando para Internet » PHP »

problema con sesiones en php. :/

Estas en el tema de problema con sesiones en php. :/ en el foro de PHP en Foros del Web. hola a todos mi problema es el siguiente... tengo tres archivos (verificar.php, sesion.php,conexion.php) tengo mi base de datos en la cual tengo creado el usuario ...
  #1 (permalink)  
Antiguo 24/05/2012, 01:04
 
Fecha de Ingreso: mayo-2012
Mensajes: 4
Antigüedad: 11 años, 11 meses
Puntos: 0
Exclamación problema con sesiones en php. :/

hola a todos mi problema es el siguiente...
tengo tres archivos (verificar.php, sesion.php,conexion.php)
tengo mi base de datos en la cual tengo creado el usuario d1, con la password 1234, lo que pasa es que al ir al index de mi pagina, para logearme, e ingreso el usario y la password, no me redirecciona a mi pagina para los logeados, sino que a mi pagina de error (obviamente parece k tengo un error xD pero no se cual :/ )

en mi archivo conexion tengo lo siguiente:
<?php
function conectarse()
{
if (!($link=mysql_connect("localhost","root",
"vertrigo")
{
echo "Error conectando a la base de datos.";
exit();
}


if (!mysql_select_db("inventario",$link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}
?>

en el sesion <?php
$lugar=$_GET["posicion"];
session_start();
if($_SESSION[access]==true)
{
if ($lugar==1)
{header('Location: http://127.0.0.1/acceso_rapido.php');}

}
else

{ header('Location:http://127.0.0.1/error_sesion.html');}

?>

y en verificar :
<?php

$nom_usuario=$_POST["nom_usuario"];
$password=$_POST["password"];

$link=mysql_connect("localhost","root","vertrigo") ;
$bd= mysql_select_db("inventario",$link);
$mensaje = "Select nombre from profesores where nom_usuario='$nom_usuario' and password='$password'";
$dato=mysql_query($mensaje);
mysql_close($link);
$valor=mysql_num_rows($dato);


if($valor!=0)
{
session_start();
$_SESSION[access]=true;
$tupla = mysql_fetch_array($dato);
$_SESSION["nombre"] = $tupla["nombre"];

header("Location:http://127.0.0.1/mi_php/sesion.php?posicion=1")
}
?>

ya verifique la base de datos y los datos que ingreso estan correctos :/... nose que podria ser el error, alguien que me ayude pliiiisss !!!! :D
  #2 (permalink)  
Antiguo 24/05/2012, 01:56
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: problema con sesiones en php. :/

al menos deberías indicar cual es el error que te marca, aquí no hay adivinos...

por cierto, esto esta mal, le falta un paréntesis...
Código PHP:
Ver original
  1. function conectarse()
  2. {
  3. if (!($link=mysql_connect("localhost","root",
  4. "vertrigo")
  5. {
  6. echo "Error conectando a la base de datos.";
  7. exit();
  8. }

Y utiliza highlight para visualizar el código, que así ni da ganas leer tu post
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 24/05/2012, 14:39
 
Fecha de Ingreso: mayo-2012
Mensajes: 4
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: problema con sesiones en php. :/

Cita:
Iniciado por Nemutagk Ver Mensaje
al menos deberías indicar cual es el error que te marca, aquí no hay adivinos...

por cierto, esto esta mal, le falta un paréntesis...
Código PHP:
Ver original
  1. function conectarse()
  2. {
  3. if (!($link=mysql_connect("localhost","root",
  4. "vertrigo")
  5. {
  6. echo "Error conectando a la base de datos.";
  7. exit();
  8. }

Y utiliza highlight para visualizar el código, que así ni da ganas leer tu post
Gracias por responder, no me arroja error alguno, lo k pasa es k yo quiero hacer k me rediriga luego de verificar el logeo, a la pagina acceso_rapido.php, p probar eso, pero cuando voy a probar eso, e ingreso el usuario y la clave, me redirige a la pagina que tengo puesta para los errores (error_accesp.hrml) no se si me explico :/

denuevo gracias ! :) y perdon por lo del highlight, esk soy nuevo ... xD
  #4 (permalink)  
Antiguo 24/05/2012, 19:08
 
Fecha de Ingreso: marzo-2012
Mensajes: 8
Antigüedad: 12 años
Puntos: 0
Respuesta: problema con sesiones en php. :/

hola
bueno de esta manera yo lo aria.
Código PHP:
Ver original
  1. $sql="El query que contenga los campos de comparacion en tu base de dato(usuario y contraseña)"
  2. $consulta=mysql_query($sql);
  3. foreach($consulta as $dato){
  4. if($dato['usuario']==$usu && $dato['clave']==$pas){
  5. header('location: acceso_rapido.php');
  6. }else{
  7. echo $mensaje ="Usuario o contraseña incorrecta";
  8. }
  9. }

el $usu y $pas los recojo por
Código PHP:
Ver original
  1. $_POST["Nombre del objeto en html"]


espero que le sea de gran ayuda
  #5 (permalink)  
Antiguo 25/05/2012, 15:02
 
Fecha de Ingreso: mayo-2012
Mensajes: 4
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: problema con sesiones en php. :/

Cita:
Iniciado por osito7890 Ver Mensaje
hola
bueno de esta manera yo lo aria.
Código PHP:
Ver original
  1. $sql="El query que contenga los campos de comparacion en tu base de dato(usuario y contraseña)"
  2. $consulta=mysql_query($sql);
  3. foreach($consulta as $dato){
  4. if($dato['usuario']==$usu && $dato['clave']==$pas){
  5. header('location: acceso_rapido.php');
  6. }else{
  7. echo $mensaje ="Usuario o contraseña incorrecta";
  8. }
  9. }

el $usu y $pas los recojo por
Código PHP:
Ver original
  1. $_POST["Nombre del objeto en html"]


espero que le sea de gran ayuda
Hola ! Muchas gracias por tu respuesta ! pude resolverlo :D, ademas ahora entendi gracias a eso algunas cosas que antes no jejeje, el unico detalle eso si, fue que me daba error en el foreach, pero se lo saque, y deje el if para que hiciera la comparacion, y me resulto ! :D ejjeje muchas gracias te pasaste
  #6 (permalink)  
Antiguo 25/05/2012, 15:13
 
Fecha de Ingreso: mayo-2012
Mensajes: 4
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: problema con sesiones en php. :/

tengo otro problema ahora :/ y creo que se puede deber a que saque el foreach xD lo que pasa es k en la parte de usuario y contraseña, ingreso los datos y me envia a usuario o contraseña incorrecta, y ya los verifique en la base de datos y estan bien :/ adjunto mi codigo...


<?php

$nom_usuario=$_POST["nom_usuario"];
$password=$_POST["password"];

$link=mysql_connect("localhost","root","vertrigo") ;
$bd= mysql_select_db("inventario",$link);
$sql = "Select nombre from profesores where nom_usuario='$nom_usuario' and password='$password'";
$dato=mysql_query($sql);
mysql_close($link);
$valor=mysql_num_rows($dato);

if($dato['nom_usuario']==$nom_usuario && $dato['password']==$password){
header('location: ../acceso_rapido.php');
}else{
echo $mensaje ="Usuario o contraseña incorrecta";
}

?>
  #7 (permalink)  
Antiguo 25/05/2012, 16:31
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: problema con sesiones en php. :/

oye, en verdad deberias leer un manual/tutorial de PHP/MySQL, el error que tienes es muy basico, NO puedes acceder a los datos directamente de la consulta, forzosamente debes pasarlo por alguna función que devuelva los registros como mysql_fetch_xxxx, mysql_result, etc, aparte, para que haces un mysql_num_rows si no lo usas, es hacer trabajar de mas a PHP...

por ultimo, esto esta de mas, la comparación de usuario y contraseña ya la has hecho en la sentencia SQL, no tiene caso que la vuelvas a hacer en el if, es redundante, en todo caso debes verificar si retorno un valor o no...
Código PHP:
Ver original
  1. $dato = mysql_query($sql) or die(mysql_error());
  2. if (mysql_num_rows($dato) != 0) {
  3. echo 'usuario valido';
  4. }else {
  5. echo 'usuario invalido';
  6. }
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Última edición por Nemutagk; 25/05/2012 a las 16:37

Etiquetas: php+basedatos, sesiones_en_php
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 20:10.