Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Renan Daniel

Oculta Texto Para Usuário de Nivel Diferente

Recommended Posts

Seguinte Galera, Sou Novo Aqui.

Tenho o Seguinte Problema :

Preciso Ocultar um texto para Certos Clientes Porém para outros não, de forma automática, Tem uma Coluna na minha tabela que é preenchida com 5 ou com 2 gostaria de mostrar apenas para os usuário que estão preenchido com 5.

Alguém Poderia Me Ajudar ?

 

Desde Já Agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A lógica seria algo assim:

<?php

$permissao_usuario = $row['coluna'];

if($permissao_usuario == 5){
 echo "mostra o texto"; 
}

?>

Esse bloco só vai executar e mostrar o texto apenas para os usuários que tem a permissão 5.

Compartilhar este post


Link para o post
Compartilhar em outros sites
17 minutos atrás, BrunoMs disse:

A lógica seria algo assim:


<?php

$permissao_usuario = $row['coluna'];

if($permissao_usuario == 5){
 echo "mostra o texto"; 
}

?>

Esse bloco só vai executar e mostrar o texto apenas para os usuários que tem a permissão 5.

No Meu Caso o código todo está em inglês isso se aplicaria ?

A Coluna a Ser Consultada é commissionlevel e tabela é wpsp_affiliates_tbl

Acha que se aplicaria isto ? eu tentei porem n funcionou ..

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se aplica sim, não tem problema, você só vai ter que mudar o $row['coluna'] e colocar a sua variável aí do seu código, não sei qual é, mas ficaria algo assim:

$row['commissionlevel']

$row você troca pela sua variável que ta chamando os dados do seu banco de dados aí. Depois é só seguir a lógica do IF que mostrei no primeiro exemplo. Qualquer coisa posta seu código aí pra que a gente possa ver.

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, BrunoMs disse:

Se aplica sim, não tem problema, você só vai ter que mudar o $row['coluna'] e colocar a sua variável aí do seu código, não sei qual é, mas ficaria algo assim:


$row['commissionlevel']

$row você troca pela sua variável que ta chamando os dados do seu banco de dados aí. Depois é só seguir a lógica do IF que mostrei no primeiro exemplo. Qualquer coisa posta seu código aí pra que a gente possa ver.

Certo Agora Vamos trocar de problema, Pedindo Mais uma vez generosamente sua ajuda :

Esse Cod. Aqui

    echo '<tr class="wpap_mo_comm_level_row">';
    echo '<td><strong>' . AFF_COMMISSION_LEVEL . ' : </strong></td>';
    echo '<td>' . $commission_level . '</td>';

Quando roda a página em $commission_level ele retorna o valor 5 agora eu quero que ele identifique esse valor e sabendo que é 5 mostre um texto também porem o processo que fizemos acima já não funciona aqui. Tem Como Me Ajuda ps: Sou Leigo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora você só precisa aprender a usar os "if" ou o "switch" como no exemplo do Gleyson, é bem fácil, não tem segredo, ainda mais que você já sabe em qual variável que retorna o valor que você quer, você só precisa direcionar ela pra executar o bloco que for verdadeiro de acordo com o que você especifica.

<?php

if($commission_level == 5){ // se for 5
 	echo "tem permissão e executa esse bloco"; 
}else{ // se não
	echo "não tem permissão e executa esse bloco";
}

?>

Se $comission_level for igual à 5, ele executa o bloco, se não (else), ele executa o bloco abaixo. É como se fosse blocos, onde se o resultado dele for correspondente, ele é executado. To te explicando assim pq foi dessa maneira que me fez entender melhor quando eu tava iniciando.

Compartilhar este post


Link para o post
Compartilhar em outros sites
11 horas atrás, BrunoMs disse:

Agora você só precisa aprender a usar os "if" ou o "switch" como no exemplo do Gleyson, é bem fácil, não tem segredo, ainda mais que você já sabe em qual variável que retorna o valor que você quer, você só precisa direcionar ela pra executar o bloco que for verdadeiro de acordo com o que você especifica.


<?php

if($commission_level == 5){ // se for 5
 	echo "tem permissão e executa esse bloco"; 
}else{ // se não
	echo "não tem permissão e executa esse bloco";
}

?>

Se $comission_level for igual à 5, ele executa o bloco, se não (else), ele executa o bloco abaixo. É como se fosse blocos, onde se o resultado dele for correspondente, ele é executado. To te explicando assim pq foi dessa maneira que me fez entender melhor quando eu tava iniciando.

