elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección.


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Distingue de mayusculas y minusculas.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Distingue de mayusculas y minusculas.  (Leído 260 veces)
#Aitor

Desconectado Desconectado

Mensajes: 108



Ver Perfil
Distingue de mayusculas y minusculas.
« en: 28 Febrero 2017, 17:24 »

Tengo una base de datos y a la hora de registrar en ella el tipico login, distingue entre mayúsculas y minúsculas, es decir, que podría crear dos usuarios llamados "Aitor" y "aitor" sin problema.

Código
  1. <?php
  2.  
  3. if(isset($_POST['user']) && strlen($_POST['user'])>0 &&
  4. isset($_POST['password']) && strlen($_POST['password'])>0 &&
  5. isset($_POST['password2']) && strlen($_POST['password2'])>0 &&
  6. isset($_POST['email']) && strlen($_POST['email'])>0){
  7.  
  8. if($_POST['password'] == $_POST['password2']){
  9.  
  10.  
  11. $user = $_POST['user'];
  12. $password = $_POST['password'];
  13. $password2 = $_POST['password2'];
  14. $email = $_POST['email'];
  15.  
  16. if (!isset($_REQUEST['showemail'])){$showemail = false;}else{$showemail = true;}
  17.  
  18.  
  19. try {
  20.    $con = new PDO('mysql:host=***********;dbname=**********', "****", "******");
  21.  
  22.    $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  23.  
  24.    $nombre_repetido = $con->query('SELECT USER FROM registro');
  25.    $usuario_repetido = false;
  26.  
  27.    foreach($nombre_repetido as $row){
  28.     if($row[0] == $user){
  29.     $usuario_repetido = true;
  30. break;}
  31.     }
  32.  
  33. if($usuario_repetido == false){
  34.  
  35.    $return = $con->query("INSERT INTO registro (USER,PASSWORD,EMAIL,SHOWEMAIL)
  36.    VALUES ('$user','$password','$email','$showemail')");
  37.  
  38. header("Location:Registrado.php");
  39.  
  40. }else{header("Location:Existente.php");}
  41.  
  42.  
  43. }catch (PDOException $e) {
  44.  
  45.    print "Error!: " . $e->getMessage() . "<br/>";
  46.  
  47.    die();
  48. }}else{
  49. header("Location:Diferente.php");
  50. }
  51.  
  52. }else{
  53.  
  54. header("Location:index.php");
  55. }
  56. ?>
  57.  

¿Qué falla?

EDIT:

He hecho la siguiente estupidez para saber que es lo que está fallando:

Código
  1. <?php
  2.  
  3. $user = "casa";
  4.  
  5. $comparar = "caSa";
  6.  
  7. if($user === $comparar)
  8. {echo 'Misma palabra';}else{echo 'No es la misma palabra';}
  9.  
  10. ?>

El resultado:

Código
  1. No es la misma palabra.

De modo qué, tenemos que la culpa la tiene el if, que no lo compara bien. (En verdad si lo compara bien, pero no como yo quiero) ¿alguna idea?

VUELVO A EDITAR:
SOLUCIÓN: Usar la función strnatcasecmp http://php.net/manual/es/function.strnatcasecmp.php tal que así

Código
  1.  if(strnatcasecmp($row[0], $user) == 0){
  2. (...)
  3. }


« Última modificación: 28 Febrero 2017, 18:39 por #Aitor » En línea

Mi algoritmo en PHP (estupideces y más).
Código
  1. while($Se_feliz){
  2.  Piensa_un_OBJETIVO(); // Sin excusas!
  3.  if($Tienes_un_objetivo){
  4.    Suspira(); // Sé paciente.
  5.    if($Consigues_el_objetivo){ echo "¡Felicidades #Aitor!";return;
  6.      //RETURN; ¿O volvemos a empezar?
  7.    }else{
  8.      Inténtalo_de_nuevo();
  9.    }
  10.  }
  11. }
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Mayusculas/minusculas
GNU/Linux
saliaz 2 1,197 Último mensaje 6 Junio 2008, 22:59
por ^Tifa^
mayusculas-MINUSCULAS XD passwords
Dudas Generales
Yasmesita 7 2,675 Último mensaje 5 Junio 2009, 22:50
por ‭lipman
Mayusculas y minusculas « 1 2 »
.NET
birdez 13 3,702 Último mensaje 31 Mayo 2012, 00:39
por birdez
Mayusculas a minusculas problema c++
Programación C/C++
nolram 8 1,573 Último mensaje 17 Abril 2014, 23:45
por rir3760
minusculas/mayusculas en login
Programación Visual Basic
elezekiel 2 627 Último mensaje 28 Agosto 2014, 01:01
por elezekiel
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines