Foros del Web » Programando para Internet » PHP »

entrar como administrador

Estas en el tema de entrar como administrador en el foro de PHP en Foros del Web. Buenas gente quisiera que me ayudaran porfavor. Quisiera que si en el formulario escribimos administrador y la contraseña, me envie a otra pagina que seria, ...
  #1 (permalink)  
Antiguo 06/08/2011, 19:33
 
Fecha de Ingreso: agosto-2011
Ubicación: en mi casa
Mensajes: 37
Antigüedad: 12 años, 8 meses
Puntos: 1
entrar como administrador

Buenas gente quisiera que me ayudaran porfavor.
Quisiera que si en el formulario escribimos administrador y la contraseña, me envie a otra pagina que seria, administrador.php
No se como hacerle aca.
Si tambien me puede ayudar en ponerle que si teclea el password pero no la contraseña diga que no introdujimos usuario.
Se lo intente meter en varios lugar pero no pude.
Espero su respuesta ;)
Código PHP:
Ver original
  1. <?
  2. include('config.php');
  3.  
  4. // Conectar a la base de datos
  5. mysql_connect ($dbhost, $dbusername, $dbuserpass);
  6. mysql_select_db($dbname) or die('No se puede seleccionar la base de datos');
  7.  
  8. if ($_POST['username']) {
  9. //Comprobacion del envio del nombre de usuario y password
  10. $username=htmlentities($_POST['username']);
  11. $password=md5($_POST['password']);
  12. if ($password==NULL) {
  13. echo "No a introducido una contrasenia";
  14. exit();
  15. }else{
  16. $query = mysql_query("SELECT username,password FROM usuarios WHERE username = '$username'") or die(mysql_error());
  17. $data = mysql_fetch_array($query);
  18. if($data['password'] != $password) {
  19. echo "No a introducido una contrasenia correcta";
  20. exit();
  21. }else{
  22. $query = mysql_query("SELECT username,password FROM usuarios WHERE username = '$username'") or die(mysql_error());
  23. $row = mysql_fetch_array($query);
  24. $username2 = $row['username'];
  25. $_SESSION["s_username"] = $row['username'];
  26. $_SESSION["logeado"] = "SI";
  27.  
  28. /* Si aceptamos recordar los datos */
  29. if($_POST['recordar']){
  30.  
  31.                         if ($HTTP_X_FORWARDED_FOR == "")
  32.                     {
  33.                         $ip = getenv(REMOTE_ADDR);
  34.                     }
  35.                     else
  36.                     {
  37.                         $ip = getenv(HTTP_X_FORWARDED_FOR);
  38.                     }
  39.     $id_extreme = md5(uniqid(rand(), true));
  40.     $id_extreme2 = $username2."%".$id_extreme."%".$ip;
  41.     setcookie('id_extreme', $id_extreme2, time()+7776000,'/');
  42.     $query = mysql_query("UPDATE usuarios SET id_extreme='".$id_extreme."' WHERE username='".$username2."'") or die(mysql_error());
  43. }
  44.  
  45. header ("Location: inicio.php");
  46. }
  47. }
  48. }
  49. ?>
  #2 (permalink)  
Antiguo 06/08/2011, 20:03
Avatar de ramiro_md  
Fecha de Ingreso: septiembre-2008
Mensajes: 274
Antigüedad: 15 años, 8 meses
Puntos: 26
Respuesta: entrar como administrador

Ya sabés redirigir:
Código PHP:
Ver original
  1. header ("Location: inicio.php");
Simplemente pon una condición que si es admin te mande a admin.php.
Salutes.
  #3 (permalink)  
Antiguo 06/08/2011, 20:20
Avatar de solhdeck  
Fecha de Ingreso: junio-2011
Mensajes: 87
Antigüedad: 12 años, 11 meses
Puntos: 32
Respuesta: entrar como administrador

