Foros del Web » Programando para Internet » PHP »

Cuenta de administrador

Estas en el tema de Cuenta de administrador en el foro de PHP en Foros del Web. Hola a todos. Soy nuevo en la programación y por lo tanto también en PHP. Estoy creando una página personal en la que tengo una ...
  #1 (permalink)  
Antiguo 05/09/2010, 00:22
 
Fecha de Ingreso: julio-2008
Ubicación: Córdoba, Argentina
Mensajes: 266
Antigüedad: 15 años, 8 meses
Puntos: 26
Cuenta de administrador

Hola a todos.
Soy nuevo en la programación y por lo tanto también en PHP.
Estoy creando una página personal en la que tengo una tabla que muestra registros guardados en una base de datos MySQL, por supuesto la tabla la muestro con PHP. Al lado de cada fila en esta tabla (es decir en cada registro) tengo un botón para borrar el registro y otro para editar los campos del mismo. Además de esto, arriba de la tabla tengo un botón que lleva al formulario que permite añadir nuevos registros a la tabla.
El tema es que todas estas opciones (agregar, editar y borrar), por motivos obvios, sólo deben figurar cuando yo ingrese mis datos en alguna cuenta de administración (logueándome), pero si no hay nadie logueado deseo que se muestren los registros sin las opciones mencionadas.
Con esto no quiero realizar un sistema entero de usuarios con registros y distintos permisos, sólo crear una cuenta de admin con un logueo en mi página y que al estar logueado aparezcan esos botones de agregar, modificar y eliminar, mientras que cuando cualquier otro visitante que no conozca los datos de logueo sólo vean los registros sin poder alterar mi base de datos.
Agradecería cualquier manual o tutorial que me puedan dar, o ayuda de ustedes mismos, que me guíen un poco para conseguir esto.
Saludos.
  #2 (permalink)  
Antiguo 05/09/2010, 01:05
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: Cuenta de administrador

Buenas..
Supongo que ya tienes el sistema de logeo y eso, no?
Bueno, si es que lo tienes, el resto es pan comido;
Dentro de tu tabla de usuarios, tienes que crearle un nuevo campo del tipo que quieras (yo recomiendo tipo INT) que se llame por ejemplo "admin" con el valor 0 por default...
Como le pusimos el valor 0, cada que se registre un usuario estara con valor 0..
Bien, ahora, mediante PHP checas si el campo "admin" del usuario que haya iniciado sesion es 1, si es asi, es administrador, entonces le mostramos las herramientas...
(Para ponerte como administrador, entra desde phpmyadmin y buscas tu usuario, lo editas y le pones un 1)

En si es sencillo, pero es cuestion de agarrarle el modo :)

Saludos! Espero haberme dado a entender :P (Si no, hazmelo saber y pongo un codigo sencillo de ejemplo)
  #3 (permalink)  
Antiguo 05/09/2010, 19:56
 
Fecha de Ingreso: julio-2008
Ubicación: Córdoba, Argentina
Mensajes: 266
Antigüedad: 15 años, 8 meses
Puntos: 26
Respuesta: Cuenta de administrador

Hola Sourcegeek, gracias por tu respuesta.
Todavía no tengo ningún sistema de logueo para la cuenta que mencioné, pero reitero que no quiero un formulario de registros ya que la idea no es que se registre más gente, sólo una cuenta para administrar que directamente voy a crear en la base de datos con phpmyadmin.
Si puedes brindarme algo de código de ejemplo o algún manual que haya por ahí te lo agradecería para entender mejor.
Saludos.
  #4 (permalink)  
Antiguo 06/09/2010, 10:49
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: Cuenta de administrador

Podes comprobar si el usuario es administrador o no (tras haberse logueado) así:

Cita:
if ( $_SESSION['name'] == "admin" )
Con lo cual, tus botones aparecerían solo para el usuario llamado admin.
  #5 (permalink)  
Antiguo 06/09/2010, 11:24
 
Fecha de Ingreso: mayo-2009
Mensajes: 45
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: Cuenta de administrador

Cita:
Iniciado por mayid Ver Mensaje
Podes comprobar si el usuario es administrador o no (tras haberse logueado) así:



Con lo cual, tus botones aparecerían solo para el usuario llamado admin.
Si y luego en los archivos php para el administrador creas las funcionalidades específicas de éstos. PAra el resto pues simplemente muestra los registros de la base de datos.
  #6 (permalink)  
Antiguo 06/09/2010, 17:58
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: Cuenta de administrador

Cita:
Iniciado por RabidFish Ver Mensaje
Hola Sourcegeek, gracias por tu respuesta.
Todavía no tengo ningún sistema de logueo para la cuenta que mencioné, pero reitero que no quiero un formulario de registros ya que la idea no es que se registre más gente, sólo una cuenta para administrar que directamente voy a crear en la base de datos con phpmyadmin.
Si puedes brindarme algo de código de ejemplo o algún manual que haya por ahí te lo agradecería para entender mejor.
Saludos.
Bueno.. Supongo que tienes conocimientos básicos de PHP...
Si es así, te recomiendo que leas en Google (o aquí en el foro) sobre las SESSIONES...
Básicamente es hacer un formulario, luego en un PHP recoger todo lo que envíe el formulario (usuario y pass) y checar si ambos son iguales a lo que tu quieres con una sentencia if, si todo está bien, le pones nombre a la session..
Acá te dejo un código para que te apoyes;

formulario.php
Código PHP:
<?php
session_start
();

if (isset(
$_SESSION['admin'])) {
Aca muestras el contenido si el usuario esta loggeado
}else{
?>
<form method="post" action="formulario2.php">
Usuario: <input type="text" name="usuario"><br>
Pass: <input type="password" name="pass"><br>
<button type="submit">Enviar</button>
</form>
<?php
}
?>
formulario2.php
Código PHP:
<?php
session_start
();

$usuario $_POST['usuario'];
$pass $_POST['pass'];

if (
$usuario=="tuusuario" && pass="tupass") {
$_SESSION['admin'] = $usuario;
echo 
"Loggeado correctamente";
}else{
echo 
"Usuario y/o contraseña incorrectos";
}
?>
Lee sobre sessiones, analiza ambos codigos, y confecciona tu mismo el tuyo, haciendolo claro mas completo :)

Etiquetas: Ninguno
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 19:53.