Foros del Web » Programando para Internet » PHP »

Alguien me diria como hacer esto.

Estas en el tema de Alguien me diria como hacer esto. en el foro de PHP en Foros del Web. No se si alguien me pueda explicar como hacer esto tengo una base de datos con una tabla usuario en ella tengo 3 campos idusuario ...
  #1 (permalink)  
Antiguo 27/11/2009, 16:23
 
Fecha de Ingreso: noviembre-2009
Mensajes: 36
Antigüedad: 14 años, 5 meses
Puntos: 0
Alguien me diria como hacer esto.

No se si alguien me pueda explicar como hacer esto
tengo una base de datos con una tabla usuario en ella tengo 3 campos
idusuario y contraseña que los uso para ingresar al sistema web por medio de una consulta en mysql puedo entrar y logearme, pero tengo un tecer dato llamado tipo que quiero utilizarlo en una session para delegar permisos en un index por medio de un swicth si es tipo 1 hace x cosa tipo 2 igual asi sucesivamente.
aqui el problema podria realizar una consulta al momento de realizar el login para traer el valor.

despues inicio la sesion con
session_start();
pero otra duda como la creo para que esa session tenga el nombre que deseo, tengo pensado que es algo asi $tipo = $_SESSION['tipo']; si es algo asi, como mando llamar la session a otra pagina para al momento que inicie aga esto
switch($_SESSION['tipo'])
{
case 1:
break;
case 2:
break;
}

el codigo que va en medio de los switch lo puedo generar y todo pero esas son mis dudas, no se si alguien sepa o me encamine a resolver el problema gracias.
  #2 (permalink)  
Antiguo 27/11/2009, 17:15
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Alguien me diria como hacer esto.

No estoy muy seguro lo que quieres, pero para usar tus variables de sesion en otra pagina solo inicia la sesion de nuevo al iniciar el script con
session_start()
  #3 (permalink)  
Antiguo 27/11/2009, 17:23
 
Fecha de Ingreso: noviembre-2009
Mensajes: 36
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Alguien me diria como hacer esto.

Cita:
Iniciado por darkasecas Ver Mensaje
No estoy muy seguro lo que quieres, pero para usar tus variables de sesion en otra pagina solo inicia la sesion de nuevo al iniciar el script con
session_start()
ejemplo
para iniciar sesion en un formulario ago una consulta en mysql para poder ingresar como deseo

$result =mysql_query("Select idusuario, contraseña from usuario where idusuario='$idusuario' and contraseña = '$contraseña' "); yo supongo que para darle un valor a la session tendria que hacer una consulta en la base como sSql= mysql_query ("Select tipo from usuario where nombre =idusuario='$idusuario' and contraseña = '$contraseña'");

aqui el problema como lo asigno a la variable de session y como la creo para que la session tome el valor de tipo
  #4 (permalink)  
Antiguo 27/11/2009, 17:25
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Alguien me diria como hacer esto.

Código PHP:
//inicias la sesion (antes de cualquier salida al navegador)
session_start();

//asignas valor a la variable
$_SESSION['var']='valor';

//en otro archivo, para usarla igual inicias la sesion
session_start();

//la usas :D
echo $_SESSION['var']; 
  #5 (permalink)  
Antiguo 27/11/2009, 17:35
 
Fecha de Ingreso: noviembre-2009
Mensajes: 36
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Alguien me diria como hacer esto.

Cita:
Iniciado por darkasecas Ver Mensaje
Código PHP:
//inicias la sesion (antes de cualquier salida al navegador)
session_start();

//asignas valor a la variable
$_SESSION['var']='valor';

//en otro archivo, para usarla igual inicias la sesion
session_start();

