Jump to content
rafa-40

Como usar FILTER_VALIDATE_URL corretamente

Recommended Posts

Boa Tarde Pessoal

 

Consegui usar a função FILTER_VALIDATE_URL para validar o endereço de url se tem http:// ou https://, funcionou perfeitamente.

Após feito isso surgiu a necessidade, se tiver campos vazios  poder salvar e a  função FILTER_VALIDATE_URL não permite salvar se tiver campo vazio.

 

Abaixo está a parte do código onde fiz a validação, e a ideia é que alem de verificar se tem http:// ou https:// é permitir que salve os campos que esteja vazio também, pois vai ter 6 campos de rede social mais nem todas as pessoas vai ter todas as redes.

<?php 
if(isset($_POST['btn-gravarRedes'])){
  $facebook  = strip_tags(trim($_POST['facebook']));
  $instagram = strip_tags(trim($_POST['instagram']));
  $linkedin  = strip_tags(trim($_POST['linkedin']));
  $twitter   = strip_tags(trim($_POST['twitter']));
  $youTube   = strip_tags(trim($_POST['youtube']));
  $pinterest = strip_tags(trim($_POST['pinterest']));

 if(filter_var($facebook, FILTER_VALIDATE_URL) == FALSE){			
			    $erro[] = "<script>
							$(document).ready(function() {
			                    $.alert({
			                      icon: 'fas fa-exclamation-circle',
			                      theme: 'material',
			                      type: 'red',
			                      title: 'Atenção!',
			                      content: '<strong>A URL do Facebook está incorreto! <br>Precisa do <strong>http://www.</strong> ou <strong>https://www.</strong>',
			                      buttons: {
			                      OK: {
			                          btnClass: 'btn-dark',
			                          action: function(){
			                            location.href='redes.php?pag=editar&redesocial=1';
			                            
			                          }
			                          },
			                      }
			                    });
			                });
					</script>";	
 }elseif(filter_var($instagram, FILTER_VALIDATE_URL) == FALSE){			
   $erro[] = "<script>
					$(document).ready(function() {
			            $.alert({
			                    icon: 'fas fa-exclamation-circle',
			                    theme: 'material',
			                    type: 'red',
			                    title: 'Atenção!',
			                    content: '<strong>A URL do Instagram está incorreto! <br>Precisa do <strong>http://www.</strong> ou <strong>https://www.</strong>',
			                    buttons: {
			                    OK: {
			                    btnClass: 'btn-dark',
			                       action: function(){
			                         location.href='redes.php?pag=editar&redesocial=1';

			                       }
			                          },
			                      }
			                    });
			                });
					</script>";	
 }
}
?>

Agradeço desde já pela ajuda...

Share this post


Link to post
Share on other sites

Boa Tarde, Pessoal

Consegui resolver faltava fazer a verificação de != campo vazio... uma coisa bem simples abaixo o código da solução...

 

if($facebook != "" AND filter_var($facebook, FILTER_VALIDATE_URL) === FALSE){            
                $erro[] = "<script>
                            $(document).ready(function() {
                                $.alert({
                                  icon: 'fas fa-exclamation-circle',
                                  theme: 'material',
                                  type: 'red',
                                  title: 'Atenção!',
                                  content: '<strong>A URL do Facebook está incorreto! <br>Precisa do <strong>http://www.</strong> ou <strong>https://www.</strong>',
                                  buttons: {
                                  OK: {
                                      btnClass: 'btn-dark',
                                      action: function(){
                                        location.href='redes.php?pag=editar&redesocial=1';
                                        
                                      }
                                      },
                                  }
                                });
                            });
                    </script>";    
        }

 

E desta maneira fiz para as outras redes sociais.

Caso tenha uma nova solução, alem dessa que fiz, poste seu código na resposta, para que possa ajudar mais pessoas.

 

