Foros del Web » Programando para Internet » PHP »

Ayuda con ejercicio PHP de registro de usuarios

Estas en el tema de Ayuda con ejercicio PHP de registro de usuarios en el foro de PHP en Foros del Web. Antes que nada quiero darle las gracias a Jahepi por su pronta y clara respuesta que me ha servido para aclarar conceptos. Bueno aqui vamos ...
  #1 (permalink)  
Antiguo 04/10/2005, 14:43
 
Fecha de Ingreso: octubre-2005
Mensajes: 23
Antigüedad: 18 años, 6 meses
Puntos: 0
Ayuda con ejercicio PHP de registro de usuarios

Antes que nada quiero darle las gracias a Jahepi por su pronta y clara respuesta que me ha servido para aclarar conceptos.

Bueno aqui vamos de nuevo

Estoy tratando de resolver un ejercicio en PHP el cual les dejo a continuacion:

<html>
<head>
<title>Ejercicio</title>

</head>

<body>

<?php

/*************************************************
* EJERCICIO *
* *
* El siguiente programa contiene un algoritmo *
* mediante el cual verifica las contraseña *
* válidas para acceder. *
* Identificar (y explicar) el algoritmo y *
* determinar tres combinaciones de nombres de *
* usuario y contraseña válidos. *
*************************************************/

if(!$_POST['username']) { // Esta linea chequea si la variable $_POST['username'] contiene algo o esta vacia.

// En caso de que la variable este vacia ejecutará aquí

?>

<form method="post" name="formulario"><!--Accedemos al objeto "form" con el metodo "Post" y le asignamos el nombre "formulario" -->

<p><b>Usuario:</b> <input type="text" name="username" /><br /><!--Creamos un parrafo,luego metemos en negrita "Usuario:" y a continuacion abrimos la etiqueta "input" y mediante su parametros "type" y "name" le asignamos los valores "text" y "username" respectivamente -->

<b>Password:</b> <input type="password" name="password" /></p><!--Creamos un parrafo,luego metemos en negrita "Password:" y a continuacion abrimos la etiqueta "input" y mediante su parametros "type" y "name" le asignamos los valores "password" y "password" respectivamente -->

<p><input type="submit" value="Ingresar" /></p><!--Creamos un parrafo, a continuacion abrimos la etiqueta "input" y mediante su parametros "type" y "value" le asignamos los valores "submit" y "ingresar" respectivamente -->

</form>

<?php

} else {
// En caso de que la variable tenga algo entramos aquí


for($i = strlen ($_POST['username']); $i >= 0; $i--) {//La variable "i" es igual a la longitud de la cadena de la variable "Post['username']" y si la longitud de esta misma es mayor o igual a "0" a "i" se le resta una unidad.

$char = substr($_POST['username'], $i, 1); //La variable "char" es igual a la porcion de la cadena de la variable "Post['username']" especificada por los parametros "$i" y "1" siendo el primero la longitud y el segundo la posicion.

$lchar = strtolower ($char);//La variable "lchar" es igual a toda la cadena de la variable "char" pasada a minusculas

if ($lchar != "a" and $lchar != "e" and $lchar != "i" and $lchar != "o" and $lchar != "u")//si la variable "lchar" es desigual a ('a','e','i','o','u')

$c = $c . strtoupper($char); // La variable "c" es igual a toda la cadena de la variable "char" pasada a mayusculas

else//Si no

$c = $c . strtolower($char); // La variable "c" es igual a toda la cadena de la variable "char" pasada a minusculas
}

if ($_POST['password'] == $c)//si la variable "Post['password']" es igual a la variable "c"
$entro = true;// La variable "entro" es verdadera

if ($entro)//Si entro es verdadera

echo "<span style=\"color: #008800; font-weight: bold;\">ACCESS GRANTED</span>. Lo has logrado!";//Imprimo en pantalla "ACCESS GRANTED" "Lo has logrado!" con sus respectivos estilos y colores

else//Si no

echo "<span style=\"color: #ff0000; font-weight: bold;\">ACCESS DENIED</span>. El acceso no ha funcionado";//Imprimo en pantalla "ACCESS DENIED" "El acceso no ha funcionado" con sus respectivos estilos y colores
}
//Por consiguiente aqui dejo tres combinaciones validas de Usuarios y Passwords que son los siguientes:
1-Usuario:s Password:S 2-Usuario:r Password:R 3-Usuario:n Password:N
?>

</body>
</html>

Mi problema es el siguiente no logro construir usuarios y passwords de mas de un caracter, como los que he expresado con anterioridad, a no ser que sea el mismo caracter repetido, como por ejemplo:

usuario: jjj
Password: JJJ

Alguien explicar detalladamente en donde esta mi error

Bueno desde ya Muchas Gracias

Salu2
Demonfire
  #2 (permalink)  
Antiguo 05/10/2005, 01:06
 
Fecha de Ingreso: julio-2005
Mensajes: 38
Antigüedad: 18 años, 8 meses
Puntos: 0
Buenos días demonfire.

le he echado un ojo a tu código y he visto donde está la parte que te impide construir usuarios y passwords de mas de un caracter.

Cuando recorres el bucle for, lo recorres al revés, es decir, si introduces usuario: demonfire lo vas recorriendo desde la e hasta la d.

Por consiguiente, cuando haces

$char = substr($_POST['username'], $i, 1); Te va a sacar la letra e (la primera vez, las siguientes veces seguirá hacia atrás).

Después cuando concatenas

$c = $c . strtoupper($char); o el lower. Podrás deducir que la primera vez te va a pillar la letra e que luego concatenará con la r después con la i...

Es decir, que al final esta variable contendrá el usuario pero al revés.

Espero haber sido claro, un saludo
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 07:49.