Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala galera, to com uma dúvida que acredito que seja simples, mas com meu pouco conhecimento ainda não consegui resolver.
Bom eu tenho o seguinte código:
<?php
$login = $_POST['login_user'];
$proibir = 'casa';
$pos = strripos($login, $proibir);
if ($pos === false) {
echo "Sucesso ! A palavra ($proibir) não foi inserida no campo de login.";
} else {
echo "Erro!\n";
echo "Nós encontramos a palavra ($proibir) no campo de login.";
}
?>
Ele eu uso para negar um acesso quando uma determinada palavra for inserida no campo de login, uso isso como um Anti Injetor SQL a mais para um projeto que estou trabalhando.
Porém minha dúvida é:
Há como verificar mais de uma palavra ?
$proibir = array("palavra1", "palavra2", "palavra2");
eu tentei usar um array porém não funcionou, alguma ideia ?
Ou isso também ajuda:
Se você fizer isso aqui:
$login = $_POST['login_user'];
$proibir = array("palavra 1","palavra 2","palavra 3");
$pos = strripos($login, $proibir)
vai dar erro e sabe porque?
Porque $proibir é um array, portanto eu preciso passar os índices deste array com for() ou foreach() - prefiro mais assim, mas como fazer isso?
<?php
$login = $_POST['login_user'];
$proibir = array("palavra 1","palavra 2","palavra 3");
foreach($proibir AS $proibido){
$pos = strripos($login, $proibir);
if ($pos === false) {
echo "Sucesso ! A palavra ($proibir) não foi inserida no campo de login.";
} else {
echo "Erro!\n";
echo "Nós encontramos a palavra ($proibir) no campo de login.";
exit;
}
}
?>
Fiz agora de cabeça mas a ideia é essa...
function verifica($palavra, $lista)
{
foreach($lista as $pal) {
if (stripos($palavra, $pal) == false) {
return true;
}
}
return false;
}
$minhaPalavra = "fuck";
$listaDePalavras = ['fuck','outra','mais-uma','assim-vai'];
$retorno = verifica($minhaPalavra, $listaDePalavras);
print ($retorno) ? 'OK' : 'ERRO' ;Android assim fica muito mais "chique" e facil de gerenciar posteriormente mas o cara disse que é novato por isso acredito que ele não vá entender a utilização do function e da condição ternaria que você sugestionou, mas de toda forma já ficam ai "dois niveis" de dificuldade para ele estudar e aprimorar rs
Vê se isto ajuda.