¿Algo para sustituir a strlen?

  • Autor Autor Griffith
  • Fecha de inicio Fecha de inicio
Griffith

Griffith

Épsilon
Verificado por Whatsapp
Hola, estoy teniendo problemas, al intentar realizar comentarios en mi plataforma da error, aun poniendo caracteres entre 10 y 1000. Es curioso porque sí funciona si antes del comentario introduces un espacio.

Creo que tiene que ver con la versión PHP y strlen.

Cómo puedo sustituir strlen por otra cosa para hacer funcionar esto ¿?

PHP:
public static function user($input){
            global $userData;
            if(!$userData) return;
            if(!Recaptcha::validate()) return;
            $review = isset($input['review']) ? $input['review'] : '';
            $user = isset($input['user']) ? $input['user'] : 0;

            if(strlen($review) < 10 || strlen($review > 1000))
                return self::alert('error', 'Su comentario debe tener entre 10 y 1000 caracteres.');
            $U = User::find($user);
 
Hola, estoy teniendo problemas, al intentar realizar comentarios en mi plataforma da error, aun poniendo caracteres entre 10 y 1000. Es curioso porque sí funciona si antes del comentario introduces un espacio.

Creo que tiene que ver con la versión PHP y strlen.

Cómo puedo sustituir strlen por otra cosa para hacer funcionar esto ¿?

PHP:
public static function user($input){
            global $userData;
            if(!$userData) return;
            if(!Recaptcha::validate()) return;
            $review = isset($input['review']) ? $input['review'] : '';
            $user = isset($input['user']) ? $input['user'] : 0;

            if(strlen($review) < 10 || strlen($review > 1000))
                return self::alert('error', 'Su comentario debe tener entre 10 y 1000 caracteres.');
            $U = User::find($user);
Aqui tienes un error
PHP:
 if(strlen($review) < 10 || strlen($review > 1000))
seria así
PHP:
 if(strlen($review) < 10 || strlen($review) > 1000)
 
Hola,

No creo que sea la versión de PHP porque strlen trabaja desde la v4. Revisa el error que te comentaron arriba y nos cuentas.
 
Aqui tienes un error
PHP:
 if(strlen($review) < 10 || strlen($review > 1000))
seria así
PHP:
 if(strlen($review) < 10 || strlen($review) > 1000)

No debería ser con dos ) para cerrar el if?

De todas formas lo probé y no es eso.
 
No debería ser con dos ) para cerrar el if?

De todas formas lo probé y no es eso.
No, por que como lo tienes estas haciendo la condición dentro de la función, a la función solo se le pasa el string.
 
Fijate si $input['review'] no es un string.
 
Estas usando Laravel?? usa validation ya esta todo hecho.

Si no usas Laveral revisa el codigo fuente de esa clase, haz un helper y mete todos los validadores que necesites.
 
Atrás
Arriba