Código
<?php if($_POST['password'] == $_POST['password2']){ $user = $_POST['user']; $password = $_POST['password']; $password2 = $_POST['password2']; $email = $_POST['email']; try { $con = new PDO('mysql:host=***********;dbname=**********', "****", "******"); $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $nombre_repetido = $con->query('SELECT USER FROM registro'); $usuario_repetido = false; foreach($nombre_repetido as $row){ if($row[0] == $user){ $usuario_repetido = true; break;} } if($usuario_repetido == false){ $return = $con->query("INSERT INTO registro (USER,PASSWORD,EMAIL,SHOWEMAIL) VALUES ('$user','$password','$email','$showemail')"); }catch (PDOException $e) { print "Error!: " . $e->getMessage() . "<br/>"; }}else{ } }else{ } ?>
¿Qué falla?
EDIT:
He hecho la siguiente estupidez para saber que es lo que está fallando:
Código
<?php $user = "casa"; $comparar = "caSa"; if($user === $comparar) {echo 'Misma palabra';}else{echo 'No es la misma palabra';} ?>
El resultado:
Código
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
(...) }