Ir para conteúdo
Fórum Script Brasil

RpgBoss

Membros
  • Total de itens

    10
  • Registro em

  • Última visita

Tudo que RpgBoss postou

  1. RpgBoss

    Restringir extencao de email

    Deixa eu ver se entendi, emails comuns não podem ser usados, mas muitos emails institucionais contém ".br", ".com", etc. O mais pratico seria listar todas as possibilidades de emails institucionais, para confirmar o envio, você pode validar por Javascript mas se quer por PHP: <?php $listprov=["unicamp.br","pucsp.edu.br","@usp.br"]; $youprov=explode("@",$_POST['email'])[1]; $chkprov=false; for ($m=0; $m<=$listprov.length; $m++) { if($youprov == $listprov[m]){ $chkprov=true; } } if($chkprov==true){ echo "Email ".$_POST['email']." permitido"; }else{ echo "Você não pode se cadastrar com este email"; } ?>
  2. Não temos nem idéia de como é a tabela do seu MySql, mas se você ler rápidamente qualquer tutorial sobre o assunto vai saber como passar dados do DB para o PHP, no seu caso imagino que seja algo assim: https://www.w3schools.com/php/php_mysql_select.asp
  3. Mas o erro também está nas todos e nos A, nenhum deles está fechado, isso é HTML básico. <a href="" atributos>link</a> A maneira correta. foreach($sql->fetchAll() as $usuario){ // Montagem da tabela echo '<tr>'; echo '<td>'.$usuario['nome'].'</td>'; echo '<td>'.$usuario['email'].'</td>'; echo '<td><a href="editar.php?id='.$usuario['id'].'" class="btn btn-info">Editar<a/> <a href="excluir.php?id='.$usuario['id'].'" class="btn btn-danger"> Excluir</a><td/>'; echo '</tr>'; } Por que se não o primeiro link pode transformar a table toda num link ou parte dela.
  4. Primeiro você vai ter que aprender a ler o XML com parse: https://www.w3schools.com/xml/xml_parser.asp Depois para conferir o conteúdo selecionado: Como Bolean: function lerStatus() { var statusmsg = xmlDoc.getElementsByTagName('status')[0].firstChild.nodeValue; var statusmsg = eval(statusmsg); if(statusmsg == true){ //Caso True }else{ //Caso False } } Se quiser como String: function lerStatus() { var statusmsg = xmlDoc.getElementsByTagName('status')[0].firstChild.nodeValue; if(statusmsg == "true"){ //Caso True } if(statusmsg == "false"){ //Caso False } } Com Zero e Um: function lerStatus() { var statusmsg = xmlDoc.getElementsByTagName('status')[0].firstChild.nodeValue; (statusmsg == true) ? 1 : 0; if(statusmsg == 1){ //Caso 1 }else{ //Caso 0 } }
  5. Você teria que fazer o primeiro TEXTAREA ser uma DIV, por que não se pode estilizar partes de texto dentro de TEXTAREA. Confirmar pra mim se você que fazer um editor de códigos com HTML+Javascript.
  6. Eu fiz assim e testei no Firefox, Opera e IE11: <script> function dimensoes(t){ var w = t.naturalWidth; var h = t.naturalHeight; alert("Altura: "+w+"\nLargura: "+h); } </script> <img src="urldaimagem" onclick="dimensoes(this);" width="10" height="10" />
  7. Eu consegui descobrir a razão de alguns sites pegarem o IPV4 mesmo usando IPV6 ao mesmo tempo e a minha hospedagem não, as rotas usadas podem variar do servidor onde foi hospedado a script PHP, então não tem realmente como isso ser feito sem uso de serviço de terceiros. Agora uma solução alternativa, vale lembrar que não vou postar o serviço de terceiros que usei por que acredito que isso seja mal visto pela comunidade, e que também pode ser considerado um sistema mal feito. Para poder solucionar eu usei este serviço para converter em JSON o IPV4: http://<ipv4 ipv6 service>/json/widgetdata.php?callback=_jqjsp&_1518034744039= Ele retorna uma JSON: _jqjsp({"address":"XXX.XXX.XXX.XXX","proto":"ipv4","country_code":"BR","country":"Brazil"}) Mas não se pode usar xmlHTTPrequest para receber valores de outra um JSON de outra hospedagem, então através da URL dela eu alterei o termo da variavel **callback** de maneira que a gambiarra fazendo com que o PHP do serviço criasse uma variavel Javascript: http://<ipv4 ipv6 service>/json/widgetdata.php?callback=dataipv4= E chamando ele por HTML a variavel fica acessivel ao seu navegador como um objeto JSON: dataipv4=({"address":"XXX.XXX.XXX.XXX","proto":"ipv4","country_code":"BR","country":"Brazil"}) Então agora sim com xmlHTTPRequest bastou usar a variavel dataipv4.address para obter o IP e enviar por método GET pra um PHP que use o IP: function showIpv(ip) { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { console.log() } }; xmlhttp.open("GET", "write_ipv4.php?ip="+ip, true); xmlhttp.send(); } O arquivo write_ipv4.php que fica na hospedagem: <?php if(isset($_GET['ip']) && !empty($_GET['ip'])){ /* User a variavel global $_GET['ip'] da maneira que preferir Por exemplo: echo $_GET['ip'] retorna o IP no formato XXX.XXX.XXX.XXX */ }else{ console.log('Acesso direto proibido'); } ?>
  8. Esse formato de data e hora não são contados como números e sim como STRING, então o IF ou CASE nunca irá conseguir saber quem é maior que quem. Não posso testar agora, mas tente usar strtotime() Antes da Swicth $hora = strtotime($hora); Um dos case, faça o mesmo no outro. case ($hora == strtotime('16:30:00') || $hora >= strtotime('16:30:00')):
  9. O erro está na sua linha da IF e da função mail(). Olha, vale lembrar que eu não concordo com uso de PHP para enviar EMAIL sem ter uma va.lidação perfeita que checa até o formato do email, sendo isso feito inicialmente em javascript e depois pelo próprio PHP. Mas como aparentemente você está fazendo testes existem essas duas maneiras. if(isset($vnome) && isset($vemail) && isset($vassunto) && isset($vmensagem)){ mail("emaildosite@provedor.com",$vassunto,"De ".$vnome."\n\n".$vmensagem); }else{ echo "Houve algum erro no preenchimento do formulário"; } Ou pra retornar o erro correto: if ($_SERVER['REQUEST_METHOD'] === 'POST') { $vnome=$_POST['nome']; $vemail=$_POST['email']; $vassunto=$_POST['assunto']; $vmensagem=$_POST['mensagem']; /* Declarar variavel para contar quantos campos foram preenchidos */ $validador = 0; if(!empty($vnome)){ $validador = $validador + 1; }else{ echo "ERRO: Preencha o seu nome<br>\n"; } if (!empty($vassunto)){ $validador = $validador + 1; }else{ echo "ERRO: Preencha o assunto<br>\n"; } if (!empty($vemail)){ $validador = $validador + 1; }else{ echo "ERRO: Preencha seu email<br>\n"; } if (!empty($vmensagem)){ $validador = $validador + 1; }else{ echo "ERRO: Preencha o corpo do email<br>\n<br>\n"; } /* Condição para enviar o email */ if ($validador == 4){ /** TUDO CERTO ENVIAR EMAIL **/ //coloque aqui o e-mail que deve receber a mensagem do formulário mail("email@provedordaempresa.com",$vassunto,"Email enviado por ".$vnome.".\n\n".$vmensagem."\n\n\nResponda para ".$vemail); echo "E-MAIL enviado com sucesso! Agora aguarde chegar na nossa caixa de entrada.<br>\n<br>\nMuito obrigado."; }else{ /** SE ALGUM DOS ITEMS ESTIVER VAZIO **/ echo "O seu email não foi enviado, veja acima os campos que faltaram preencher "; } }else{ echo "Você não pode acessar essa página diretamente, volte para o formulário, preencha o email e aperte ENVIAR"; } Eu ia colocar um método para enviar uma cópia para o cliente por garantia, mas o servidor limita a um chamado da função mail() por requisição. mail("email@provedordaempresa.com;".$vemail,... Então se quiser mandar uma cópia altere
  10. Eu sempre usei $_SERVER['REMOTE_ADDR'] para obter o IP do usuário/visitante em alguns sistemas. Porém comecei a usar um IP FIXO no trabalho, que é IPV4, mas quando vou ver o registro eu acessei com IPV6. Mas em sites como fóruns e blogs os sistemas em PHP deles registram o IPV4, e analisei os códigos e mesmo assim não consegui entender o algorítimo que consegue passar o IPV6 ou outro método para IPV4. Então acredito que seja possível somente com PHP, se alguém puder me ajudar.
×
×
  • Criar Novo...