Foros del Web » Programando para Internet » PHP »

Ignorar Mayusculas

Estas en el tema de Ignorar Mayusculas en el foro de PHP en Foros del Web. Tengo un formulario de registro donde los usuarios ponen: Nombre: jUaN Contrasenya: 1234 Luego hay un archivo donde hacen el login I ponen: Nombre: juan ...
  #1 (permalink)  
Antiguo 13/02/2009, 14:31
 
Fecha de Ingreso: septiembre-2008
Mensajes: 211
Antigüedad: 15 años, 7 meses
Puntos: 2
Ignorar Mayusculas

Tengo un formulario de registro donde los usuarios ponen:


Nombre: jUaN
Contrasenya: 1234


Luego hay un archivo donde hacen el login

I ponen:

Nombre: juan
Contraenya: 1234

Lo que quiero esque cuando pongan por ejemplo: "juan" aunque en la base de datos haya guardado : "jUaN" el archivo ignore las mayusculas i las encuentre.

No se si hay alguna funcion i si la hubiera tendria que ir en el formulario de login?



Muchas gràcias!
  #2 (permalink)  
Antiguo 13/02/2009, 14:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Ignorar Mayusculas

Hola mesoriginal,

Revisa el collation de tu base de datos, este tiene que acabar con los caracteres ci, para character insensitive, eso hace que el engine de la base de datos ignore si es minusculas o mayusculas.

Otra opción es buscar así:
Código php:
Ver original
  1. $query = "SELECT * FROM usuarios WHERE UPPER(usuario)=UPPER('$user') LIMIT 1;

Saludos
  #3 (permalink)  
Antiguo 13/02/2009, 14:44
 
Fecha de Ingreso: septiembre-2008
Mensajes: 211
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Ignorar Mayusculas

UPPER es una funcion? o solo tengo que ponerle el charset de la BDD en ci final?
  #4 (permalink)  
Antiguo 13/02/2009, 14:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Ignorar Mayusculas

UPPER es una función de SQL, el charset es por si quieres hacer que todo tu texto sea case insensitive.

Saludos
  #5 (permalink)  
Antiguo 13/02/2009, 14:55
 
Fecha de Ingreso: septiembre-2008
Mensajes: 211
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Ignorar Mayusculas

Mi coidgo es este, puse la funcion UPPER delante de la variable i puse utf8_general_ci en la base de datos en la fila NICK usando VARCHAR

pero nada de nada

Código PHP:
<?php
echo '<tr><td width=100% height="3" valign=top>';
@
session_start();
session_register();
include(
'config.ini.php');
/////////////////////////////////////////////

include('conex.php');

/////////////////////////////////////////////
$query mysql_query("SELECT * FROM user") or die(mysql_error()); 
$data mysql_fetch_array($query);
if(!isset(
$_SESSION['login'])){

}
else{

$query2 mysql_query("SELECT * FROM ".$info['table2']." WHERE nick = '".$_SESSION['login']."'") or die(mysql_error()); 
$row mysql_fetch_array($query2); 
echo 
"<table border=0 width=200><tr><td valign=top class=text>";
echo 
"<b><center><a href=logoup.php>SORTIR</a></center></B><br>";
$foto=$row["foto"];
echo 
"<td class=text><center>".$row["nom"]."<br><img src=foto/$foto  height=120></b></center></td></tr></table>";
}

if (
$_POST) { 
//Comprobacion del envio del nombre de usuario y password 
$username=$_POST['nick']; 
$password=$_POST['clave'];
if(
$username==NULL){
echo 
"";
}elseif (
$password==NULL) { 
echo 
" Falta posar la contrasenya.";
}elseif (
$password==NULL and $username==NULL) { 
echo 
" Tens els dos camps buids.";  
}else{ 
$query mysql_query("SELECT * FROM ".$info['table2']." WHERE UPPER(nick = '$username')") or die(mysql_error()); 
$data mysql_fetch_array($query); 
if(
$data['nick'] != $username) { 
echo 
"No conicideix o no existeix."
}elseif(
$data['clave'] != $password){
echo 
" La contrasenya és incorrecte.";
}else{ 
$query mysql_query("SELECT * FROM ".$info['table2']." WHERE UPPER(nick = '$username')") or die(mysql_error()); 
$row mysql_fetch_array($query);
$_SESSION['login']=$row['nick'];
$_SESSION['id']=$row['nivel'];
$sessid $_COOKIE['PHPSESSID'];
if(
$row[estado] == 1){
echo 
"Activa la teva compte";
}
else{
if(
$sessid == NULL){

echo 
"<br><a href=logout.php><b>Temps expirat. Tanca la sessió.
</b></a>"
;
}
else{
  
echo 
"<script>location='zonasoci.php?PHPSESSID=$sessid'</script>";
}
}


}
echo 
'</td></tr>'
}

?>

Última edición por mesoriginal; 13/02/2009 a las 14:58 Razón: me olvide de poner la pregunta
  #6 (permalink)  
Antiguo 13/02/2009, 15:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Ignorar Mayusculas

Lee como es que te puse la sintaxis, tienes que usar UPPER en ambos valores.

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 14:43.