Código PHP:
if (isset($_POST['username']) && $_POST['username'] != "")
 {
    if (
$_POST['username'] == "Administrador")
     
$header="admin.php";
    else
      
$header="inicio.php";
  }
 else
   
$error="sin usuario";
////////// luego

header ("Location: ".$header);
if (
$error != "")
echo 
"Debes introducir usuario"
Tendrás que adaptarlo, yo solo te doy la idea ^_^
__________________
El karma me anima a seguir contestando preguntas... si te ayudé dame un poquito ;)
  #4 (permalink)  
Antiguo 06/08/2011, 22:51
 
Fecha de Ingreso: agosto-2011
Ubicación: en mi casa
Mensajes: 37
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: entrar como administrador

Creo que no lo estoy metiendo donde deveria ;/
Podrias ayudarme?
  #5 (permalink)  
Antiguo 07/08/2011, 00:34
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 13 años, 8 meses
Puntos: 9
Respuesta: entrar como administrador

yo que tu ordenaria el codigo primero

Código PHP:
Ver original
  1. if(isset($_POST["usuario"]) and isset($_POST["contrasena"])){
  2.    //aqui haces tu consulta con los datos
  3.  
  4. }elseif(isset($_POST["usuario"])){
  5.      header("Location: inicio.php?error=Falta el usuario"):
  6. }elseif(isset($_POST["contrasena"])){
  7.      header("Location: inicio.php?error=Falta la contraseña"):
  8.  
  9. }else{
  10.    header("Location: inicio.php?error=No ha ingresado ningun dato"):
  11. }

no necesitas hacer dos consultas a la base de datos ya tienes el usuario y la contraseña

SELECT username,password FROM usuarios WHERE username = '$username' and password = '$contrasena'

y si no te funciona el header de momento usa javascript y deja para el ultimo eso y lo solucionas

?>
<script languaje="javascript">
location.replace("inicio.php");
</script>
<?php
  #6 (permalink)  
Antiguo 08/08/2011, 06:51
Avatar de solhdeck  
Fecha de Ingreso: junio-2011
Mensajes: 87
Antigüedad: 12 años, 11 meses
Puntos: 32
Respuesta: entrar como administrador

A ver... yo lo haría así:

En el index :
Código PHP:
<?php
    session_start
();
    if (!isset(
$_SESSION['usuario']) && isset($_COOKIE['usuario']) && $_COOKIE['usuario'] != 0)
        {
            
$_SESSION['usuario'] = $_COOKIE['usuario'];
        }
     
if (!isset(
$_SESSION['usuario']) || $_SESSION['usuario'] == 0)
        {
            include 
"form1.php";
        }
     else
         {
             if (
$_SESSION['usuario'] == 1)
                    include 
"admin.php";
            else
                    include 
"principal.php";
         }
    
?>
Así lo que tienes es:
primero compruebas si tiene la cookie de logueo normalmente usas cookies para saber si el usuario le dio a "recordar".

Le haya dado o no a recordar, cuando pase el primer if, si no está logueado aparecerá el formulario de usuario y contraseña.

Después, miras si el id del usuario es 1 (aquí tiene que ir el id del admin o, sino, comprobar que es el administrador de cualquier otra manera). Si es 1, lo llevas a admin.php; si no lo es, lo llevas a principal.php, que es la página de tus usuarios normales.

Considera que la página que comprueba si el usuario y la contraseña existe, tiene que guardar en variables de sesión los datos intersantes del usuario (yo guardo el id solamente, pero podrías tener varios campos que quieras usar más veces)

Si pillas ese código, puedes añadir una consulta a la base de datos sobre el nick del usuario o algún campo que indique si tiene permisos de administrador en el paso en el que tomas el valor de la cookie (como otra forma de comprobar si es administrador).

Como te dije, yo te doy lo que se me ocurre, luego tienes que adaptarlo tú.

Un saludo
__________________
El karma me anima a seguir contestando preguntas... si te ayudé dame un poquito ;)

Etiquetas: administracion, cod
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 05:27.