crear una session para admin

Iniciado por sarawlf, 6 Diciembre 2011, 17:05 PM

0 Miembros y 1 Visitante están viendo este tema.

sarawlf

Me gustaría crear una sesion para el administrador, pero no se como implementarla en el codigo, alguna idea? gracias  ;)
Código (php) [Seleccionar]

<?php
session_start
();
if (isset(
$_POST['userid']) && isset($_POST['password']))
{
//si el usuario acaba de intentr conectarse
$userid $_POST['userid'];
$password $_POST['password'];


 if (!
$db_conn=mysql_connect("localhost","root","root"))
   {
      echo 
"Error conectando a la base de datos.";
      exit();
   }
   if (!
mysql_select_db("feisbook",$db_conn))
   {
      echo 
"Error seleccionando la base de datos.";
      exit();
   } 

$query "select * from usuarios where id='$_REQUEST[userid]' and password='$_REQUEST[password]'";


$result=mysql_query($query,$db_conn);

if (
mysql_num_rows($result)>0)
if (
$_REQUEST['userid'] !="administrador")
 {
//si existe en la base de datos
$_SESSION['valid_user'] = $userid;
}

//if fila[rol]==admin sessoio[isadminn]=true

$db_conn->close();
}

?>

<html>
<body>
<head>
<meta http-equiv="content-type" content="text html;charset=UTF-8" />
<link href="estilo.css" rel="stylesheet" type="text/css"  />
</head>

<h1>Bienvenido a PCALTAGAMA venta de productos informáticos</h1>
<?php
if (isset($_SESSION['valid_user']))
{
echo 
' te has logeado como: '.$_SESSION['valid_user'].'<br/>';
echo 
'<a href="logout.php">cerrar sesion </a><br />';
}


else
{
if (isset(
$userid))
{
//si se han intentdo logearse y no lo han conseguido
echo 'no has podido logearte';
}
else
{
//todavia no han intentdo conectarse
echo 'no estas logeado';
echo 
'<a href="formulario.php ">registrate</a>';
}
//proporcionando un formulario para conectarse


echo '<div class="main">';
echo 
'<div class="login">';
echo 
'<form action="authmain.php" method="post">';
echo 
'<table>';
echo 
'<tr><td>nombre:</td>';
echo 
'<td><input type="text" name="userid"/></td></tr>';
echo 
'<tr><td>password:</td>';
echo 
'<td><input type="password" name="password"/></td></tr>';
echo 
'<tr><td colspan="2" align="center">';
echo 
'<input type="submit" value="log in"></td></tr>';
echo 
'</table></form>';
}
?>

<br>
<a href="tienda.php">entra a la tienda</a>


</body>
</html>

mokoMonster

Sabes lo que esta haciendo el codigo ?

Estas poniendo if($_REQUEST[userid'] != 'administrador')... aqui estas poniendo que si el usuario no es el administrador entonces es un 'valid user', desde aqui ya no puedes hacer una sesion administrador por que tu mismo lo estas excluyendo.

En la sentencia sql, debes de poner los parametros nuevos como "'.$valor.'" ya que si no se leera mal.

Saludos
"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange

sarawlf

es una linea que se me olvidó quitar, veras cree dos sesiones una para usuarios que no fuesen administrador y otra para administrador, mas que nada para que no se repitiese dos veces  "el te has logeado como"si me logeaba como admin. el caso es  que probe esá forma y no me funcionaba, no me cogia la sesion de admin. si me puedes dar una solucion  te lo agarecería.

xemnas

así te funcionará:
Código (php) [Seleccionar]

<?php
session_start
();
if (isset(
$_POST['userid']) && isset($_POST['password']))
{
//si el usuario acaba de intentr conectarse
$userid $_POST['userid'];
$password $_POST['password'];


 if (!
$db_conn=mysql_connect("localhost","root","root"))
   {
      echo 
"Error conectando a la base de datos.";
      exit();
   }
   if (!
mysql_select_db("feisbook",$db_conn))
   {
      echo 
"Error seleccionando la base de datos.";
      exit();
   } 

$query "select * from usuarios where id='$_REQUEST[userid]' and password='$_REQUEST[password]'";


$result=mysql_query($query,$db_conn);

if (
mysql_num_rows($result)>&& $userid!="administrador")

 {
//si existe en la base de datos
$_SESSION['valid_user'] = $userid;
}
else {
if (
mysql_num_rows($result)>&& $userid=="administrador")

$_SESSION['valid_admin'] = $userid;
}

$db_conn->close();
}

?>

<html>
<body>
<head>
<meta http-equiv="content-type" content="text html;charset=UTF-8" />
<link href="estilo.css" rel="stylesheet" type="text/css"  />

</head>

<h1>Bienvenido a PCALTAGAMA venta de productos informáticos</h1>

<?php
if (isset($_SESSION['valid_user'])) {
echo 
' te has logeado como: '.$_SESSION['valid_user'].' ya puedes acceder a nuestra tienda<br/>'; }

elseif (isset(
$_SESSION['valid_admin'])) {
echo 
'te has logeado como '.$_SESSION['valid_admin'].' ya puedes acceder a nuestra tienda<br/>'; }



else {
//todavia no han intentdo conectarse
echo 'no estas logeado';
echo 
'<a href="formulario.php ">registrate</a>';}
//proporcionando un formulario para conectarse

if (!isset($_POST['userid']) && !isset($_POST['password'])) {
echo 
'<div class="main">';
echo 
'<div class="login">';
echo 
'<form action="authmain.php" method="post">';
echo 
'<table>';
echo 
'<tr><td>nombre:</td>';
echo 
'<td><input type="text" name="userid"/></td></tr>';
echo 
'<tr><td>password:</td>';
echo 
'<td><input type="password" name="password"/></td></tr>';
echo 
'<tr><td colspan="2" align="center">';
echo 
'<input type="submit" value="log in"></td></tr>';
echo 
'</table></form>';
}
?>

<br>
<a href="tienda.php">entra a la tienda</a>


</body>
</html>