//la usas :D
echo $_SESSION['var']; 
eso si lo entiendo pero despues de my consulta sSql= mysql_query ("Select tipo from usuario where nombre =idusuario='$idusuario' and contraseña = '$contraseña'"); la dejo como sSql= mysql_query ("Select tipo from usuario where nombre =idusuario='$idusuario' and contraseña = '$contraseña'", $tipo);
despues seria $SESSION['tipo']= $tipo;
my segunda pagina inicio session session_star(); seguida de el switch seria correcto ?

<?php
session_star();
switch($_SESSION['tipo'])
{
case 1:
break;
case 2:
break;
}

?>
  #6 (permalink)  
Antiguo 27/11/2009, 17:40
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Alguien me diria como hacer esto.

Cita:
Iniciado por RendanJes Ver Mensaje
eso si lo entiendo pero despues de my consulta sSql= mysql_query ("Select tipo from usuario where nombre =idusuario='$idusuario' and contraseña = '$contraseña'"); la dejo como sSql= mysql_query ("Select tipo from usuario where nombre =idusuario='$idusuario' and contraseña = '$contraseña'", $tipo);
despues seria $SESSION['tipo']= $tipo;
No se si estas poniendolo asi para abreviar pero por si acaso
ejecutas tu consulta con mysql_query
Luego tomas el resultado con mysql_fetch_array
Y asignas valor a la variable de sesion, que es $_SESSION, no $SESSION (no olvidar el guion bajo)

Cita:
my segunda pagina inicio session session_star(); seguida de el switch seria correcto ?
<?php
session_star();
switch($_SESSION['tipo'])
{
case 1:
break;
case 2:
break;
}

?>
Exacto, pero es sesion_start() (te falto una t al final)
  #7 (permalink)  
Antiguo 27/11/2009, 17:49
 
Fecha de Ingreso: noviembre-2009
Mensajes: 36
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Alguien me diria como hacer esto.

Cita:
Iniciado por darkasecas Ver Mensaje
No se si estas poniendolo asi para abreviar pero por si acaso
ejecutas tu consulta con mysql_query
Luego tomas el resultado con mysql_fetch_array
Y asignas valor a la variable de sesion, que es $_SESSION, no $SESSION (no olvidar el guion bajo)


Exacto, pero es sesion_start() (te falto una t al final)
veamos si entendi algo

supongamos que tengo
sSql= mysql_query ("Select tipo from usuario where nombre =idusuario='$idusuario' and contraseña = '$contraseña'");

despues seria algo asi como

$tipo = mysql_fetch_array($sSql, MYSQL_NUM);

$_SESSION['tipo']= $tipo;


?
  #8 (permalink)  
Antiguo 27/11/2009, 17:54
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Alguien me diria como hacer esto.

Casi, excepto que mysql_fetch_array devuelve un array (!) por lo que seria
$_SESSION['tipo']= $tipo[0]; //<--para acceder al primer(y en este caso unico) elemento del array
  #9 (permalink)  
Antiguo 27/11/2009, 17:59
 
Fecha de Ingreso: noviembre-2009
Mensajes: 36
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Alguien me diria como hacer esto.

Cita:
Iniciado por darkasecas Ver Mensaje
Casi, excepto que mysql_fetch_array devuelve un array (!) por lo que seria
$_SESSION['tipo']= $tipo[0]; //<--para acceder al primer(y en este caso unico) elemento del array
veamos entonces si funciona algo de esto y me explicas aqui mismo como hacer esto

cuando no se logee el usuario muestre algo asi


if ($_SESSION['$tipo']== a algo porque no se que puedo poner para que me dej entrar)
{

switch($_SESSION['tipo'])
{
case 1:
break;
case 2:
break;
}



}

else
{

echo "<dt><a href='index.html'>P&aacute;gina Principal</a></dt>";

echo "<dt><a href='about_us.html'>¿Quienes Somos?</a></dt>";

echo "<dt><a href='contact.html'>Contactanos</a></dt>";

echo "<dt><a href='iniciosesion.php'>Inicar Sesion</a></dt>";
echo "<dd> </dd>";

}

el else lo muestra por default si no esta logeado el usuario
  #10 (permalink)  
