Как проверить длину переменных
У меня есть форма входа, которая отправляет пользователя и ключ который обрабатывается с помощью этого кода:
<?php
if (($_SERVER['REQUEST_METHOD'] == 'POST') && ($_POST['action'] === 'login')) {
if (isset($_POST['usuario']) && isset($_POST['clave'])) {
$usuariodao = new UsuarioDAO();
$user = $usuariodao->login($$_POST['usuario'], $$_POST['clave']);
if($user->getUsuario()) {
header('Location: principal.php');
exit;
} else {
$tpl = new Plantilla();
$tpl->assign('errorLogin', 'Usuario y/o Clave incorrectos');
$tpl->display('index.tpl.php');
exit;
}
} else {
$tpl = new Plantilla();
$tpl->assign('errorLogin', 'Acceso no Autorizado');
$tpl->display('index.tpl.php');
exit;
}
} else {
$tpl = new Plantilla();
$tpl->assign('errorLogin', 'Acceso no Permitido');
$tpl->display('index.tpl.php');
exit;
}
?>
Как я могу проверить, что поля пользователь и ключ не имеют длины более 10 символов? И можно ли упростить первые два условных if.
1
2 answers
Согласно документации PHP Вы можете проверить длину строк, выполнив us функцииint strlen(string)
.
Получает целое число, которое возвращает длину string.
Так что если
$Usuario = 'Manolo';
if(strlen($Usuario) > 10)
{
//El usuario no es valido
}
<?php
if (($_SERVER['REQUEST_METHOD'] == 'POST') && ($_POST['action'] === 'login')) {
if (isset($_POST['usuario']) && isset($_POST['clave'])) {
if(strlen($_POST['usuario']) > 15 && strlen($_POST['clave']) > 15)
{
//Error
}
else
{
// Proceso de logueo
$usuariodao = new UsuarioDAO();
$user = $usuariodao->login($$_POST['usuario'], $$_POST['clave']);
if($user->getUsuario()) {
header('Location: principal.php');
exit;
} else {
$tpl = new Plantilla();
$tpl->assign('errorLogin', 'Usuario y/o Clave incorrectos');
$tpl->display('index.tpl.php');
exit;
}
} else {
$tpl = new Plantilla();
$tpl->assign('errorLogin', 'Acceso no Autorizado');
$tpl->display('index.tpl.php');
exit;
}
} else {
$tpl = new Plantilla();
$tpl->assign('errorLogin', 'Acceso no Permitido');
$tpl->display('index.tpl.php');
exit;
}
}}}
?>
1
Author: Héctor Manuel Martinez Durán, 2018-04-29 05:46:44
Вы можете создать другой метод Пример:
function countLong($var, $max)
{
if(strlen($var) >$max){
return strlen($var) . " > " . $max;
}
return strlen($var) . "< " . $max ;
}
echo countLong("usuario", 5);
Удачи
1
Author: outman, 2018-04-29 13:15:25