Hola amigos les comento que tengo un problema con el SUBSTRING de la consulta, y es que por alguna razon no me quiere tomar la variable $ccusuario
la cual cuenta la cantidad de caracteres de lo que ingreso.
el tema es que si mi usuario es
[email protected] yo puedo ingresar kaninox como
[email protected] y ambos deberian ser validos, pero resulta que aqui puedo poner
ka ó
k ó
kan etc... y su contraseña valida obviamente y me valida igual, por lo que veo que no me esta tomando esta variable alguna idea?
si pongo la variable en comillas dobles o sin ellas me da el error si la pongo en comillas simples no me deja con nada :/
Código PHP:
Ver original<?php
include "conexion.php"; //conexion.
//Funcion para limpiar cadenas de caracteres especiales
function limpiaCadena ($cadena)
{
}
//comprobamos si viene un email completo o nombre usuario y validamos ambas entradas
$posicion_final = stripos("$_POST[user]", "@"); if ($posicion_final != "") {$valida_usuario=substr($_POST[user
],0,$posicion_final);}else{$valida_usuario = "$_POST[user]";} $con_nex = limpiaCadena($_POST[contrasena]);
$contra_encript = md5($con_nex); // contraseña //contamos los caracteres del nombre usuario y validamos
$ccusuario = strlen($_POST[user
]); // ¿El usuario existe?
." WHERE SUBSTRING(email, 1, $ccusuario)= BINARY '$user_in' "
." AND contrasenia = '$contra_encript' "
." AND bandera_activo = '1'");
{
......
se me olvidaba agregar que se que es ese el problema por que si le pongo el dato a mano digamos kaninox tiene 7 caracteres me funciona correctamente, hay algo que hace que no me tome la variable o se la salte :/
#
." WHERE SUBSTRING(email, 1, 7)= BINARY '$user_in' "