Me gustaría crear una sesion para el administrador, pero no se como implementarla en el codigo, alguna idea? gracias ;)
<?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>
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
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.
así te funcionará:
<?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 && $userid!="administrador")
{
//si existe en la base de datos
$_SESSION['valid_user'] = $userid;
}
else {
if (mysql_num_rows($result)>0 && $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>