Comunidad de diseño web y desarrollo en internet online

Acceso y contraseña con PHP

Citar            
MensajeEscrito el 01 Sep 2006 02:14 pm
Hola a todos… esta ves necesito hacer un archivo php que cunado se abra aparezcan dos campos uno de administrador y uno de contraseña (HTML) y un botón entrar y que al poner (usuario y contraseña) ingrese a la pagina (y que el nombre de usuario y contraseña ya estén especificado dentro del php)… pero que todo este dentó del mismo php es decir yo pongo el usuario la contraseña y me lleva a otra parte del mismo archivo donde esta el contenido(HTML) yo intente hacer algo así:

Código :

<html>
<body>
……..
<?
$NombreAdmin = "xxxxx";
$ContraseñaAdmin = "xxxxx";

‘<html>
<body>
Campo de usuario
Campo de contraseña
</body>
</html>’;

if ($nombre == $NombreAdmin AND $contraseña == $ContraseñaAdmin) {
‘<html>
<body>
CONTENIDO
</body>
</html>’;
};
¿>

</body>
</html>




No se si este bien a mi no me funciono, seguro que hay alguien que sabe como se hace…

Gracias a todos y Salu2

Por Zis

Claber

314 de clabLevel

1 tutorial

Genero:Masculino  

Bell Ville - Cordoba - Argentina

firefox
Citar            
MensajeEscrito el 01 Sep 2006 02:35 pm
Buenas, yo haría algo parecido a esto:

Código :

<html>
<body>

<?php
$NombreAdmin = "xxxxx";
$ContraseñaAdmin = "xxxxx";
if(!isset($_POST['nombre']) || !isset($_POST['pass']))
{
   //no nos han tecleado el usuario y la contraseña
   ?>
   <!-- formulario de ingreso de datos -->

   <form name="formulario" method="post" action=" <?php $_SERVER['PHP_SELF'] ?>"> 
   Campo de usuario
   Campo de contraseña
   </form>
<?php
}
else
{
   //lo que quieras cuando estan loguenados
}

</body>
</html>

Espero te sirva, un saludo y suerte :D

Por Yranac

421 de clabLevel



Genero:Masculino  

Lugo, Galicia

firefox
Citar            
MensajeEscrito el 01 Sep 2006 09:58 pm
Gracias Yranac me sirvio muchisimo

Salu2 a todos

Por Zis

Claber

314 de clabLevel

1 tutorial

Genero:Masculino  

Bell Ville - Cordoba - Argentina

firefox
Citar            
MensajeEscrito el 02 Sep 2006 12:18 am
digo, no soy experto en esto pero, no seria mejor guardar user y pass en DB o en un archivo de texto fuera del directorio local?

Por _pablito_

Claber

190 de clabLevel



Genero:Masculino  

Argentina

firefox
Citar            
MensajeEscrito el 02 Sep 2006 09:39 am
La verdad no es lo habitual que esté en el fichero php tanto el usuario como la contraseña.
Bueno, yo es que siempre que he usado usuarios y contraseñas utilizé una base de datos para poder añadirlos y eliminarlos sin cambiar el código, pero bueno, yo le ayudé en lo que el pedía :lol: :lol: :lol:
Saludos a todos

Por Yranac

421 de clabLevel



Genero:Masculino  

Lugo, Galicia

firefox
Citar            
MensajeEscrito el 02 Sep 2006 02:44 pm
Si la verdad es mejor usar DB, seria mas seguro y mas fácil de administrar, pero estoy esperando que mi servidor me habilite el panel de control ya que mi hosting es nuevito… :lol:
Ahora ya que estamos, una pregunta ¿¿¿hay otra forma de entrar el panel de control si que sea desde /cpanle o :2083????

Gracias y salu2 :D

Por Zis

Claber

314 de clabLevel

1 tutorial

Genero:Masculino  

Bell Ville - Cordoba - Argentina

firefox
Citar            
MensajeEscrito el 02 Sep 2006 08:33 pm
Si la hay yo no la conozco... ¬¬ ¬¬

puedes entrar por:

- nombredominio.ext/cpanel
- nombredominio.ext:2082

Bueno, por ejemplo yo cuando transfiero un dominio, mientras no se completa la transferencia utilizo el panel del control del servidor, pero que es lo mismo en el fondo....

- hostingtal.proveedor.ext/cpanel