Antiguo 27/11/2009, 18:09
 
Fecha de Ingreso: noviembre-2009
Mensajes: 36
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Alguien me diria como hacer esto.

asi tengo mi codigo ahorita ya valida el ingreso desde la base de datos
Código PHP:
<?php
session_start
();
$bd=mysql_connect("127.0.0.1""root"""); 

mysql_select_db("banco2"$bd) or die("No se pudo conectar con la base de datos.");
$idusuario $_GET["idusuario"];
$contraseña $_GET["contraseña"];

$result mysql_query("SELECT idusuario, contraseña FROM usuario WHERE idusuario = '$idusuario' and contraseña = '$contraseña'");
$sSqlmysql_query ("Select tipo from usuario where nombre =idusuario='$idusuario' and contraseña = '$contraseña'");

$tipo mysql_fetch_array($sSqlMYSQL_NUM);

$_SESSION['tipo']= $tipo[0];

while(
$row mysql_fetch_row($result))
{
$usuario  $row[0];
$password $row[1];
}

if (
$idusuario == $usuario && $contraseña == $password)
{

echo 
"Ingreso correctamente";
echo 
"<br>";
echo 
"<a href='index.php'>Click aqui para ir al Inicio</a>";
}
else
{
echo 
"Error al iniciar";
echo 
"<br>";
echo 
"<a href='iniciosesion.php'>Click aqui para Volver a intentar</a>";
}
?>
este es index php
Código PHP:
<?php
session_start
();
echo 
$_SESSION['tipo'] = $tipo[0];
if (
$_SESSION['$tipo'])    
{

switch(
$_SESSION['tipo'])
{
case 
1:
break;
case 
2:
break;
}

}

else 
{
echo    
"<dt><a href='index.html'>P&aacute;gina Principal</a></dt>";
    
echo    
"<dt><a href='about_us.html'>¿Quienes Somos?</a></dt>";
    
echo    
"<dt><a href='contact.html'>Contactanos</a></dt>";
    
echo    
"<dt><a href='iniciosesion.php'>Inicar Sesion</a></dt>";
echo    
"<dd>    </dd>";



}
?>

no se donde tenga error
  #11 (permalink)  
Antiguo 27/11/2009, 20:27
 
Fecha de Ingreso: noviembre-2009
Mensajes: 36
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Alguien me diria como hacer esto.

porfavor alguien que e ayude?
  #12 (permalink)  
Antiguo 27/11/2009, 20:50
 
Fecha de Ingreso: julio-2003
Ubicación: Cochabamba Bolivia
Mensajes: 300
Antigüedad: 20 años, 9 meses
Puntos: 14
De acuerdo Respuesta: Alguien me diria como hacer esto.

Hola mira creo que estas en buen camino pero te sugeriria cambiar tu metodologia ya que la que estas usando es muy redundante y en mas secciones te crearan mas problemas.

Te sugiero hacerlos asi:
  1. Primero realizas la consulta para ver si los datos de login son correctos.
  2. Si es correcto entonces entonces realiza una consulta con esos datos para obtener el tipo de usuario.
  3. Luego create una variable de sesion con el valor de la variable tipo podria ser por ejemplo $_SESSION["TipoUsuario"]=$Tipo.
  4. Ahora que ya tienes esta variable de sesion las usas de la siguiente manera: si esta vacia significa que no esta logueado correctamente, si no esta vacia entonces significa que esta logueado y ese valor puedes compararlo con el tipo de usuario que quieras, asi le muestras ciertos contenidos.
  5. Ahora lo mejor es que esta verificacion la manejes en un archivo php aparte podria llamarse verificador.php por ejemplo e incluirlo en todas tus paginas que deseas que tengan accesos especiales, usa include al principio.

Si no comprendes mucho de programacion te podria hacer un ejemplo simple solo avisame.

Saludos.
__________________
:policia: Uno para todos y todos para uno.
  #13 (permalink)  
