Ir ao conteúdo
  • Cadastre-se

carecazn

Membro Pleno
  • Posts

    306
  • Cadastrado em

  • Última visita

posts postados por carecazn

  1. José Antonio, eu também sou iniciante, posta o código que vou copiar e reproduzir aqui em casa, e posto o que encontrar.

     

    Em 29/03/2016 às 17:14, carecazn disse:

    José Antonio, eu também sou iniciante, posta o código que vou copiar e reproduzir aqui em casa, e posto o que encontrar.

     

    José Antonio, eu fiz um cadastro igual ao seu e cadastrou normal, tenta usar este ou adaptar ao seu, eu sei que tem jeito de fazer um array e evitar esse monte de digitação, porém, eu ainda não aprendi a fazer isso.

     

    <?php 
    include_once "connect.php";
    include_once "css.php";
    ?>
    <div class="central left border"><!-- inicio da div central -->
    <div id="pg">
    <body>
    		<div id="form_membro">
          <form method="post" action="" id="cadastro_membros" name="cadastro" class="rounded" enctype="multipart/form-data">
    			<p>Cadastrar Membro</p><br />
    			<p> </p><br>
    
    			<label>Login: <small></small></label>
    			<input required="required" name="login" size="53" type="text" placeholder=" Digite o seu Login"/><br class="clear"><br>
    			
    			<label>Senha: <small></small></label>
    			<input required="required" name="senha" size="53" type="text" placeholder=" Digite a sua senha"/><br class="clear"><br>
    			
    			<label>Nome Completo: <small></small></label>
    			<input required="required" name="nome" size="53" type="text" placeholder=" Digite o seu Nome Completo"/><br class="clear"><br>
    			
    			<label>RG: <small></small></label>
    			<input required="required" name="rg" size="53" type="text" placeholder=" Digite o seu RG"/><br class="clear"><br>
    			
    			<label>CPG: <small></small></label>
    			<input required="required" name="cpf" size="53" type="text" placeholder=" Digite o seu CPF"/><br class="clear"><br>
    
    			<label>Endereço: <small></small></label>
    			<input required="required" name="endereco" size="53" type="text" placeholder=" Digite o seu Endereço" /><br class="clear"><br>
    			
    			<label>Nº: <small></small></label>
    			<input required="required" name="n" size="53" type="text" placeholder=" Digite o Número da sua Residência" /><br class="clear"><br>
    			
    			<label>Cidade: <small></small></label>
    			<input required="required" name="cidade" size="53" type="text" placeholder=" Digite a Cidade" /><br class="clear"><br>
    			
    			<label>Estado: <small></small></label>
    			<input required="required" name="estado" size="53" type="text" placeholder=" Digite o Estado" /><br class="clear"><br>
    			
    			<label>Data de Nascimento: <small></small></label>
    			<input required="required" name="datan" size="53" type="text" placeholder=" Digite a sua data de nascimento" /><br class="clear"><br>
    			
    			<label>Sexo: <small></small></label>
    			<div id="sexo">
    			<input type="radio" name="sexo" value="F"/>Feminino
    			<input type="radio" name="sexo" value="M"/>Masculino</div><br class="clear"><br>
    			
    			<label>Telefône Residêncial: <small></small></label>
    			<input required="required" name="telr" size="53" type="text" placeholder=" Digite o seu Telefône Residêncial" /><br class="clear"><br>
    			
    			<label>Telefône Celular: <small></small></label>
    			<input required="required" name="telc" size="53" type="text" placeholder=" Digite o seu Telefône Celular" /><br class="clear"><br>
    
    			<label>E-mail: <small></small></label>
    			<input required="required" name="email" size="53" type="text" placeholder=" Digite o seu E-mail" /><br class="clear"><br>
    			
    			<input type="submit" class="" name="cadastrar" value="Cadastrar" />
    			
    			
    			<?php
    		if(isset($_POST['cadastrar'])){
    			$nome   			= trim(strip_tags($_POST['nome']));
    			$rg   			= trim(strip_tags($_POST['rg']));
    			$cpf   			= trim(strip_tags($_POST['cpf']));
    			$endereco   			= trim(strip_tags($_POST['endereco']));
    			$n   			= trim(strip_tags($_POST['n']));
    			$cidade   			= trim(strip_tags($_POST['cidade']));
    			$estado   			= trim(strip_tags($_POST['estado']));
    			$datan   			= trim(strip_tags($_POST['datan']));
    			$sexo   			= trim(strip_tags($_POST['sexo']));
    			$telr   			= trim(strip_tags($_POST['telr']));
    			$telc   			= trim(strip_tags($_POST['telc']));
    			$email   			= trim(strip_tags($_POST['email']));
    			$senha   			= trim(strip_tags($_POST['senha']));
    			$login   			= trim(strip_tags($_POST['login']));
    			
    				$insert_membro = "INSERT INTO usuarios (nome, rg, cpf, endereco, n, cidade, estado, datan, sexo, telr, telc, email, senha, login) 
    VALUES (:nome, :rg, :cpf, :endereco, :n, :cidade, :estado, :datan, :sexo, :telr, :telc, :email, :senha, :login)";
    
    			try{
    			$result = $connect->prepare($insert_membro);
    			$result->bindParam(':nome', $nome, PDO::PARAM_STR);
    			$result->bindParam(':rg', $rg, PDO::PARAM_STR);
    			$result->bindParam(':cpf', $cpf, PDO::PARAM_STR);
    			$result->bindParam(':endereco', $endereco, PDO::PARAM_STR);
    			$result->bindParam(':n', $n, PDO::PARAM_STR);
    			$result->bindParam(':cidade', $cidade, PDO::PARAM_STR);
    			$result->bindParam(':estado', $estado, PDO::PARAM_STR);
    			$result->bindParam(':datan', $datan, PDO::PARAM_STR);
    			$result->bindParam(':sexo', $sexo, PDO::PARAM_STR);
    			$result->bindParam(':telr', $telr, PDO::PARAM_STR);
    			$result->bindParam(':telc', $telc, PDO::PARAM_STR);
    			$result->bindParam(':email', $email, PDO::PARAM_STR);
    			$result->bindParam(':senha', $senha, PDO::PARAM_STR);
    			$result->bindParam(':login', $login, PDO::PARAM_STR);
    			$result->execute();
    			$cont = $result->rowCount();
    			if($cont>){
    			echo '<br /><div id="cad_evento_sucesso">
    			      <p>Cadastro efetuado com sucesso!</p>
    			      </div>';			
    			echo '<script language="javascript">window.setTimeout("location.href=\'user.php\'",3000)</script>';
    			exit;
    			}else{
    				echo'<br /><div id="cad_evento_erro">
    			      <p>Erro ao efetuar cadastro, verifique as informações e tente novamente.</p>
    			      </div><br /><br />';
    			echo '<script language="javascript">window.setTimeout("location.href=\'user.php\'",3000)</script>';
    			}
    			}catch(PDOException $e){
    			echo 'ERROR:' .$e->getMessage();}		
    
    }//Fecha if isset
    ?>
    </form>
    </div>
    </div>
    
    <div class="clear"></div>  
    </div><!-- fim da div central -->

     

    Em 29/03/2016 às 15:49, JoseAntonio disse:

    ' Boa tarde gente, sou iniciante na programação , mais já me deparei com meu primeiro erro, fiz um formulário , e criei um banco de dados, faço o preenchimento do formulário mas o mesmo não apresenta erro, mais também não registra no banco de dados, queria que vocês me ajudassem. Segue em anexos os prints para que vocês vejam e possam identificar o erro, pois já procurei bastante e até agora não encontrei. Agradeço desde já!cad_cli.jpgcadastrar.jpg

     

         Se fosse do jeito que fiz o cadastro que postei os VALUES você precisa colocar : e não $, faz um teste. 

    Em 29/03/2016 às 15:49, JoseAntonio disse:

    ' Boa tarde gente, sou iniciante na programação , mais já me deparei com meu primeiro erro, fiz um formulário , e criei um banco de dados, faço o preenchimento do formulário mas o mesmo não apresenta erro, mais também não registra no banco de dados, queria que vocês me ajudassem. Segue em anexos os prints para que vocês vejam e possam identificar o erro, pois já procurei bastante e até agora não encontrei. Agradeço desde já!cad_cli.jpgcadastrar.jpg

     

         Se fosse do jeito que fiz o cadastro que postei os VALUES você precisa colocar : e não $ e as aspas, faz um teste.

    VALUES (:nome, :rg, :cpf, :endereco, :n, :cidade, :estado, :datan, :sexo, :telr, :telc, :email, :senha, :login)";

     

  2.      Boa tarde Pessoal, estou desenvolvendo um site para a Igreja onde eu congrego, estou ainda fazendo os formulários e a programação em PHP para ele ficar dinâmico, eu fiz a parte de Login onde os Pastores vão entrar e fazer o cadastro de tudo o que aparece no site, tudo o que vocês podem ver no site está puxando do banco de dados, claro que não esta pronto, subi os dados para o servidor, e quando eu tento fazer o login não funciona, porém, quando eu jogo a pasta adm/adm.php, como não tem a sessão ele me redireciona para a index.php na raiz, ai sim eu consigo fazer o login e funciona tudo normal.

         Preciso de ajuda para resolver este problema, já vi vários tutoriais e não achei nada parecido.

     

    O site tem a index.php que chama topo, conteúdo e rodapé, no conteúdo tem um switch que chama as outras páginas.

     

    No topo tem o formulário de login. Quando eu faço o login ele continua na mesma página, porém, ele dá as boas vindas, e dependendo do nível ele aparece o botão para a administração do site, caso contrario ele precisará estar logado para poder fazer comentários do conteúdo que ainda será criado, aproveitando o mesmo post eu gostária de saber como eu posso implementar segurança no site, futuramente quero fazer uma parte de venda de livros evangélicos.

     

    Este é o site http://www.igrejanovonivel.com.br/index.php

     

    Recapitulando, entro na página do site e tento fazer o login ele apenas dá um refresh na página e não faz o login, ai eu jogo no navegador 

    http://www.igrejanovonivel.com.br/adm/adm.php ele me redireciona para a index do site e a partir dai eu consigo logar normalmente. 

    Um usuário do site não saberá que precisa colocar adm/adm.php para logar, e na verdade acredito que ele não deva saber disso mesmo, pois, se trata de uma área restrita do site, embora se não tiver a $_SESSION ele volta para index do site. Tenho o arquivo para proteger as pastas .htaccess que ainda não estou usando, mais tarde vou coloca-los em todas as pastas, mas se tiver alguma coisa que eu possa fazer que não seja isso, estou disposto a aprender. 

     

    topo.php

    =====================================================================================

    <?php
    ob_start();
    session_start();
    include_once("connect.php");
    include_once("includes/logout.php");
        //if(isset($_SESSION['email']) && (isset($_SESSION['password']))){
            //echo "<script language='javascript'>window.location='adm/index.php';</script>";
    //}
            if(isset($_POST['logar'])){
                //Recuperando os dados do formulário
                $email      = trim(strip_tags($_POST['email']));
                $password = trim(strip_tags($_POST['password']));
                
                //Selecionar os registros do banco de dados
                $sql = "SELECT * from cadastro_irmaos WHERE BINARY email=:email AND BINARY password=:password";
                try{
                $result = $connect->prepare($sql);
                $result->bindParam(':email', $email, PDO::PARAM_STR);
                $result->bindParam(':password', $password, PDO::PARAM_STR);
                $result->execute();
                $cont = $result->rowCount();
                if($cont>){
                    while($sessao = $result->FETCH(PDO::FETCH_OBJ)){
                $email      = $_POST['email'];
                $password = $_POST['password'];
                
                $_SESSION['email'] = $email;
                $_SESSION['password'] = $password;
                $_SESSION['nome'] = $sessao;
                
                echo "<script language='javascript'>window.location='index.php';</script>";
                exit;
                    }}else{
                    echo"<script language='javascript'>
                                alert('Erro ao logar, verifique os dados digitados!');
                                window.location='index.php';
                                </script>";
                }
                }catch(PDOException $e){
                echo 'ERROR:' .$e->getMessage();}            
                }//Fecha if isset
    ?>
    <?php include_once "css.php";?>
    <div class="topo">
            
        <div class="logo left">
            
        <div class="center">
        <a href="index.php">
            <img class="img_logo" src="imagens_nn/novoLogo.jpg"></img>
            </a>
        </div>  
        </div>
        <!--<div class="horarios left">
        <h5>Reuniões</h5><br />
            <p>Quarta-feira: às 18:00hs - Estudo Bíblico - Célula Continental II</p>
        <p>Domingo: às 10:00hs - Reunião da Família - Célula Continental II</p><br />
            <h2 class="endereco_igreja">Igreja Novo Nível - Rua Paulo Freire, 190, Continental II - Guarulhos - SP</h2>
    </div>-->
        <div class="midia right">
        <a href="https://www.facebook.com/Igreja-Apost%C3%B3lica-Novo-N%C3%ADvel-1723226321239724/?fref=ts" target="_blank">
        <img class="img_face" src="images/face.png" alt="" title=""></img></a>
        
        </div>
    </div>
    <div class="clear"></div>
    
    <div class="menu_topo">
    <div class="primeiro_menu">
    <div id="saudacao">
    <?php
    date_default_timezone_set('America/Sao_Paulo');
    if(isset($_SESSION['email']) && (isset($_SESSION['password']))/* && (isset($_SESSION['nome']))*/){
    // Saudação se estiver logado
    $genero = $_SESSION['nome']->genero;
    $nome   = utf8_decode($_SESSION['nome']->nome);
    if($genero == M){
    $hora = date("H");
    $boaMadrugada = "Boa Madrugada ";
    $bomDia = "Bom Dia ";
    $boaTarde = "Boa Tarde ";
    $boaNoite = "Boa Noite ";
    $sejaBemVindo = ", Seja Bem Vindo!";
    if ($hora >=  and $hora < 6) {
        echo $boaMadrugada.$nome.$sejaBemVindo;
        }
    elseif ($hora >= 6 and $hora < 12) {
        echo $bomDia.$nome.$sejaBemVindo;
        }
    elseif ($hora >= 12 and $hora < 18) {
        echo $boaTarde.$nome.$sejaBemVindo;
        }
        else {
        echo $boaNoite.$nome.$sejaBemVindo;
    }
    }else    if($genero == F){
        
    $hora = date("H");
    $boaMadrugada = "Boa Madrugada ";
    $bomDia = "Bom Dia ";
    $boaTarde = "Boa Tarde ";
    $boaNoite = "Boa Noite ";
    $sejaBemVindo = ", Seja Bem Vinda!";
    if ($hora >=  and $hora < 6) {
        echo $boaMadrugada.$nome.$sejaBemVindo;
        }
    elseif ($hora >= 6 and $hora < 12) {
        echo $bomDia.$nome.$sejaBemVindo;
        }
    elseif ($hora >= 12 and $hora < 18) {
        echo $boaTarde.$nome.$sejaBemVindo;
        }
        else {
        echo $boaNoite.$nome.$sejaBemVindo;
    }
    }
    }if(!isset($_SESSION['email']) && (!isset($_SESSION['password'])) && (!isset($_SESSION['nome']))){
        
        // Saudação não logado
    $hora = date("H");
    $boaMadrugada = "Boa Madrugada";
    $bomDia = "Bom Dia";
    $boaTarde = "Boa Tarde";
    $boaNoite = "Boa Noite";
    $sejaBemVindo = ", obrigado por nos visitar, fique à vontade!";
    if ($hora >=  and $hora < 6) {
        echo $boaMadrugada.$sejaBemVindo;
        }
    elseif ($hora >= 6 and $hora < 12) {
        echo $bomDia.$sejaBemVindo;
        }
    elseif ($hora >= 12 and $hora < 18) {
        echo $boaTarde.$sejaBemVindo;
        }
        else {
        echo $boaNoite.$sejaBemVindo;
    }
    }
    // Fim
     
    ?>
    </div>
    <div class="clear"></div>
    <nav id="menu_inicial">
    <ul>
    <a href="?pg=cad_membros" class="inicio_li"><li>Cadastre-se</li></a>
    <div class="clear"></div>
    <div class="admin">
    <?php
    if(isset($_SESSION['email']) && (isset($_SESSION['password']))){
        echo '<div id="sair"><ul><a href="?sair">Sair do Sistema</a></ul></div>';
    }else{
        echo '<form action="" id="login_email" method="post" enctype="multipart/form-data">
        <label>E-mail</label>
        <input required="required" type="email" id="username" name="email" placeholder=" Digite seu E-mail" />
        <label>Senha</label>
        <input required="required" type="password" id="password" name="password" placeholder=" Digite sua Senha" />
      <input type="submit" id="logar" class="btn_login" name="logar" value="Logar" />
    </form>'; 
    }?>
    </div>
    </ul>
    </nav>
    </div>
    <div class="clear"></div>
    <div class="segundo_menu">
    <?php include_once "menu.php";?>
    </div>
    </div>
    <div class="clear"></div>
    =====================================================================================
    
    adm.php
    =====================================================================================
    <?php
    ob_start();
    session_start();
        if(!isset($_SESSION['email']) && (!isset($_SESSION['password'])) && (!isset($_SESSION['nome']))){
            echo "<script language='javascript'>window.location='../index.php';</script>";
        }        
            $adm = $_SESSION['nome']->admin;    
        if($adm >1){echo "<script language='javascript'>window.location='../index.php';</script>";}
            include_once("connect.php");
            include_once("includes/logout.php");
    ?>
    
      

     

  3. 5 horas atrás, dif disse:

    @carecazn certo, mas certamente isso não é indicado. afinal não se deve colocar todos os dados na sessão, só aqueles que você vai realmente usar.

         dif, não deu certo, esta dando o mesmo erro, testei ele no servidor, e no servidor não funciona, no localhost ele apresenta o aviso, porém, funciona e no servidor não funciona.

     

    Caso queira olha estou testando no link abaixo.

    www.organizeac.com.br/nn

     

    5 horas atrás, carecazn disse:

         dif, não deu certo, esta dando o mesmo erro, testei ele no servidor, e no servidor não funciona, no localhost ele apresenta o aviso, porém, funciona e no servidor não funciona.

     

    Caso queira olha estou testando no link abaixo.

    www.organizeac.com.br/nn

         Dif, esta funcionando, eu me esqueci de colocar o genero na tabela do servidor, ficou da forma inicial mesmo.

         Mas os problemas não acabaram, agora, quando esta logado ele modifica o layout do site no topo e quando desloga volta ao normal, rsrsrsrsrs, vou aprender, rsrsrsrsrs, obrigado pela ajuda! E se quiser ainda me ajudar com essas divs, vou precisar.

  4. 53 minutos atrás, dif disse:
    
    $genero = $irmaos->genero;

    @carecazn Sim, agora você esclareceu que está usando orientação a objetos. Antes não tinha ficado claro.

    O erro pode estar na linha:

     

    
    if($_SESSION['nome']->genero == M){

    Em nenhum momento do seu login você usa o dado do campo genero.

    Resgate o valor do campo genero com

    
    $genero = $irmaos->genero;

    Eaí tenta por o gênero na sessão e comparar

    
     $_SESSION['genero'] = $genero;

     

    Outra coisa que estranho um pouco é esta linha:

    
     $_SESSION['nome'] = $irmaos;

    Você está atribuindo em uma variável de sessão,  uma variável que recebe o fetch.

    Geralmente se usa a variável do fetch para referenciar um campo do banco como no caso de

     

    o ID, o nome, o email e outros dados... exemplo:

    
    $irmaos->nome;
    $irmaos->id;
    $irmaos->email;

    e por aí vai. por isso eu acho estranho você colocar na sessão TODOS os dados, onde você quer apenas um, o gênero para comparar.

         Rsrsrsrs, então, esta linha 

     $_SESSION['nome'] = $irmaos;

    recupera o array e quando dou um var_dump ele aparece todos os campos, por este motivo não recuperei as variáveis logo no inicio para criar a $_SESSION, com a sessão nome eu tenho todos os campos e recuperando as variáveis vou ter várias sessões, se isso não tiver problema para o site eu não ligo, vou tentar recuperar as variáveis e te aviso o que deu.   

  5. 1 hora atrás, dif disse:

    Bom, o que eu vejo de estranho ali é você usar o operador "  -> " sem estar usando a orientação a objetos.

    vai ver que é isso que ele está dizendo

     

     O uso da flecha (->) é um construto da POO no PHP que permite acessar as propriedades e métodos de um dado objeto.

    Este é um jeito errado de fazer. Pelo menos é o que eu considero.

     

    Faça o seguinte, insira os dados que você precisa em um banco de dados, resgate eles no momento do login e compare...

    é melhor do que usar o error_reporting() 

     

     

         Dif, este é o login,


     

    if(isset($_POST['logar'])){
                //Recuperando os dados do formulário
                $email      = trim(strip_tags($_POST['email']));
                $password = trim(strip_tags($_POST['password']));
                
                //Selecionar os registros do banco de dados
                $sql = "SELECT * from cadastro_irmaos WHERE BINARY email=:email AND BINARY password=:password";
                try{
                $result = $connect->prepare($sql);
                $result->bindParam(':email', $email, PDO::PARAM_STR);
                $result->bindParam(':password', $password, PDO::PARAM_STR);
                $result->execute();
                $cont = $result->rowCount();
                if($cont>0){
                    while($irmaos = $result->FETCH(PDO::FETCH_OBJ)){
                
                $email      = $_POST['email'];
                $password = $_POST['password'];
                
                $_SESSION['email'] = $email;
                $_SESSION['password'] = $password;
                $_SESSION['nome'] = $irmaos;
                
                echo "<script language='javascript'>window.location='index.php';</script>";
                exit;
                    }}else{
                    echo"<script language='javascript'>
                                alert('Erro ao logar, verifique os dados digitados!');
                                window.location='index.php';
                                </script>";
                }
                }catch(PDOException $e){
                echo 'ERROR:' .$e->getMessage();}            
                }//Fecha if isset
    ?>

     

    da página de login eu criei a $_SESSION['nome'];

     

    vem dai a->

     

    quando dou um var_dump ele me trás tudo o que tem no banco de dados, então eu estou utilizando a $_SESSION['nome']->nome; pra acessar o campo nome dentro do banco de dados.

     

    Bom, crie assim e funcionou, se tiver alguma forma melhor de se fazer, pode ser também.

     

  6. Boa tarde, estou criando uma página, quando recupero as informações do bando de dados está dando uma Notice, 

     Notice: Use of undefined constant M - assumed 'M' in C:\wamp\www\nn\topo.php on line 84  

     

    Segue o código.

    <?php
    date_default_timezone_set('America/Sao_Paulo');
    if(isset($_SESSION['email']) && (isset($_SESSION['password'])) && (isset($_SESSION['nome']))){
    // Saudação se estiver logado
    if($_SESSION['nome']->genero == M){
    $hora = date("H");
    $boaMadrugada = "Boa Madrugada ";
    $bomDia = "Bom Dia ";
    $boaTarde = "Boa Tarde ";
    $boaNoite = "Boa Noite ";
    $sejaBemVindo = ", Seja Bem Vindo!";
    if ($hora >= 0 and $hora < 6) {
        echo $boaMadrugada.$_SESSION['nome']->nome.$sejaBemVindo;
        }
    elseif ($hora >= 6 and $hora < 12) {
        echo $bomDia.$_SESSION['nome']->nome.$sejaBemVindo;
        }
    elseif ($hora >= 12 and $hora < 18) {
        echo $boaTarde.$_SESSION['nome']->nome.$sejaBemVindo;
        }
        else {
        echo $boaNoite.$_SESSION['nome']->nome.$sejaBemVindo;
    }
    }else    if($_SESSION['nome']->genero == F){
        
    $hora = date("H");
    $boaMadrugada = "Boa Madrugada ";
    $bomDia = "Bom Dia ";
    $boaTarde = "Boa Tarde ";
    $boaNoite = "Boa Noite ";
    $sejaBemVindo = ", Seja Bem Vinda!";
    if ($hora >= 0 and $hora < 6) {
        echo $boaMadrugada.$_SESSION['nome']->nome.$sejaBemVindo;
        }
    elseif ($hora >= 6 and $hora < 12) {
        echo $bomDia.$_SESSION['nome']->nome.$sejaBemVindo;
        }
    elseif ($hora >= 12 and $hora < 18) {
        echo $boaTarde.$_SESSION['nome']->nome.$sejaBemVindo;
        }
        else {
        echo $boaNoite.$_SESSION['nome']->nome.$sejaBemVindo;
    }
    }
    }if(!isset($_SESSION['email']) && (!isset($_SESSION['password'])) && (!isset($_SESSION['nome']))){
        
        // Saudação não logado
        $hora = date("H");
    $boaMadrugada = "Boa Madrugada";
    $bomDia = "Bom Dia";
    $boaTarde = "Boa Tarde";
    $boaNoite = "Boa Noite";
    $sejaBemVindo = ", obrigado por nos visitar, fique à vontade!";
    if ($hora >= 0 and $hora < 6) {
        echo $boaMadrugada.$sejaBemVindo;
        }
    elseif ($hora >= 6 and $hora < 12) {
        echo $bomDia.$sejaBemVindo;
        }
    elseif ($hora >= 12 and $hora < 18) {
        echo $boaTarde.$sejaBemVindo;
        }
        else {
        echo $boaNoite.$sejaBemVindo;
    }
    }
    // Fim
     
    ?>

     

    Não sei se esta é a melhor opção, porém esta funcionando, eu quero tirar este aviso sem fazer gambiarra, rsrsrsrsrs, escondendo o erro.

     

    Obrigado.

  7.      Olhem só, eu estava fazendo uns testes aqui e notei que se ele não achar um valor correspondente ele repete as linhas onde ele não achou nada, eu acho que preciso de fazer assim:
     
    Cont igual abaixo para contar as Concluídas e se não tiver não faça nada entenderam? Igual a função if do PHP, se tiver conta se não retorne 0 por exemplo.
     
         Bom não tenho ,muita experiência, mas foi o que pude notar, porque eu não tinha ainda colocado a opção de Pendente e quando eu coloquei, tive mais linhas na coluna onde ele atribuiu 1 nas 3 colunas, então tinha 1 serviço pendente e ele colocou 1 em todas as colunas.
     
    SELECT sup.Supervisor, prod.Recurso,        Count(([prod].[Status]) Like "Concluída") AS OK,        Count(([prod].[Status]) Like "Não Concluída" And "Suspensa") AS Improdutiva,        Count(([prod].[Status]) Like "Iniciada" And "Não Iniciada") AS Pendente,        prod.[Data Agendada para Execução] AS DataFROM sup INNER JOIN Prod ON sup.Tecnico = prod.RecursoGROUP BY sup.Supervisor, prod.Recurso, prod.[Data Agendada para Execução], prod.StatusHAVING (((prod.[Data Agendada para Execução])="01/02/15"));

     

  8. @Mention, na coluna Status eu tenho vários Status e eu gostaria de fazer igual ao Procv do Excel, criar uma consulta que em uma coluna da consulta ele conte quantos estão Concluídas da coluna Status da tabela txtProd, E na mesma consulta uma outra coluna que me traga todos os serviços Não Concluídos da coluna Status da tabela txtProd e também na mesma consulta mais uma coluna com os serviços pendentes da mesma coluna da tabela txtProd.

         Se for para trazer somente 1 Status ele funciona bem, conta direito, porém eu preciso dos outros Status.

     

         E quando eu coloco as 3 colunas ele repete cada Status Concluído em uma linha, na debaixo os Não Concluídos.

     

         Então fica assim:

     

    FABIO MOREIRA   -  3 CONCLUÍDOS           - 16/03/2015

    FABIO MOREIRA   -  3 NÃO CONCLUÍDOS   - 16/03/2015


    E eu gostaria da consulta assim:

     

    NOME                  - OK  - IMPRODUTIVO - PENDENTES

    FABIO MOREIRA -  3                3             -          2

    OUTRO TÉCNICO

    OUTRO TÉCNICO

     

    E com o Access 2013 não estou conseguindo este resultado, até instalei o MySQL e MySQL front, mas estrou estudando ainda como mexer com ele, importar os arquivos .csv, e depois como vou fazer para criar os relatórios.


    Ok, vou estudar mais sobre o MySQL, não vai ter jeito.

  9. DIF, da uma olhada agora http://sqlfiddle.com/#!9/d3108/4,tem algum site que da pra simular INNER JOIN também?


    DIF, nós recebemos os relatórios com arquivos .csv eu estou usando o access porque os nossos relatórios vem do access, mas se tiver como utilizar outra ferramenta que dê pra mim exportar para Excel, pra mim pode ser também, estou aprendendo agora então pra mim tanto faz.

     

    No access, eu pego o arquivo .csv e importo eles para o access e ele já fica um na sequência do outro, todas as ferramentas funcionam iguais? Não tenho muita experiência com linhas de comando, pra mim é tudo novo, em termos, porque eu criei um site com PHP e Java script, mas o conhecimento veio 100% do You tube, assisti vários videos de Criando site do zero, e consegui pegar uma coisa de um outra de outro e fiz o site, não estou mais mexendo com ele por falta de tempo, mas o MySQL vou ter mais tempo porque eu manipulo os arquivos em Excel e agora vou manipular como banco de dados, vou armazenar todos na minha maquina e quando eu precisar de algum relatório vai ficar mais fácil visto que o Excel demora uma vida quando manipulamos muitos dados.


    Dif, consegui reproduzir o que esta acontecendo aqui, este mesmo site da pra simular as 2 tabelas.

     

    http://sqlfiddle.com/#!9/c639f/10

     

    Olha como ficou, é exatamente o que acontece aqui e quando tento colocar as Não Concluída ao lado das Concluídas ele faz 2 linhas com os mesmo valores exatamente como esta no link acima, faz 2 colunas com as Concluídas e a baixo 2 colunas com as Não Concluídas.


    CREATE TABLE txtSup(id int(11) AUTO_INCREMENT,nomeS varchar(30) NOT NULL,nomeT varchar(30) NOT NULL,PRIMARY KEY (id));insert into txtSup(nomeS,nomeT) values ('Fabio Moreira','Joao'),                                       ('Fabio Moreira','Eder'),                                       ('Fabio Moreira','Arnaldo');                                       CREATE TABLE txtProd(id int(11) AUTO_INCREMENT,nomeR varchar(30) NOT NULL,status varchar(30) NOT NULL,data varchar(30) NOT NULL,PRIMARY KEY (id));insert into txtProd(nomeR,status, data) values ('Joao','Concluída', '01/02/2015'),                                       ('Eder','Concluída', '01/02/2015'),                                       ('Arnaldo','Concluída', '01/02/2015'),                                       ('Joao','Não Concluída', '01/02/2015'),                                       ('Eder','Não Concluída', '01/02/2015'),                                       ('Arnaldo','Não Concluída', '01/02/2015'),                                       ('Joao','Concluída', '01/02/2015'),                                       ('Eder','Supensa', '01/02/2015'),                                       ('Arnaldo','Concluída', '01/02/2015'),                                       ('Joao','Iniciada', '01/02/2015'),                                       ('Eder','Concluída', '01/02/2015'),                                       ('Arnaldo','Concluída', '01/02/2015'),                                       ('Joao','Não Iniciada', '01/02/2015'),                                       ('Eder','Concluída', '01/02/2015'),                                       ('Arnaldo','Não Concluída', '01/02/2015'),                                       ('Joao','Concluída', '01/02/2015'),                                       ('Eder','Iniciada', '01/02/2015'),                                       ('Arnaldo','Concluída', '01/02/2015'),                                       ('Joao','NãoConcluída', '01/02/2015'),                                       ('Eder','Concluída', '01/02/2015'),                                       ('Arnaldo','Não Concluída', '01/02/2015');
    =============================================================================================
     
    SELECT txtSup.nomeS, txtProd.nomeR, Count(txtProd.status), txtProd.dataFROM txtSup INNER JOIN txtProdON txtSup.nomeT = txtProd.nomeRGROUP BY txtSup.nomeS, txtSup.nomeT, txtProd.nomeR, txtProd.status, txtProd.data
  10. Amanhã vou postal uma imagem, vou tentar explicar melhor.

     

    Tenho 2 Tabelas onde 1 tem o Nome do Supervisor x Nome do Técnico e a outra tem o Nome do Técnico e o Status dos serviços que ele fez no dia.

     

    Exemplo:

     

    Fabio Moreira - Fiz 3 Serviços Concluídos - 4 Serviços Não Concluídos e tenho mais 2 Pendentes

     

    Tudo isso em uma tabela com os Status 1 embaixo do outros em linhas então eles vão aparecer assim:

     

    NOME RECURSO - STATUS

    Fabio Moreira       - CONCLUIDO

    Fabio Moreira       - CONCLUIDO

    Fabio Moreira       - CONCLUIDO

    Fabio Moreira       - NÃO CONCLUIDO

    Fabio Moreira       - NÃO CONCLUIDO

    Fabio Moreira       - NÃO CONCLUIDO

    Fabio Moreira       - NÃO CONCLUIDO

    Fabio Moreira       - NÃO INICIADO

    Fabio Moreira       - INICIADO

     

    Dessa forma, e eu quero que fique assim

     

    NOME DO RECURSO - OK - IMPRODUTIVO - PENDENTE

    Fabio Moreira              - 3    -           4            -         2

     

    O Status na tabela é uma única coluna que aparece todos os Status e quando eu coloco o código no Access 2013 ele aparece assim:

     

    NOME DO RECURSO - OK - IMPRODUTIVO - PENDENTE

    Fabio Moreira              - 3    -           3            -         3

    Fabio Moreira              - 4    -           4            -         4

    Fabio Moreira              - 2    -           2            -         2

     

    Caso tenha como fazer outra tabela assim:

     

    CONCLUIDA = 1

    NÃO CONCLUIDA = 2

    SUSPENSA = 3

    NÃO INICIADA = 4

    INICIADA = 5

    CANCELADA = 6

     

    Pode ser assim, converter cada situação para o número de referencia e todas vez que ele achar o número correspondente ele conta 1, eu não sai fazer mas se houver como pode ser assim também.


    Todas as planilhas são externas, e eu estou tentando as manipular dentro do access, então elas vem como texto e todos os campos são de texto. 

  11. Boa noite, estou tentando fazer um relatório no Access 2013 e não estou conseguindo.

     

    Este Código esta funcionando, porém onde tem a coluna Count(txtProd.Status) AS OK, esta contando a quantidade de serviços com Status "Concluída", 

    preciso de mais uma coluna que vou colocar como Improdutiva que tem os Status "Não Concluída" E "Suspensa"

    e mais uma coluna de Serviço Pendente Status "Não Iniciada"

    e mais uma de serviço Cancelado com Status "Cancelada"

     

    Quando eu tento fazer as outras colunas ele assume os mesmos números.

     

    SELECT txtProd.[Data Agendada para Execução] AS Data, txtSup.Supervisor, txtProd.Recurso, Count(txtProd.Status) AS OKFROM txtSup INNER JOIN txtProd ON txtSup.Tecnico = txtProd.Recurso WHERE (((txtProd.Status) Like "Concluída"))GROUP BY txtProd.[Data Agendada para Execução], txtSup.Supervisor, txtProd.RecursoHAVING (((txtProd.[Data Agendada para Execução])="01/02/15"));
  12. E ai galera, existem sim filtros de linha tanto para interferencia e ruidos na linha telefonica quanto para descarga eletrica e tambem tem filtros para melhorar a coneccao de linha discada.

    Para interferencia, ruidos e discarga tem nos depositos de materiais de construcao, eu aconselho procurar em depositos grandes pela variedade, se voce for em um deposito pequeno o que tiver tentarao empurrar funcionando ou não para os devidos fins, ja para melhorar a coneccao em rede discada irei me informar de onde conseguir, pois onde eu trabalho tem.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!