Si hay alguna otra forma no la conozco.....

Por Yranac

421 de clabLevel



Genero:Masculino  

Lugo, Galicia

firefox
Citar            
MensajeEscrito el 09 Sep 2006 08:27 pm
Muy básicamente decir que lo que se suele hacer es trabajar con variables de sesión. Si el logueo es correcto se asigna a cierto una variable de sesión que luego ya utilizarías en todas las páginas que quieras de acceso sólo a admin.

Sería algo así:

login.php:

Código :

<?
ob_start();
session_start();

$mi_user="yoseman";
$mi_pass="pass";
// Si se enviaron datos desde el formulario
if ($_POST['enviar'])
{
   // + coinciden claves
   if ($_POST['usuario']==$mi_user && $_POST['password']==$mi_pass)
   {
      $_SESSION['es_admin']=true;
      
   }
   else
   {
      $_SESSION['es_admin']=false;
   }
   header("Location: admin.php");
}
else
{?>


<table align="center" width="30%" style="border:2px groove #666666;background:#999999;">
<tr>
<form name="formulario" method="post" action=""> 
   <td align="center" style="padding:10px">usuario</td>
   <td align="left"><input name="usuario" type="text"></td>
</tr>
<tr>
   <td align="center">contraseña</td>
   <td align="left"><input type="password" name="password"></td>
</tr>
<tr>
   <td align="center" colspan="2">
   <input type="submit" name="enviar" value="enviar">
   </td>
</tr>
</table>
   
</form>
<?}
ob_end_flush();

?>


admin.php(esquema de página tipo admin):

Código :

<?
ob_start();
session_start();
if ($_SESSION['es_admin']==true)
{
   echo"aquí va el contenido de admin";
}
else
{
   echo"no estás autorizado a ver esta página";
   // header("location: login.php"); si quieres redirigir en caso de error al login...
   // header("location: otra.php"); si quieres redirigir en caso de error a otra página...

}
ob_end_flush();
?>


La ventaja es que las páginas de tipo 'admin.php' tiene todas el mismo esquema y no necesitas comparar claves, a partir de que el user se loguea consultas la variable de sesión y listo :D . Y si accede vía url a cualquier página como no ha pasado por el form pués le mandaría a freir puñetas(de no ser que se hubiese logueado con anterioridad y no haya transcurrido el tiempo de expiración de sesión en cuyo caso la sesión continuaría y seguiría logueado)

Bueno, esto en plan simple, como comprenderás se puede mejorar pero muxo...

Por ejemplo y para no extenderme demasiado...

Crearte un sistema de registro de usuarios con una tablita de usuarios en la base de datos en la cual tienes un campo de nombre y otro de pass, luego un campo de tipo de usuario, por ejemplo 1-admin 2-usuario normal. Primero leerías que el logueo es correcto, es decir que el usuario y la clave coinciden, en cuyo caso recogerías el tipo de usuario. Crearías la variable de sesión 'es_admin' o 'es_usuario' según el tipo recogido de la db y lo demás sería muy parecido. No sé si me explico. Se trata de basarte en variables de sesión a partir del logueo y mostrar lso contenidos de las páginas evaluando éstas.

Salu2 ;)

Por yoseman

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Sep 2006 03:56 pm

yoseman escribió:

Muy básicamente decir que lo que se suele hacer es trabajar con variables de sesión. Si el logueo es correcto se asigna a cierto una variable de sesión que luego ya utilizarías en todas las páginas que quieras de acceso sólo a admin.

Sería algo así:

login.php:

Código :

<?
ob_start();
session_start();

$mi_user="yoseman";
$mi_pass="pass";
// Si se enviaron datos desde el formulario
if ($_POST['enviar'])
{
   // + coinciden claves
   if ($_POST['usuario']==$mi_user && $_POST['password']==$mi_pass)
   {
      $_SESSION['es_admin']=true;
      
   }
   else
   {
      $_SESSION['es_admin']=false;
   }
   header("Location: admin.php");
}
else
{?>


<table align="center" width="30%" style="border:2px groove #666666;background:#999999;">
<tr>
<form name="formulario" method="post" action=""> 
   <td align="center" style="padding:10px">usuario</td>
   <td align="left"><input name="usuario" type="text"></td>
</tr>
<tr>
   <td align="center">contraseña</td>
   <td align="left"><input type="password" name="password"></td>
</tr>
<tr>
   <td align="center" colspan="2">
   <input type="submit" name="enviar" value="enviar">
   </td>
</tr>
</table>
   
</form>
<?}
ob_end_flush();

