1André 0 Denunciar post Postado Dezembro 4, 2014 E ai galera beleza, estou inciando em php e me deparei com um problema aqui que não sei como resolver, acredito que esse problema seja aparentemente simples vamos lá tenho um formulário que envia para um arquivo php o dado tipo_pessoa que pode ser 1 ou 2, nesse arquivo php preciso fazer uma verificação desses dados e pretendo fazer da seguinte forma por exemplo: se o tipo pessoa for diferente de 1 ou 2 escreva: selecione o tipo pessoa se não prossiga o script. porem não estou conseguindo, e não consigo identificar onde estou errando vejam como está código: if($_REQUEST['tipo_pessoa'] != '1' || $_REQUEST['tipo_pessoa'] != '2'){ echo "selecione o tipo de pessoa"; }else{ //prosseguindo... } acredito que seja bastante simples, mais como falei estou nos primórdios do php rsrsrs abraço ! Compartilhar este post Link para o post Compartilhar em outros sites
Maykel-ctba 233 Denunciar post Postado Dezembro 4, 2014 Tente assim <?php if(($_REQUEST['tipo_pessoa'] != '1') || ($_REQUEST['tipo_pessoa'] != '2')) { echo "selecione o tipo de pessoa"; } else { //prosseguindo... } ?> Se não der, verifique que valor está vindo em tipo_pessoa. As vezes não está caindo em nenhum dos casos! Compartilhar este post Link para o post Compartilhar em outros sites
Luis Paullo 47 Denunciar post Postado Dezembro 4, 2014 Primeira coisa e ter certeza que seu $_REQUEST realmente esta vindo com valores 1e2 e se realmente são strings; || = OR , simplesmente OU, tento primeira condição OU segunda condição. //$_REQUEST['tipo'] = 3;$pessoa = isset($_REQUEST['tipo'])?$_REQUEST['tipo']:0;if($pessoa === 0){ echo "não existe request<br />";}//não igual e do mesmo tipoif($pessoa !== '1' || $pessoa !== '2'){echo "pessoa e diferente de 1 e 2<br />";}//php tipando pra voce ;) i love php for this.if($pessoa > 2 || $pessoa !== 0){echo "pessoa e diferente de 1 e 2<br />"; Compartilhar este post Link para o post Compartilhar em outros sites
1André 0 Denunciar post Postado Dezembro 4, 2014 obrigado pela resposta Maykel-ctba, porem não funcionou, mesmo quando coloco tipo pessoa como 1 ou 2 e envio o formulário ele mostra a mensagem "selecione o tipo pessoa", porem quando eu deixo o código assim: if($_REQUEST['tipo_pessoa'] != '1'){ echo "selecione o tipo de pessoa"; }else{ //prosseguindo... } ele prossegue se o tipo pessoa for 1 , mais interrompe se o tipo pessoa for 2, preciso que ele prossiga com o tipo pessoa sendo 2 também, em relação a verificação que você citou abaixo se eu fizer da seguinte forma: if($_REQUEST['tipo_pessoa'] == '0'){ echo "selecione o tipo de pessoa"; }else{ //prosseguindo... } eu consigo fazer o script prosseguir quando enviou tipo_pessoa 1 ou 2, porem não acho seguro uma vez que se o cara forçar tipo pessoa 3 no input vai dar erro no código saca? no código só é possível tipo_pessoa ser 1 ou 2 caso contrario não prossegue o script. Luis Paullo obrigado pela resposta, vou montar da forma que você orienta em breve retorno aqui se eu conseguir Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Dezembro 4, 2014 Não dá pra ser as duas coisas ao mesmo tempo... switch ($_REQUEST['tipo_pessoa']) {case '1':case '2': echo "selecione o tipo de pessoa"; break;else: //prosseguindo...} Não dá pra ser as duas coisas ao mesmo tempo... switch ($_REQUEST['tipo_pessoa']) {case '1':case '2': //prosseguindo break;default: echo "selecione o tipo de pessoa";} Compartilhar este post Link para o post Compartilhar em outros sites
1André 0 Denunciar post Postado Dezembro 4, 2014 Galera, montei o código com o exemplo do Prog e funcionou segue abaixo o código para se mais algum iniciante tiver esse problema: <?php switch ($_REQUEST['tipo_pessoa']) { case '1': case '2': ?> <form action="#" method="post"> <!-- monto um formulário html aqui --> </form> <?php break; default: echo "selecione o tipo de pessoa"; } ?> Agradeço a todos que me ajudaram valeu mesmo ! Compartilhar este post Link para o post Compartilhar em outros sites