Nenhum dos dois deu certo galera :-( 

Segue o código da página ai 

<?php

include_once ('misc_func.php');
if (!isset($_SESSION)) {
    @session_start();
}
//include "./lang/$language";
if (!aff_check_security()) {
    aff_redirect('index.php');
    exit;
}

include "header.php";
?>

<img src="images/wp_aff_stats.jpg" alt="Stats Icon" />


<?php

$affiliates_clickthroughs_table = WP_AFF_CLICKTHROUGH_TABLE;
$sales_table = WP_AFF_SALES_TABLE;
$affiliates_table_name = WP_AFF_AFFILIATES_TABLE;

wp_aff_show_stats();

include "footer.php";

function wp_aff_show_stats() {
    global $wpdb, $affiliates_table_name;
    $wp_aff_affiliates_db = $wpdb->get_row("SELECT * FROM $affiliates_table_name WHERE refid = '" . $_SESSION['user_id'] . "'", OBJECT);
    echo '<h3>' . AFF_WELCOME . ' ' . $wp_aff_affiliates_db->firstname . '</h3>';

    $default_landing_page = get_option('wp_aff_default_affiliate_landing_url');
    if (empty($default_landing_page)) {
        $default_affiliate_home_url = home_url();
    } else {
        $default_affiliate_home_url = $default_landing_page;
    }
    $separator = '?';
    $url = $default_affiliate_home_url;
    if (strpos($url, '?') !== false) {
        $separator = '&';
    }
    $aff_url = $url . $separator . 'ap_id=' . $_SESSION['user_id'];
    $affiliate_link = '<a href="' . $aff_url . '" target="_blank">' . $aff_url . '</a>';
    echo '<strong>' . AFF_AFFILIATE_ID . ': ' . $_SESSION['user_id'] . '</strong><br /><br />';
    echo '<strong>' . AFF_YOUR_AFF_LINK . $affiliate_link . '</strong>';
    echo "<br />";

    echo apply_filters('wpap_below_your_affiliate_link', '');

    //Welcome message
    $wp_aff_platform_config = WP_Affiliate_Platform_Config::getInstance();
    $wp_aff_welcome_page_msg = $wp_aff_platform_config->getValue('wp_aff_welcome_page_msg');
    if (!empty($wp_aff_welcome_page_msg)) {
        $wp_aff_welcome_page_msg = html_entity_decode($wp_aff_welcome_page_msg, ENT_COMPAT, "UTF-8");
        $wp_aff_welcome_page_msg = apply_filters('the_content', $wp_aff_welcome_page_msg);
        echo '<div class="wp_aff_welcome_page_msg">' . $wp_aff_welcome_page_msg . '</div>';
    }

    include ("reports.php");

    if($commission_level == 5){ // se for 5
 	echo "ola mundo";
    }else{ // se não
	echo "teste";
    }




    if (isset($_POST['info_update'])) {
        $start_date = (string) $_POST["start_date"];
        $end_date = (string) $_POST["end_date"];
        echo '<h4>';
        echo AFF_STATS_OVERVIEW_BETWEEN . ' <font style="color:#222">' . $start_date . '</font> ' . AFF_AND . ' <font style="color:#222">' . $end_date;
        echo '</font></h4>';

        show_stats_between_dates($start_date, $end_date);
    } else {
        $curr_date = (date("Y-m-d"));
        $m = date('m');
        $y = date('Y');
        $start_date = $y . '-' . $m . '-01';
        $end_date = $curr_date;

        echo '<h4>';
        echo AFF_STATS_OVERVIEW;
        echo '</h4>';

        show_stats_between_dates($start_date, $end_date);
    }
}

function show_stats_between_dates($start_date, $end_date) {
    global $wpdb;
    global $affiliates_clickthroughs_table;
    global $sales_table;
    global $affiliates_table_name;
    $aff_payouts_table = WP_AFF_PAYOUTS_TBL_NAME;
    $aff_leads_table = WP_AFF_LEAD_CAPTURE_TBL_NAME;
    $wp_aff_platform_config = WP_Affiliate_Platform_Config::getInstance();

    $query = $wpdb->get_row("SELECT count(*) as total_record FROM $affiliates_clickthroughs_table WHERE refid = '" . $_SESSION['user_id'] . "' AND date BETWEEN '$start_date' AND '$end_date'", OBJECT);
    $total_clicks = $query->total_record;
    if (empty($total_clicks)) {
        $total_clicks = "0";
    }

    $query = $wpdb->get_row("SELECT count(*) as total_record FROM $sales_table WHERE payment > 0 AND refid = '" . $_SESSION['user_id'] . "' AND date BETWEEN '$start_date' AND '$end_date'", OBJECT);
    $number_of_sales = $query->total_record;
    if (empty($number_of_sales)) {
        $number_of_sales = "0";
    }

    $row = $wpdb->get_row("select SUM(sale_amount) AS total from $sales_table where refid = '" . $_SESSION['user_id'] . "' AND date BETWEEN '$start_date' AND '$end_date'", OBJECT);
    $total_sales = round($row->total, 2);
    if (empty($total_sales)) {
        $total_sales = "0.00";
    }

    $row = $wpdb->get_row("select SUM(payment) AS total from $sales_table where refid = '" . $_SESSION['user_id'] . "' AND date BETWEEN '$start_date' AND '$end_date'", OBJECT);
    $total_commission = round($row->total, 2);
    if (empty($total_commission)) {
        $total_commission = "0.00";
    }

    $payout_resultset = $wpdb->get_row("select SUM(payout_payment) AS total from $aff_payouts_table where refid = '" . $_SESSION['user_id'] . "' AND date BETWEEN '$start_date' AND '$end_date'", OBJECT);
    $total_payout = round($payout_resultset->total, 2);
    if (empty($total_payout)) {
        $total_payout = '0.00';
    }

    $wp_aff_affiliates_db = $wpdb->get_row("SELECT * FROM $affiliates_table_name WHERE refid = '" . $_SESSION['user_id'] . "'", OBJECT);
    $commission_level = $wp_aff_affiliates_db->commissionlevel;

    $currency = get_option('wp_aff_currency');
    echo '
	<table id="reports" width="300">
	<tbody>';

    echo '<tr class="wpap_mo_total_clicks_row">';
    echo '<td><strong>' . AFF_TOTAL_CLICKS . ' : </strong></td>';
    echo '<td>' . $total_clicks . '</td>';
    echo '</tr>';

    if($wp_aff_platform_config->getValue('wp_aff_show_leads_to_affiliates')!=''){//Leads showing is enabled.
        $query = $wpdb->get_row("SELECT count(*) as total_record FROM $aff_leads_table WHERE refid = '" . $_SESSION['user_id'] . "' AND date BETWEEN '$start_date' AND '$end_date'", OBJECT);
        $number_of_leads = $query->total_record;
        if (empty($number_of_leads)) {
            $number_of_leads = "0";
        }
        echo '<tr class="wpap_mo_leads_number_row">';
        echo '<td><strong>' . AFF_NUMBER_OF_LEADS . ' : </strong></td>';
        echo '<td>' . $number_of_leads . '</td>';
        echo '</tr>';
    }
    
    echo '<tr class="wpap_mo_comm_level_row">';
    echo '<td><strong>' . AFF_COMMISSION_LEVEL . ' : </strong></td>';
    echo '<td>' . $commission_level . '</td>';
    
    echo '<tr class="wpap_mo_sales_number_row">';
    echo '<td><strong>' . AFF_NUMBER_OF_SALES . ' : </strong></td>';
    echo '<td>' . $number_of_sales . '</td>';
    echo '</tr>';

    echo '<tr class="wpap_mo_sales_amt_row">';
    echo '<td><strong>' . AFF_TOTAL_SALES_AMOUNT . ' : </strong></td>';
    echo '<td>' . $total_sales . '</td>';
    echo '<td>' . $currency . '</td>';
    echo '</tr>';

    echo '<tr class="wpap_mo_commission_amt_row">';
    echo '<td><strong>' . AFF_TOTAL_COMMISSION . ' : </strong></td>';
    echo '<td>' . $total_commission . '</td>';
    echo '<td>' . $currency . '</td>';
    echo '</tr>';

    echo '<tr class="wpap_mo_payout_amt_row">';
    echo '<td><strong>' . AFF_PAYOUT_AMOUNT . ' : </strong></td>';
    echo '<td>' . $total_payout . '</td>';
    echo '<td>' . $currency . '</td>';
    echo '</tr>';

    echo '<tr class="wpap_mo_comm_level_row">';
    echo '<td><strong>' . AFF_COMMISSION_LEVEL . ' : </strong></td>';
    echo '<td>' . $commission_level . '</td>';

    if (get_option('wp_aff_use_fixed_commission')) {
        echo '<td>' . $currency . '</td>';
    } else {
        echo '<td>%</td>';
    }
    echo '</tr>';

    if (get_option('wp_aff_use_2tier')) {
        $second_tier_commission_level = $wp_aff_affiliates_db->sec_tier_commissionlevel;
        if (empty($second_tier_commission_level)) {
            $second_tier_commission_level = get_option('wp_aff_2nd_tier_commission_level');
        }
        echo '<tr class="wpap_mo_tier_comm_level_row">';
        echo '<td><strong>' . AFF_2ND_TIER_COMMISSION_LEVEL . ' : </strong></td>';
        echo '<td>' . $second_tier_commission_level . '</td>';

        if (get_option('wp_aff_use_fixed_commission')) {
            echo '<td>' . $currency . '</td>';
        } else {
            echo '<td>%</td>';
        }
        echo '</tr>';
    }

    echo '</tbody></table>';
}

Desde Já Agradeço a vcs pela ajuda e vamos tentar novamente não é mesmo.. No Caso ai o switch e o if só o retorna o ultimo texto.."não tem permissão e executa esse bloco" Mesmo eu sendo nivel 5

Compartilhar este post


Link para o post
Compartilhar em outros sites
15 minutos atrás, Renan Daniel disse:

$commission_level = $wp_aff_affiliates_db->commissionlevel;

Sua variável está sendo definida aqui, então o código ficaria logo em baixo ou substituindo esse:

	echo '<tr class="wpap_mo_comm_level_row">';
    echo '<td><strong>' . AFF_COMMISSION_LEVEL . ' : </strong></td>';
    if($commission_level == '5'){
      	echo "<td>Seu nível é 5</td>";
      }else{
      	echo "<td>outro nível</td>";
      }
     // OOOUUU
      switch($commission_level){
      	case 5:
      		echo "<td>Seu nível é 5</td>";
      	break;
      	default:
      		echo "<td>Outro nível</td>";
      	break;
      }

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
3 horas atrás, Gleyson Abreu disse:

Sua variável está sendo definida aqui, então o código ficaria logo em baixo ou substituindo esse:


	echo '<tr class="wpap_mo_comm_level_row">';
    echo '<td><strong>' . AFF_COMMISSION_LEVEL . ' : </strong></td>';
    if($commission_level == '5'){
      	echo "<td>Seu nível é 5</td>";
      }else{
      	echo "<td>outro nível</td>";
      }
     // OOOUUU
      switch($commission_level){
      	case 5:
      		echo "<td>Seu nível é 5</td>";
      	break;
      	default:
      		echo "<td>Outro nível</td>";
      	break;
      }

 

Valew Velho Funcionou. uma ultima dúvida se no lugar do texto eu quiser retornar uma imagem ?

Compartilhar este post


Link para o post
Compartilhar em outros sites
19 minutos atrás, Renan Daniel disse:

Valew Velho Funcionou. uma ultima dúvida se no lugar do texto eu quiser retornar uma imagem ?

Você pode criar uma variável ou inserir direto no echo!

	switch($commission_level){
      	case 5:
      		echo "<td><img src='imagemnivel5.png' /></td>";
      	break;
      	default:
      		echo "<td><img src='semnivel.png' /></td>";
      	break;
      }

OU

	switch($commission_level){
      	case 5:
      		$imagemNiveis = 'imagemnivel5.png';
      	break;
      	default:
      		$imagemNiveis = 'semnivel.png';
      	break;
      }
		
		echo '<td>'.$imagemNiveis.'</td>';

É se for fazer com ifs praticamente a mesma coisa.

Compartilhar este post


Link para o post
Compartilhar em outros sites
19 minutos atrás, Gleyson Abreu disse:

Você pode criar uma variável ou inserir direto no echo!


	switch($commission_level){
      	case 5:
      		echo "<td><img src='imagemnivel5.png' /></td>";
      	break;
      	default:
      		echo "<td><img src='semnivel.png' /></td>";
      	break;
      }

OU


	switch($commission_level){
      	case 5:
      		$imagemNiveis = 'imagemnivel5.png';
      	break;
      	default:
      		$imagemNiveis = 'semnivel.png';
      	break;
      }
		
		echo '<td>'.$imagemNiveis.'</td>';

É se for fazer com ifs praticamente a mesma coisa.

Muito Obrigado Parceiro Ajudou Muito.

O Moderador Pode Fechar o Tópico. 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera, tudo bem?
       
      Tenho o seguinte codigo:
       
       class Data {
      public static function ExibirTempoDecorrido($date)
      {
          if(empty($date))
          {
              return "Informe a data";
          }
          $periodos = array("segundo", "minuto", "hora", "dia", "semana", "mês", "ano", "década");
          $duracao = array("60","60","24","7","4.35","12","10");
          $agora = time();
          $unix_data = strtotime($date);
          // check validity of date
          if(empty($unix_data))
          {  
              return "Bad date";
          }
          // is it future date or past date
          if($agora > $unix_data) 
          {  
              $diferenca     = $agora - $unix_data;
              $tempo         = "atrás";
          } 
          else 
          {
              $diferenca     = $unix_data - $agora;
              $tempo         = "agora";
          }
          for($j = 0; $diferenca >= $duracao[$j] && $j < count($duracao)-1; $j++) 
          {
              $diferenca /= $duracao[$j];
          }
          $diferenca = round($diferenca);
          if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
          return "$diferenca $periodos[$j] {$tempo}";
      }
      }
       
      Funciona redondinho se o valor retornado for de algumas horas, mas...
      Quando passa de dois meses, ele retorna a palavra mess. Deve ser por conta dessa linha
      if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
       
      Quero que modre:
       
      2 meses atrás
      e não
      2 mess atrás.
       
      Espero que tenham entendido.
       
      Valeu
    • Por Carlos Web Soluções Web
      Olá...
      Estou tentando fazer o seguinte !!
      Listando dados em tabela !!
      Gostaria que....se na listagem houver 4 linhas...indepedente de seu número de ID, faça a listagem em ID ser em ordem 1 2 3 4 !!
      Exemplo...se tiver uma listagem de dados que está em ID 1 3 3...faça ficar 1 2 3 !!

       
      echo "<table class='tabela_dados' border='1'> <tr> <td>ID</td> <td>Nome Empresa</td> <td>Responsável</td> <td>Telefone 1</td> <td>Telefone 2</td> <td>E-mail 1</td> <td>E-mail 2</td> <td>Endereço</td> <td>CEP</td> <td>Bairro</td> <td>AÇÃO 1</td> <td>AÇÃO 2</td> </tr> "; $sql = "SELECT ID FROM usuarios_dados WHERE Usuario='$usuario'"; $result = $conn->query($sql); $num_rows = $result->num_rows; $Novo_ID = 1; for ($i = 0; $i < $num_rows; $i++) { $registro = $result -> fetch_row(); $sql2 = "UPDATE usuarios_dados SET ID='$Novo_ID' WHERE ID='$Novo_ID'"; $result2 = $conn->query($sql2); $Novo_ID++; } $sql = "SELECT * FROM usuarios_dados"; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { echo "<tr> <td>$row[ID]</td> <td>$row[Nome_Empresa]</td> <td>$row[Responsavel]</td> <td>$row[Telefone_1]</td> <td>$row[Telefone_2]</td> <td>$row[Email_1]</td> <td>$row[Email_2]</td> <td>$row[Endereço]</td> <td>$row[CEP]</td> <td>$row[Bairro]</td> <td> <form method='post' action='Editar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='EDITAR'> </form> </td> <td> <form method='post' action='Deletar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='DELETAR'> </form> </td> </tr> "; } } else { echo "0 results"; } $conn->close();  
    • Por ILR master
      Boa tarde pessoal, tudo bem ?
       
      Eu uso o tinymce para cadastro de textos no meu siite, porém, quero fazer um sistema para que os colunistas possam fazer o próprio post.
      O problema do tinymce, é que ele mantém a formatação do texto copiado, como tamanho de fonts, negritos, etc... Quero que o usuário cole o texto e a própria textarea limpe a formatação para que ele formate como quiser.
       
      A pergunta é:
       
      O tinymce tem uma opção para desabilitar a formatação quando um texto é colocado?
      Tem alguma função via java ou php para retirar a formatação assim que o texto é colado?
      Ou é melhor usar um outro editor?
       
      Agradeço deste já.
    • Por Giovanird
      Olá a todos!
      Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP.
      Uso a função setInterval para atualizar a pagina inclusa dentro da DIV.
      O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto.
      Preciso que a pagina inclusa já inicie carregada
       
      Meu código JavaScript e a DIV com a pagina PHP
       
      <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>  
    • Por ILR master
      Fala pessoal.
       
      Seguinte:
       
      Quero selecionar duas tabelas e mostrar com resultados intercalados. Abaixo segue um código explicando para vcs terem uma ideia.
       
      $consulta = "SELECT A.*, B.* FROM tabela1 A, tabela2 B'";
      $resultado = mysqli_query($conexao, $consulta) or die ("erro");
      while($busca = mysqli_fetch_array($resultado)){
       
      print $busca['cod_evento']; --> traz o código da tabela1 
      print $busca['titulo_evento']; -->  traz o titulo da tabela1
      print $busca['cod_noticia']; --> traz o código da tabela2
      print $busca['titulo_noticia']; --> traz o tituloda tabela2
       
      }
       
      Espero que entendam. Grato
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.