Antiguo 27/11/2009, 21:16
 
Fecha de Ingreso: noviembre-2009
Mensajes: 36
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Alguien me diria como hacer esto.

Cita:
Iniciado por sander Ver Mensaje
Hola mira creo que estas en buen camino pero te sugeriria cambiar tu metodologia ya que la que estas usando es muy redundante y en mas secciones te crearan mas problemas.

Te sugiero hacerlos asi:
  1. Primero realizas la consulta para ver si los datos de login son correctos.
  2. Si es correcto entonces entonces realiza una consulta con esos datos para obtener el tipo de usuario.
  3. Luego create una variable de sesion con el valor de la variable tipo podria ser por ejemplo $_SESSION["TipoUsuario"]=$Tipo.
  4. Ahora que ya tienes esta variable de sesion las usas de la siguiente manera: si esta vacia significa que no esta logueado correctamente, si no esta vacia entonces significa que esta logueado y ese valor puedes compararlo con el tipo de usuario que quieras, asi le muestras ciertos contenidos.
  5. Ahora lo mejor es que esta verificacion la manejes en un archivo php aparte podria llamarse verificador.php por ejemplo e incluirlo en todas tus paginas que deseas que tengan accesos especiales, usa include al principio.

Si no comprendes mucho de programacion te podria hacer un ejemplo simple solo avisame.

Saludos.
Si, la verda me ayudaria si me hicieras un ejemplo sinpme pero tu explicasion me sirvio no pense hacer la consulta si me logeaba en ese momento
como ya me habian dicho que la usara en un array me asuste porque no me gustan los array
  #14 (permalink)  
Antiguo 28/11/2009, 09:07
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Alguien me diria como hacer esto.

En index.php, esta linea es incorrecta y de hecho innecesaria
echo $_SESSION['tipo'] = $tipo[0];

Para empezar no tienes que asignar de nuevo un valor a tu variable de sesion, pues ya tiene el que le asignaste en el otro script (a menos que quieras modificarla).
Y tampoco es necesario que hagas un echo para usarla, en mi post lo puse com un ejemplo de uso, simplemente cuando la necesites usar usala como $_SESSION['tipo'] (como en el resto de tu codigo)
  #15 (permalink)  
Antiguo 28/11/2009, 10:30
 
Fecha de Ingreso: noviembre-2009
Mensajes: 36
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Alguien me diria como hacer esto.

Código PHP:
<?php
session_start
();
$bd=mysql_connect("127.0.0.1""root"""); 

mysql_select_db("banco2"$bd) or die("No se pudo conectar con la base de datos.");
$idusuario $_GET["idusuario"];
$contraseña $_GET["contraseña"];

$result mysql_query("SELECT idusuario, contraseña FROM usuario WHERE idusuario = '$idusuario' and contraseña = '$contraseña'");

while(
$row mysql_fetch_row($result))
{
$usuario  $row[0];
$password $row[1];
}

if (
$idusuario == $usuario && $contraseña == $password)
{

$sSqlmysql_query ("Select tipo from usuario where nombre =idusuario='$idusuario' and contraseña = '$contraseña'");

$TipoUsuario$sSql;
$_SESSION["TipoUsuario"]= $sSql;
$tipo$_SESSION['TipoUsuario'];

echo 
"Ingreso correctamente";
echo 
"<br>";
echo 
"<a href='index.php'>Click aqui para ir al Inicio</a>";
}
else
{
echo 
"Error al iniciar";
echo 
"<br>";
echo 
"<a href='iniciosesion.php'>Click aqui para Volver a intentar</a>";
}
?>
ese es el codigo que tengo
lo que quiero hacer para ver si funciono todo que aun no
es guardar el valor de la consulta sSql en la variable de session y con un hecho mostrar si ya me lo guardo en la variable de session si no es asi como soluciono esto para poder pasar la session a otra ventana grax.
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 09:06.