Autor Tema: [AYUDA] Mayusculas y minusculas  (Leído 947 veces)

Desconectado RamFu

  • Moderadores Flash
  • PHPero Experto
  • ****
  • Mensajes: 778
  • Karma: 72
  • Sexo: Masculino
  • Programador y desarollador Actionscript y PHP
    • Ver Perfil
    • Google
[AYUDA] Mayusculas y minusculas
« en: 27 de Junio de 2008, 01:39:07 am »
Hola, necesito algo de ayuda ;D

He echo un tagboar un poquito 'chusta', con login, etc. Y el login es del palo MC v6, pero tengo un problema :S

Cuando pongo mi nombre en mayusculas puedo escribir un mensaje sin poner la pass en cambio si lo pongo como en la DB, en minusculas todo, si que se loguea. Me gustaria que aunque se pusiera en mayus, se logueara igual.

Gracias!

Comunidad PHPeros

[AYUDA] Mayusculas y minusculas
« en: 27 de Junio de 2008, 01:39:07 am »

Desconectado josheles

  • PHPer@
  • **
  • Mensajes: 62
  • Karma: 2
    • Ver Perfil
Re: [AYUDA] Mayusculas y minusculas
« Respuesta #1 en: 27 de Junio de 2008, 14:08:19 pm »
Hola, necesito algo de ayuda ;D

He echo un tagboar un poquito 'chusta', con login, etc. Y el login es del palo MC v6, pero tengo un problema :S

Cuando pongo mi nombre en mayusculas puedo escribir un mensaje sin poner la pass en cambio si lo pongo como en la DB, en minusculas todo, si que se loguea. Me gustaria que aunque se pusiera en mayus, se logueara igual.

Gracias!

Pues antes de comprovar pasa lo que has introducido a minusculas, y  haz tambien que ala añadir un dato como el nick en la base de datos lo hagas en minusculas con la funcion strtolower();

por ejemplo

<?PHP
 $nick 
strtolower($_POST["nick"]); //Pasamos a minúsculas
 
$sacanick mysql_query("SELECT nick FROM `usuarios`")
                  or die(
mysql_error()); //Sacamos nick de la db
 
$nicks mysql_fetch_array($sacanick); //Hacemos el array
 
$count count($nicks); //Contamos el array
 
 
for ($i=$i<$count $i++)
 {
  if (
$nicks[$i] == $nick) {
   echo 
"Correctamente logueado";
  }
 }
 
//Comprovamos con un bucle que en el array está el nick
?>


Y para añadir un dato
<?PHP
 $nick 
strtolower($_POST["nick"]); //Pasamos a minusculas
 
$metedatos mysql_query("INSERT INTO `usuarios` VALUES(&#39;&#39;,&#39;$nick&#39;,&#39;mas&#39;,&#39;valres&#39;)")
                    or die(
mysql_error()); //Metemos en base de datos
?>
« Última modificación: 27 de Junio de 2008, 14:16:34 pm por josheles »
<?php 
for ($i=0;$i>1;$i--) {
 echo 
"Soy un buuuuucle interminable";
}
?>

Desconectado naveda

  • Administrador General
  • PHPero Master
  • *****
  • Mensajes: 2.282
  • Karma: 165
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Re: [AYUDA] Mayusculas y minusculas
« Respuesta #2 en: 27 de Junio de 2008, 16:01:42 pm »
El problema seguramente no este en el Nick, el problema debe estar en la contraseña, porque el Hash de, por ejemplo, "prueba" no es el mismo que el de "PruEba", con lo cual el unico dato que habría que "minusculizar" en el registro y en el login es unicamente la contraseña, el nick al comprobarse mediante SQL no es necesario cambiarlo porque según tengo entendido SQL no diferencia entre mayusculas o minusculas en comprobaciones de texto.
Por favor, leete las Normas


Desconectado josheles

  • PHPer@
  • **
  • Mensajes: 62
  • Karma: 2
    • Ver Perfil
Re: [AYUDA] Mayusculas y minusculas
« Respuesta #3 en: 27 de Junio de 2008, 17:54:21 pm »
El problema seguramente no este en el Nick, el problema debe estar en la contraseña, porque el Hash de, por ejemplo, "prueba" no es el mismo que el de "PruEba", con lo cual el unico dato que habría que "minusculizar" en el registro y en el login es unicamente la contraseña, el nick al comprobarse mediante SQL no es necesario cambiarlo porque según tengo entendido SQL no diferencia entre mayusculas o minusculas en comprobaciones de texto.

a mi me extrañó que dijese que no le dejaba el nick porque a mi en cosas que he echo si me deja...

Pos cambiamos
<?PHP
 $nick 
strtolower($_POST["nick"]); //Pasamos a minúsculas
 
$sacanick mysql_query("SELECT nick FROM `usuarios`")
                  or die(
mysql_error()); //Sacamos nick de la db
 
$nicks mysql_fetch_array($sacanick); //Hacemos el array
 
$count count($nicks); //Contamos el array
 
 
for ($i=$i<$count $i++)
 {
  if (
$nicks[$i] == $nick) {
    
$pass strtolower($_POST["pass"]);
    
$pass md5($pass);

    
$sacapass mysql_query("SELECT pass FROM `usuarios` WHERE nick = &#39;$nick&#39;")
                      or die(
mysql_error()); //Sacamos la pass
    
$dbpass mysql_fetch_array($sacapass); //Hacemos el array

    
if ($pass === $dbpass[0]) { //Comprovamos que coinciden
        
echo "Logueado correctamente";
   }
   else 
//Si no coinciden
   
{
   die(
"La contraseña es incorrecta");
   }
  }
 }
 
//Comprovamos con un bucle que en el array está el nick
 //Despues comprovamos que las pass coincidan
?>


Y en el registro

<?PHP

  $nick 
strtolower($_POST["nick"]); //Pasamos a minusculas
  
$pass strtolower($_POST["pass"]); //Pasamos pass a minusculas
  
$pass md5($pass); //Pasamos pass a md5

 
$metedatos mysql_query("INSERT INTO `usuarios` VALUES(&#39;&#39;,&#39;$nick&#39;,&#39;pass&#39;)")
                    or die(
mysql_error()); //Metemos en base de datos
?>


Ala, ahi tienes ejemplos...
¡Saludos!
« Última modificación: 27 de Junio de 2008, 18:01:06 pm por josheles »
<?php 
for ($i=0;$i>1;$i--) {
 echo 
"Soy un buuuuucle interminable";
}
?>

Desconectado RamFu

  • Moderadores Flash
  • PHPero Experto
  • ****
  • Mensajes: 778
  • Karma: 72
  • Sexo: Masculino
  • Programador y desarollador Actionscript y PHP
    • Ver Perfil
    • Google
Re: [AYUDA] Mayusculas y minusculas
« Respuesta #4 en: 28 de Junio de 2008, 15:14:18 pm »
Gracias a todos... Ya encontre la solucion en vuestros posts, naveda y josheles...

Mersii!