Grato...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Marcos Anibal Lemes
      Essa rotina funcionava perfeitamente, depois que atualizei o código para mysqli_fetch_assoc não funciona mais, o código conta todos as linhas do BD, mas só pega o primeiro usúario referenciado pelo e-mail, as outras linhas  ele não pega o e-mail e grava os dados do primeiro usuário no BD. Resumindo o código não está associando os dados dos outros e-mails..

          $usuarios = mysql_query("SELECT * FROM $t_cartao");
          $contar = mysql_num_rows($usuarios);
          for($b=0; $b<$contar; $b++){
          $resEmail = mysql_fetch_assoc($usuarios);
          $email = $resEmail['email'];
          $sql = mysql_query("SELECT * FROM $t_cartao WHERE email = '$email'");
          while($rs = mysql_fetch_array($sql)){
      ***********************************************************************************
       
        
      Esta não quer funcionar, o código conta todos as linhas do BD, mas só pega o primeiro usúario
      referenciado pelo e-mail, as outras linhas  ele não pega o e-mail e grava os dados do primeiro
      usuário no BD. Resumindo o código não está associando os dados dos outros e-mails..
      <?
          $usuarios = "SELECT * FROM $t_cartao";
          $res = mysqli_query($conexao, $usuarios);
          $contar = mysqli_num_rows($res);
          
          for($b=0; $b<$contar; $b++){
          $resEmail = mysqli_fetch_assoc($res);
          $email = $resEmail['email'];
          
          $sql = "SELECT * FROM $t_cartao WHERE email = '$email'";
          $res = mysqli_query($conexao, $sql);
          while($rs = mysqli_fetch_array($res)){
          
          $nome = $rs['nome'];
          $sexo = $rs['sexo'];
          $serie = $rs['serie'];
          $data_nasc = $rs['datanasc'];
          $data_resp = $rs['data_resp'];
          $rq01 = $rs['rq01'];
          $rq02 = $rs['rq02'];
          $rq03 = $rs['rq03'];
          $rq04 = $rs['rq04'];
          $rq05 = $rs['rq05'];
          $rq06 = $rs['rq06'];
          $rq07 = $rs['rq07'];
          $rq08 = $rs['rq08'];
          $rq09 = $rs['rq09'];
          $rq10 = $rs['rq10'];
          $rq11 = $rs['rq11'];
          $rq12 = $rs['rq12'];
          $rq13 = $rs['rq13'];
          $rq14 = $rs['rq14'];
          $rq15 = $rs['rq15'];
          $rq16 = $rs['rq16'];
          $rq17 = $rs['rq17'];
          $rq18 = $rs['rq18'];
          $rq19 = $rs['rq19'];
          $rq20 = $rs['rq20'];
          }
          
          $sql = "SELECT * FROM $t_gabarito";
          $res = mysqli_query($conexao, $sql);
          while($gq = mysqli_fetch_array($res)){
          
          $data_gabarito = $gq['data_gabarito'];
          $gq01 = $gq['gq01'];
          $gq02 = $gq['gq02'];
          $gq03 = $gq['gq03'];
          $gq04 = $gq['gq04'];
          $gq05 = $gq['gq05'];
          $gq06 = $gq['gq06'];
          $gq07 = $gq['gq07'];
          $gq08 = $gq['gq08'];
          $gq09 = $gq['gq09'];
          $gq10 = $gq['gq10'];
          $gq11 = $gq['gq11'];
          $gq12 = $gq['gq12'];
          $gq13 = $gq['gq13'];
          $gq14 = $gq['gq14'];
          $gq15 = $gq['gq15'];
          $gq16 = $gq['gq16'];
          $gq17 = $gq['gq17'];
          $gq18 = $gq['gq18'];
          $gq19 = $gq['gq19'];
          $gq20 = $gq['gq20'];
          
          }
          
          $pontos = 0;
          $erros = 0;
          
          if($rq01 == $gq01){
          $pontos = $pontos + 1;
          }else{
          $erros = $erros + 1;
          }
          if($rq02 == $gq02){
          $pontos = $pontos + 1;
          }else{
          $erros = $erros + 1;
          }
          if($rq03 == $gq03){
          $pontos = $pontos + 1;
          }else{
          $erros = $erros + 1;
          }
          if($rq04 == $gq04){
          $pontos = $pontos + 1;
          }else{
          $erros = $erros + 1;
          }
          if($rq05 == $gq05){
          $pontos = $pontos + 1;
          }else{
          $erros = $erros + 1;
          }
          if($rq06 == $gq06){
          $pontos = $pontos + 1;
          }else{
          $erros = $erros + 1;
          }
          if($rq07 == $gq07){
          $pontos = $pontos + 1;
          }else{
          $erros = $erros + 1;
          }
          if($rq08 == $gq08){
          $pontos = $pontos + 1;
          }else{
          $erros = $erros + 1;
          }
          if($rq09 == $gq09){
          $pontos = $pontos + 1;
          }else{
          $erros = $erros + 1;
          }
          if($rq10 == $gq10){
          $pontos = $pontos + 1;
          }else{
          $erros = $erros + 1;
          }
          if($rq11 == $gq11){
          $pontos = $pontos + 1;
          }else{
          $erros = $erros + 1;
          }
          if($rq12 == $gq12){
          $pontos = $pontos + 1;
          }else{
          $erros = $erros + 1;
          }
          if($rq13 == $gq13){
          $pontos = $pontos + 1;
          }else{
          $erros = $erros + 1;
          }
          if($rq14 == $gq14){
          $pontos = $pontos + 1;
          }else{
          $erros = $erros + 1;
          }
          if($rq15 == $gq15){
          $pontos = $pontos + 1;
          }else{
          $erros = $erros + 1;
          }
          if($rq16 == $gq16){
          $pontos = $pontos + 1;
          }else{
          $erros = $erros + 1;
          }
          if($rq17 == $gq17){
          $pontos = $pontos + 1;
          }else{
          $erros = $erros + 1;
          }
          if($rq18 == $gq18){
          $pontos = $pontos + 1;
          }else{
          $erros = $erros + 1;
          }
          if($rq19 == $gq19){
          $pontos = $pontos + 1;
          }else{
          $erros = $erros + 1;
          }
          if($rq20 == $gq20){
          $pontos = $pontos + 1;
          }else{
          $erros = $erros + 1;
          }
          
          $pontos = $pontos;
          $erros = $erros;
          
          $sql_grav = $conexao->query("INSERT INTO $t_pontuacao (email, data_resp, pontos, erros,
      serie, sexo, nome, datanasc) VALUES ('$email', '$data_resp', '$pontos', '$erros', '$serie', '$sexo',
      '$nome', '$data_nasc')");
          
      }
    • By asacap1000
      Salve galera. estou com uma zica aqui e não vai.
      Tenho um servidor WEB final IP final 120 neste servidor eu acesso um banco de dados de outro servidor 122, tem uma tabela com fotos e precisaria mostrar estas fotos na intranet. porém ele me mostra o caminho mas não mostra a imagem.
       
      Na Tabela está sendo salvo desta forma:
      Z:/Avarias/FOTOS/Alfandegado/2020/01.%20JANEIRO/14.01.2020/AVARIA%20CLIENTE%20CN=%20191234%20(2).JPG
       
      Chamei ele na tela desta forma:
      <?php ociexecute($stmt2,OCI_DEFAULT); while ($row = oci_fetch_object($stmt2)) { $string = OCIResult ($stmt2 ,1); ///link da avaria $avaria = OCIResult ($stmt2 ,2); ///titulo da avaria ?> <a href="<?=$string ?>" width="20%" height="30%" data-lightbox="gallery" > <button type="button" class="btn btn-dark active" data-toggle="modal" data-target="#modalExemplo"> <img src="<?=$string?>" width="160" height="100" class="rounded" title="<?=$avaria?>"> <br> </button> Na tela aparece desta forma:

       
      Se eu clicar na imagem fica assim apenas carregando:
       

       
      Se eu mandar abrir em nova guia a imagem aparece essa mensagem:

      Se eu copiar o link com botão direito e abrir no navegador ela abre normalmente.
       
      Ah lembrando que são tres servidores 120 web, 122 banco de dados, 128 as fotos onde salva como mapeamento Z://
      Alguem teria alguma idéia de como chamar estas fotos???
       
    • By Rafaelmcd
      Pessoal, eu tenho uma DIV, que por padrão ela vem com este css: 
      <div class="clickoff" style="pointer-events: none;">
      ......
      </div>
      Porém queria que, caso um determinado cookie exista, o style dessa div seja alterado para pointer-events: auto;
      Alguém teria uma dica de como poderia fazer isso? Se possível com PHP. 
       
    • By gramosiri2
      Oi pessoal, estou com um probleminha. Estou tentando gerar um relatório através do PHPJasper (https://github.com/PHPJasper/phpjasper),
      Quando faço o teste de gerar o arquivo de teste hellow_world.jrxml funciona normalmente, porém quando tento gerar um pdf através da conexão com o banco da um erro:
      Fatal error: Uncaught PHPJasper\Exception\ErrorCommandExecutable: Your report has an error and couldn 't be processed!\ Try to output the command using the function `output();` and run it manually in the console. in C:\xampp\htdocs\html2\phpjasper-master\vendor\geekcom\phpjasper\src\PHPJasper.php:235 Stack trace: #0 C:\xampp\htdocs\html2\phpjasper-master\test.php(33): PHPJasper\PHPJasper->execute() #1 {main} thrown in C:\xampp\htdocs\html2\phpjasper-master\vendor\geekcom\phpjasper\src\PHPJasper.php on line 235
       
      Segui toda a documentação, videos e etc... Porém não tive êxito, alguém poderia dar um help?
       
      Arquivo de teste SEM conexão com banco (RODANDO OK!)
      <?php require __DIR__ . '/vendor/autoload.php'; use PHPJasper\PHPJasper; ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); $input = __DIR__ . '/vendor/geekcom/phpjasper/examples/hello_world.jrxml'; $output = __DIR__ . '/vendor/geekcom/phpjasper/examples'; $options = [ 'format' => ['pdf', 'rtf'] ]; $jasper = new PHPJasper; $jasper->process( $input, $output, $options )->execute(); $filename = 'hello_world.pdf'; header('Content-Description: application/pdf'); header('Content-Type: application/pdf'); header('Content-Disposition:; filename=' . $filename); readfile($output . '/' . $filename); unlink($output . '/' . $filename); flush(); ?> IMAGEM: 

       
      Arquivo COM conexão com o banco (ERRO)
      <?php require __DIR__ . '/vendor/autoload.php'; use PHPJasper\PHPJasper; ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); $input = __DIR__ . '/vendor/geekcom/phpjasper/examples/rel_cliente.jrxml'; $output = __DIR__ . '/vendor/geekcom/phpjasper/examples'; $options = [ 'format' => ['pdf'], 'locale' => 'en', 'params' => [], 'db_connection' => [ 'driver' => 'mysql', //mysql, .... 'username' => 'root', 'password' => '', 'host' => 'localhost', 'database' => 'grsystem', 'port' => '3306' ] ]; $jasper = new PHPJasper; $jasper->process( $input, $output, $options )->execute(); $filename = 'hello_world.pdf'; header('Content-Description: application/pdf'); header('Content-Type: application/pdf'); header('Content-Disposition:; filename=' . $filename); readfile($output . '/' . $filename); unlink($output . '/' . $filename); flush(); ?> IMAGEM:

    • By mamotinho
      Olá pessoal , estou tendo um trabalho em defini a porta na qual eu quero que meu site se conecte. eu alterei a porta utilizada na minha máquina para eu utilizar somente ela no meu site porém quando eu acrescendo o campo da PORT da o seguinte erro.
      Connection Error: SQLSTATE[08001] SQLDriverConnect: 17 [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server inexistente ou acesso negado.  
      O Código de conexão na qual estou utilizando é esse.
       
      class Database { protected static $db; protected $db_host = DB_HOST; protected $db_usuario = DB_USER; protected $db_senha = DB_PASS; private function __construct() { try { self::$db = new PDO("odbc:Driver={SQL Server};Server=".$this->db_host.";port=8657; Uid=$this->db_usuario;Pwd=$this->db_senha; PDO::ATTR_PERSISTENT => true"); self::$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { die("Connection Error: " . $e->getMessage()); } } public static function conexao() { if (!self::$db) { new Database(); } return self::$db; } } se alguém pude me ajuda ficarei bastante grato.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.