?>


admin.php(esquema de página tipo admin):

Código :

<?
ob_start();
session_start();
if ($_SESSION['es_admin']==true)
{
   echo"aquí va el contenido de admin";
}
else
{
   echo"no estás autorizado a ver esta página";
   // header("location: login.php"); si quieres redirigir en caso de error al login...
   // header("location: otra.php"); si quieres redirigir en caso de error a otra página...

}
ob_end_flush();
?>


La ventaja es que las páginas de tipo 'admin.php' tiene todas el mismo esquema y no necesitas comparar claves, a partir de que el user se loguea consultas la variable de sesión y listo :D . Y si accede vía url a cualquier página como no ha pasado por el form pués le mandaría a freir puñetas(de no ser que se hubiese logueado con anterioridad y no haya transcurrido el tiempo de expiración de sesión en cuyo caso la sesión continuaría y seguiría logueado)

Bueno, esto en plan simple, como comprenderás se puede mejorar pero muxo...

Por ejemplo y para no extenderme demasiado...

Crearte un sistema de registro de usuarios con una tablita de usuarios en la base de datos en la cual tienes un campo de nombre y otro de pass, luego un campo de tipo de usuario, por ejemplo 1-admin 2-usuario normal. Primero leerías que el logueo es correcto, es decir que el usuario y la clave coinciden, en cuyo caso recogerías el tipo de usuario. Crearías la variable de sesión 'es_admin' o 'es_usuario' según el tipo recogido de la db y lo demás sería muy parecido. No sé si me explico. Se trata de basarte en variables de sesión a partir del logueo y mostrar lso contenidos de las páginas evaluando éstas.

Salu2 ;)


Muy buena "yoseman", en algo asi estaba trabajando (hasta antes que llegara la semana de examenes XD ), la parte de usuario ya la tengo pero me faltaba era la parte de administración. Aunque ya habia leido algunos tutos, tu explicacion me ayudo a aterrizar algunas cositas.

Salu2

Por Jorgelig

Claber

3035 de clabLevel

12 tutoriales

 

Monterrey, Nuevo Leon, MX

firefox
Citar            
MensajeEscrito el 20 Jun 2008 02:36 am
como hago para guardar el user y pass en un archivo de texto fuera del directorio local para que no me vean los datos en el codigo fuente? saludos!

Por charco88

6 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 13 Nov 2008 12:17 am
Intente hacerlo pero me manda error.

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\AppServ\www\pass\login.php:8) in C:\AppServ\www\pass\login.php on line 11

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\pass\login.php:8) in C:\AppServ\www\pass\login.php on line 11

Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\pass\login.php:8) in C:\AppServ\www\pass\login.php on line 28
en q me estare equivocando?

login.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<?

ob_start();
session_start();

$mi_user="ross";
$mi_pass="pass";
// Si se enviaron datos desde el formulario
if ($_POST['enviar'])
{
// + coinciden claves
if ($_POST['usuario']==$mi_user && $_POST['password']==$mi_pass)
{
$_SESSION['es_admin']=true;

}
else
{
$_SESSION['es_admin']=false;
}
header("Location: admin.php");
}
else
{?>


<table align="center" width="30%" style="border:2px groove #666666;background:#999999;">
<tr>
<form name="formulario" method="post" action="">
<td align="center" style="padding:10px">usuario</td>
<td align="left"><input name="usuario" type="text"></td>
</tr>
<tr>
<td align="center">contraseña</td>
<td align="left"><input type="password" name="password"></td>
</tr>
<tr>
<td align="center" colspan="2">
<input type="submit" name="enviar" value="enviar">
</td>
</tr>
</table>

</form>
<?}
ob_end_flush();

?>


<body>
</body>
</html>

y el de admin.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<?
ob_start();
session_start();
if ($_SESSION['es_admin']==true)
{
echo"aquí va el contenido de admin";
}
else
{
echo"no estás autorizado a ver esta página";
// header("location: login.php"); si quieres redirigir en caso de error al login...
// header("location: otra.php"); si quieres redirigir en caso de error a otra página...

}
ob_end_flush();
?>

<body>
</body>
</html>

Por rossprin24

1 de clabLevel



 

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.