Foros del Web » Programando para Internet » PHP »

usuario y contraseña

Estas en el tema de usuario y contraseña en el foro de PHP en Foros del Web. he encontrado este codigo y lo he pegado tal cual en la primera pagina: Código HTML: <html> <body> <form method= "POST" action= "password.php" > Usuario: ...
  #1 (permalink)  
Antiguo 18/03/2006, 19:52
 
Fecha de Ingreso: enero-2006
Mensajes: 140
Antigüedad: 18 años, 3 meses
Puntos: 0
usuario y contraseña

he encontrado este codigo y lo he pegado tal cual


en la primera pagina:

Código HTML:
<html>
<body>
<form method="POST" action="password.php">
Usuario: <input type="text" name="usuario" size="10"><br>
Password: <input type="password" name="password" size="10"><br>
<input type="submit" value="Enviar" name="privado">

</body>
</html> 
en la segunda pagina (password.php):

Código PHP:
<? 
// Comparamos a ver si son correctos
if ($usuario=="pepa" && $password=="flores")
{
$valido="si";
}
else
{
$valido="no";

?>
<html>
<head>
<title>Pagina privada</title>
</head>
<body>
<? if ($valido=="si")
{
?>
' A continuación todo el contenido de nuestra pagina privada
<p>BIENVENIDO A LA PAGINA PRIVADA</p>
<? }
else
{
?>
<p>USUARIO O CONTRASEÑA INCORRECTA</p>
<? ?>
</body>
</html>
no entiendo en que falla, ponga lo que ponga siempre me sale esto:

A continuación todo el contenido de nuestra pagina privada
BIENVENIDO A LA PAGINA PRIVADA
USUARIO O CONTRASEÑA INCORRECTA

lo he probado de mil formas pero nada, y este mismo codigo le ha funcionado a mucha gente, por que a mi no?
  #2 (permalink)  
Antiguo 18/03/2006, 20:29
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
if ($usuario=="pepa" && $password=="flores") estas usando "pepa" como usuario y flores como password ?? yo te recomiendo hacer un sistema de usuarios
  #3 (permalink)  
Antiguo 18/03/2006, 20:43
Avatar de blogger  
Fecha de Ingreso: diciembre-2005
Ubicación: frente al monitor
Mensajes: 398
Antigüedad: 18 años, 4 meses
Puntos: 12
Pues quien sabe

En realidad yo no se mucho de PHP, así que no puedo decirte que esta bien o que esta mal con el codigo...

Pero te puedo recomendar este script que a mi me ha funcionado muy bien....

Primero, creamos la pagina de validación val.php (ponle el nombre que tu quieras)...
Código:
<?php

/* Config Section */

$pass		= 'password';		// Aquí escribes el password.
$cookiename	= 'valcookie';		// Esto es opcional, la validación crea un cookie, y aquí le puedes poner el nombre que tu quieras. El nombre por default es valcookie.
$expirytime	= time()+3600; 		// Esto también es opcional. Aquí le dices al cookie cuando expira el password (en segundos). El default es 1 hora.
$msg		= 'Te equivocaste, vuelve a intentarlo.';	// Esto también es opcional. Aquí especificas el mensaje de error que saldra cuando se escriba incorrectamente el password.

/* End Config */

/* Logout Stuff - Sept 5, 2005 */

if (isset($_REQUEST['logout'])) {
	setcookie($cookiename,'',time() - 3600);							// remove cookie/password
	if (substr($_SERVER['REQUEST_URI'],-12)=='?logout=true') {			// if there is '?logout=true' in the URL
		$url=str_replace('?logout=true','',$_SERVER['REQUEST_URI']);	// remove the string '?logout=true' from the URL
		header('Location: '.$url);										// redirect the browser to original URL
	}
	show_login_page('');
	exit();
}

$logout_button='<form action="'.$_SERVER['REQUEST_URI'].'" method="post"><input type="submit" name="logout" value="Logout" /></form>';
$logout_text='<a href="'.$_SERVER['REQUEST_URI'].'?logout=true">Logout</a>';

/* End Logout Stuff */

/* FUNCTIONS */
$encrypt_pass=md5($pass);	// encrypt password

function setmycookie() {
global $cookiename,$encrypt_pass,$expirytime;
	setcookie($cookiename,$encrypt_pass,$expirytime);
}	

function show_login_page($msg) {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Authorization Required</title>
<style type="text/css">
<!--
.error {color:#A80000}
body {font:90% Verdana, Arial, sans-serif;color:#404040}
#wrapper {width:800px;margin:0 auto;border:1px solid #606060}
#main {text-align:center;padding:15px}
#header {font:bold 130% Verdana, Arial, sans-serif;color:#DDDDDD;width:100%;height:5em;text-align:center;background:#A80000;line-height:5em}
#mid {margin:5em 0 5em 0}
#footer {font-size:75%;text-align:center;width:100%}
input {border:1px solid #606060; background: #DDDDDD}
-->
</style>
</head>
<body>
<div id="wrapper">
	<div id="header">Autorización Requerida</div>
<div id="main">
	<div id="mid">
				
		<form action="" method="POST">
			Password:&nbsp;<input type="password" name="password" size="20">&nbsp;
			<input type="submit" value="Login">
			<input type="hidden" name="sub" value="sub">
		</form>
		<div class=error><?=$msg?></div>
	</div>
</div>
</div>
<div id="footer">Autentificado Por <a href="http://www.zann-marketing.com/sas/">Simple Script de Validación</a> Copyright &copy; 2006.</div>
</body>
</html>
<? }

/* END FUNCTIONS */

$errormsg='';
if (isset($_POST['sub'])) {						// if form has been submitted
	$submitted_pass=md5($_POST['password']);	// encrypt submitted password
	if ($submitted_pass<>$encrypt_pass) {		// if password is incorrect
		$errormsg=$msg;
		show_login_page($errormsg);
		exit();
	} else {									// if password is correct
		setmycookie();
	}
} else {
	if (isset($_COOKIE[$cookiename])) {			// if cookie isset
        if ($_COOKIE[$cookiename]==$encrypt_pass) {	// if cookie is correct
		   // do nothing
		} else {								// if cookie is incorrect
			show_login_page($errormsg);
			exit();
		}
	} else {									// if cookie is not set
		show_login_page($errormsg);
		exit();
	}
}
?>
Y ahora la pagina de entrada... en cada pagina que sea validada por el script escribes el siguiente codigo en la primer linea:

Código:
<?
require('val.php');
?>
Y listo, esto te funcionara muy bien.

Saludos
__________________
http://exegesis-biblica.com/
  #4 (permalink)  
Antiguo 19/03/2006, 00:27
Avatar de ivaanadame  
Fecha de Ingreso: agosto-2005
Ubicación: México
Mensajes: 141
Antigüedad: 18 años, 7 meses
Puntos: 0
Sonrisa Es Cierto, A MI TAMBIEN ME FUNCIONA CORRECTAMENTE!

Cita:
Iniciado por gingerk
he encontrado este codigo y lo he pegado tal cual


en la primera pagina:

Código HTML:
<html>
<body>
<form method="POST" action="password.php">
Usuario: <input type="text" name="usuario" size="10"><br>
Password: <input type="password" name="password" size="10"><br>
<input type="submit" value="Enviar" name="privado">

</body>
</html> 
en la segunda pagina (password.php):

Código PHP:
<? 
// Comparamos a ver si son correctos
if ($usuario=="pepa" && $password=="flores")
{
$valido="si";
}
else
{
$valido="no";

?>
<html>
<head>
<title>Pagina privada</title>
</head>
<body>
<? if ($valido=="si")
{
?>
' A continuación todo el contenido de nuestra pagina privada
<p>BIENVENIDO A LA PAGINA PRIVADA</p>
<? }
else
{
?>
<p>USUARIO O CONTRASEÑA INCORRECTA</p>
<? ?>
</body>
</html>
no entiendo en que falla, ponga lo que ponga siempre me sale esto:

A continuación todo el contenido de nuestra pagina privada
BIENVENIDO A LA PAGINA PRIVADA
USUARIO O CONTRASEÑA INCORRECTA

lo he probado de mil formas pero nada, y este mismo codigo le ha funcionado a mucha gente, por que a mi no?
En donde lo corres?, en localhost, que servidor tienes instalado?
__________________
Recetas de Cocina | http://www.comidasypostres.com
  #5 (permalink)  
Antiguo 19/03/2006, 00:44
Avatar de icebeam  
Fecha de Ingreso: marzo-2006
Mensajes: 27
Antigüedad: 18 años, 1 mes
Puntos: 0
Te falta hacer el request de los valores tecleados por el usuario en la primer pagina. Coloca el siguiente codigo en password.php, al principio:

Código PHP:
$usuario=$_REQUEST["usuario"];
$password=$_REQUEST["password"]; 
Despues coloca el codigo que tienes en password.php y deberia funcionarte. Si vas a hacer un sistema utiliza un control de usuarios como bien te recomienda ZydRick.
  #6 (permalink)  
Antiguo 19/03/2006, 09:53
 
Fecha de Ingreso: diciembre-2005
Mensajes: 165
Antigüedad: 18 años, 3 meses
Puntos: 4
Deberias usar las variables como $_POST['usuario'] y $_POST['password'] ya que vienen de un formulario enviados por el metodo POST.

En segundo lugar, deberias omitir algunos pasos que lo unico que hacen es crear un codigo mas largo e innecesario, es decir, en vez asignar un valor a $valido segun sean el user y el password correcto y luego comprobar el varlo de $valido, deberias mostrar directamente el codigo correspondiente segun sean los datos correctos o no. En resumen, tu script de forma mas precisa:
password.php
Código PHP:
<?
if (($_POST['usuario'] == "pepa") && ($_POST['password'] == "flores")) { ?> 
<p>BIENVENIDO A LA PAGINA PRIVADA</p> 
<? } else { ?> 
<p>USUARIO O CONTRASEÑA INCORRECTA</p> 
<? ?>
Hasta luego
  #7 (permalink)  
Antiguo 19/03/2006, 10:17
 
Fecha de Ingreso: enero-2006
Mensajes: 140
Antigüedad: 18 años, 3 meses
Puntos: 0
ZydRick:
Cita:
yo te recomiendo hacer un sistema de usuarios
Lo intentare mas adelante.

blogger:
Cita:
En realidad yo no se mucho de PHP, así que no puedo decirte que esta bien o que esta mal con el codigo...

Pero te puedo recomendar este script que a mi me ha funcionado muy bien....
Muchas gracias por contestarme, pero ese codigo es un poco complicado para mi por ahora, me suena a chino!!!jejeje Muchas gracias ehh, si no encuentro solucion lo probare.

ivaanadame:
Cita:
En donde lo corres?, en localhost, que servidor tienes instalado?
Trabajo en local, quiza por eso me falla? uso el programa wamp.

icebeam:
Cita:
Te falta hacer el request de los valores tecleados por el usuario en la primer pagina. Coloca el siguiente codigo en password.php, al principio:


Código PHP:
Código PHP:
$usuario=$_REQUEST["usuario"]; 
$password=$_REQUEST["password"]; 
Despues coloca el codigo que tienes en password.php y deberia funcionarte.
Lo he probado y no funciona:
password.php

Código PHP:
$usuario=$_REQUEST["usuario"]; 
$password=$_REQUEST["password"];  
<?  
// Comparamos a ver si son correctos 
if ($usuario=="pepa" && $password=="flores"

$valido="si";  etc etc etc...
era asi?

Cubatron:
Cita:
Deberias usar las variables como $_POST['usuario'] y $_POST['password'] ya que vienen de un formulario enviados por el metodo POST.
Lo he probado y no funciona, quiza sea por q trabajo en local, es q no lo se yo ya me estoy pegando cabezazos contra la pared

un abrazo.
  #8 (permalink)  
Antiguo 19/03/2006, 10:24
 
Fecha de Ingreso: enero-2006
Mensajes: 140
Antigüedad: 18 años, 3 meses
Puntos: 0
Ya esta solucionado!!!! no me saldran mas chichones!!!
el problema era que trabajaba en local, lo he probado con un servidor y funciona correctamente, mil gracias.
  #9 (permalink)  
Antiguo 20/03/2006, 09:20
Avatar de icebeam  
Fecha de Ingreso: marzo-2006
Mensajes: 27
Antigüedad: 18 años, 1 mes
Puntos: 0
Que bueno que te haya funcionado, pero el código que te puse tambien va dentro del codigo PHP, es decir, dentro de los tags <?php ?>.

Saludos
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 02:55.