Suspeito 0 Denunciar post Postado Novembro 24, 2016 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 ? Compartilhar este post Link para o post Compartilhar em outros sites
wootzor 103 Denunciar post Postado Novembro 24, 2016 Vê se isto ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
Wesley Santos 28 Denunciar post Postado Novembro 24, 2016 Ou isso também ajuda: http://php.net/manual/pt_BR/function.array-search.php Compartilhar este post Link para o post Compartilhar em outros sites
Guilherme Luiz 41 Denunciar post Postado Novembro 24, 2016 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... Compartilhar este post Link para o post Compartilhar em outros sites
Visitante Denunciar post Postado Novembro 24, 2016 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' ; Compartilhar este post Link para o post Compartilhar em outros sites
Guilherme Luiz 41 Denunciar post Postado Novembro 24, 2016 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 Compartilhar este post Link para o post Compartilhar em outros sites