Ir para conteúdo

Arquivado

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

centurion

Session não inicia

Recommended Posts

Mesmo digitando os dados corretos na tela de login ao clicar no botão entrar não faz o logon e os dados são apagados resetados. server xampp 3.2.2 php 7 mysql 5.1.7.9.

Segui o código: 

<?php
ini_set('display_errors', true);
error_reporting(E_ALL);

require_once 'conexao.php';

$usuario = $_POST['usuario'];
$senha   = $_POST['senha'];
$sql    = "select nome, usuario, senha from tab_socios where usuario = '$usuario' and senha = '$senha'";
$query  = mysqli_query ($conexao,$sql);
$linhas = mysqli_affected_rows($conexao);
if ($linhas > 0){    
    session_start();    
    $_SESSION['$usuario'] = $usuario;    
    while ($exibirNome = mysqli_fetch_array($query)){        
    $nome         = $exibirNome[0];    
    $nomeusuario  = $exibirNome[1];    
    $enhausuario  = $exibirNome[2];    
     }    
    $_SESSION['nome'] = $nome;    
    header ("Location:sistema.php");    
   }else{    
    print "Dados não conferem!<br>";    
    print "<a href='index.php'>Voltar</a>";
     }  

?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php
ini_set('display_errors', true);
error_reporting(E_ALL);
session_start();

 

De:

$usuario = $_POST['usuario'];

Para:

// previne SQL Injection
$usuario = mysqli_real_escape_string($conexao, $_POST['usuario']);

 

De:

$senha   = $_POST['senha'];

Para:

// previne SQL Injection
$senha = mysqli_real_escape_string($conexao, $_POST['senha']);

 

De:

$linhas = mysqli_affected_rows($conexao);

Para:

$linhas = mysqli_num_rows($query);

 

Compartilhar este post


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

<?php
ini_set('display_errors', true);
error_reporting(E_ALL);
session_start();

 

De:


$usuario = $_POST['usuario'];

Para:


// previne SQL Injection
$usuario = mysqli_real_escape_string($conexao, $_POST['usuario']);

 

De:


$senha   = $_POST['senha'];

Para:


// previne SQL Injection
$senha = mysqli_real_escape_string($conexao, $_POST['senha']);

 

De:


$linhas = mysqli_affected_rows($conexao);

Para:


$linhas = mysqli_num_rows($query);

 

Ok vou testar, o brigado pela resposta.

Compartilhar este post


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

<?php
ini_set('display_errors', true);
error_reporting(E_ALL);
session_start();

 

De:


$usuario = $_POST['usuario'];

Para:


// previne SQL Injection
$usuario = mysqli_real_escape_string($conexao, $_POST['usuario']);

 

De:


$senha   = $_POST['senha'];

Para:


// previne SQL Injection
$senha = mysqli_real_escape_string($conexao, $_POST['senha']);

 

De:


$linhas = mysqli_affected_rows($conexao);

Para:


$linhas = mysqli_num_rows($query);

 

Olá draco malfoy acrescentei as mudanças sugeridas não logou ´mesmo digitando o nome de usuário e senha corretos ao clicar em entrar ele apaga oque foi digitado e volta para tela de login. comentei o header ("Location:sistema.php"); pra ver se dava erro, nada, a tela processalogin.php fica em branco.  como estou testando no host local no win 7 fui no php.ini e setei session.save_path = "C:/Temp" não funfou, então onde estou errando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Manda o código do seu formulário de POST.

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 horas atrás, Jesse&Francinete disse:

Manda o código do seu formulário de POST.

Oi, Jesse&francinete ai está:

<!DOCTYPE html>
<html lang="pt-br">
<head>
  <title>Logar</title>
  <meta charset="utf-8">
  <link rel="stylesheet" href="_css/style.css">
</head>

<body>
<form method="post" action="processalogin.php"><br>

    <fieldset><legend>Login</legend> 	
<br>
<input type="text" name="usuario" placeholder="Nome do Usuario" required autofocus><br>
<br>
<input type="password" name="senha" placeholder="Digite sua senha" required><br><br>
<input type="submit" value="Entrar" class="btn"><br>

Ou se registre agora! <a href="cadastro.php">Novo Cadastro</a>
    </fieldset>
</form>
</body>
</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

troque:

$query  = mysqli_query ($conexao,$sql);

por:

$query  = mysqli_query($conexao, $sql) or die (mysqli_error($conexao));

faça login novamente e nos diga se da algum error.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, eu tenho um sistema de login, vou mandar a parte em PHP, espero que esclareça suas dúvidas:

 

<?php
if(!isset($_SESSION))
    session_start();

//Login de Usários
if(isset($_POST['login'])){

  include('class/config.php');
  
  $erro = array();

    // Captação de dados
    $senha = $_POST['password'];
    $_SESSION['email'] = $mysqli->escape_string($_POST['email']);
    // Validação de dados

    if(count($erro) == 0){

        $sql = "SELECT senha as senha, id as valor 
        FROM admin 
        WHERE email = '$_SESSION[email]'";
        $que = $mysqli->query($sql) or die($mysqli->error);
        $dado = $que->fetch_assoc();
        if($que->num_rows == 0)
            $erro[] = "Nenhum usuário possui o <strong>e-mail</strong> informado.";

        elseif(strcmp($dado['senha'], ($senha)) == 0){
            $_SESSION['id'] = $dado['valor'];
        }else
            $erro[] = "<strong>Senha</strong> incorreta.";

        if(count($erro) == 0){
            echo "<script>location.href='dashboard.php';</script>";
            exit();
            unset($_SESSION['email']);
        }
    }
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites
3 horas atrás, Jesse&Francinete disse:

Cara, eu tenho um sistema de login, vou mandar a parte em PHP, espero que esclareça suas dúvidas:

 


<?php
if(!isset($_SESSION))
    session_start();

//Login de Usários
if(isset($_POST['login'])){

  include('class/config.php');
  
  $erro = array();

    // Captação de dados
    $senha = $_POST['password'];
    $_SESSION['email'] = $mysqli->escape_string($_POST['email']);
    // Validação de dados

    if(count($erro) == 0){

        $sql = "SELECT senha as senha, id as valor 
        FROM admin 
        WHERE email = '$_SESSION[email]'";
        $que = $mysqli->query($sql) or die($mysqli->error);
        $dado = $que->fetch_assoc();
        if($que->num_rows == 0)
            $erro[] = "Nenhum usuário possui o <strong>e-mail</strong> informado.";

        elseif(strcmp($dado['senha'], ($senha)) == 0){
            $_SESSION['id'] = $dado['valor'];
        }else
            $erro[] = "<strong>Senha</strong> incorreta.";

        if(count($erro) == 0){
            echo "<script>location.href='dashboard.php';</script>";
            exit();
            unset($_SESSION['email']);
        }
    }
}
?>

Vou tentar adaptar baseado no seu código, obrigado pela resposta.

Compartilhar este post


Link para o post
Compartilhar em outros sites
10 horas atrás, Draco Malfoy disse:

troque:


$query  = mysqli_query ($conexao,$sql);

por:


$query  = mysqli_query($conexao, $sql) or die (mysqli_error($conexao));

faça login novamente e nos diga se da algum error.

Verifiquei, não deu nenhum erro continua tudo igual digita usuário e senha igual ao q tá gravado no BD clica entrar apaga oque foi digitado e volta pra tela de lojin sem logar. Uma das minhas duvidas e de que a sessão não estava gravando no arquivo Temp do PHP mas da uma olhada tá pegando o nome do BD $usuario|s:4:"jrib";nome|s:13:"João Robeiro"; só não loga porque? pois de acordo com o meu código tinha que funcionar já que eu quero pegar somente o nome veja a img abaixo.

 

snone.png.dbc8ac5afc7ea88ce3823b53967d7e08.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troque

if ($linhas > 0){    
    session_start();    
    $_SESSION['$usuario'] = $usuario;    
    while ($exibirNome = mysqli_fetch_array($query)){        
    $nome         = $exibirNome[0];    
    $nomeusuario  = $exibirNome[1];    
    $enhausuario  = $exibirNome[2];    
     }    
    $_SESSION['nome'] = $nome;    
    header ("Location:sistema.php");    
   }else{    
    print "Dados não conferem!<br>";    
    print "<a href='index.php'>Voltar</a>";
     } 

 

por:

if(mysqli_num_rows($query)) {
    $result = mysqli_fetch_assoc($query);
    
    $_SESSION['usuario'] = $usuario; 
    $_SESSION['nome'] = $result['nome'];
    
    header('Location: sistema.php');
    exit;
} else {
    print "Dados não conferem!<br>";    
    print "<a href='index.php'>Voltar</a>";
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
12 horas atrás, Draco Malfoy disse:

Troque


if ($linhas > 0){    
    session_start();    
    $_SESSION['$usuario'] = $usuario;    
    while ($exibirNome = mysqli_fetch_array($query)){        
    $nome         = $exibirNome[0];    
    $nomeusuario  = $exibirNome[1];    
    $enhausuario  = $exibirNome[2];    
     }    
    $_SESSION['nome'] = $nome;    
    header ("Location:sistema.php");    
   }else{    
    print "Dados não conferem!<br>";    
    print "<a href='index.php'>Voltar</a>";
     } 

 

por:


if(mysqli_num_rows($query)) {
    $result = mysqli_fetch_assoc($query);
    
    $_SESSION['usuario'] = $usuario; 
    $_SESSION['nome'] = $result['nome'];
    
    header('Location: sistema.php');
    exit;
} else {
    print "Dados não conferem!<br>";    
    print "<a href='index.php'>Voltar</a>";
}

 

Olá Draco Malfoy com essa alteração logou mas não aparece o nome da pessoa logada, além do erro mostrado na img.logou.PNG.928dac396ded0e34252a4824db2c38c4.PNG

Aqui onde tá dando o erro: 

<?php
print "Logado como:" . $_SESSION['$nome'] . "<br>";//aqui deveria aparecer o nome do user logado!

print "<a href='produtos.php'>Produtos</a><br>"; 

print "<a href='logout.php'>Sair</a>";

?>

>

Compartilhar este post


Link para o post
Compartilhar em outros sites

troque $_SESSION['$nome'] por $_SESSION['nome']

 

Lembrando que você ainda deve fazer uma verificação nessa página, afim de validar para que somente usuários autenticados tenham acesso. Da forma que está, qualquer um acessa sua página.

Compartilhar este post


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

troque $_SESSION['$nome'] por $_SESSION['nome']

 

Lembrando que você ainda deve fazer uma verificação nessa página, afim de validar para que somente usuários autenticados tenham acesso. Da forma que está, qualquer um acessa sua página.

 Os erros desapareceram, mas ainda não aparece o nome do usuário logado quanto a validar a página você tem razão já fiz isso para se prevenir do sql injection. Voltando ao problema preciso que o user apareça logado com o nome completo exemplo abaixo:

logcomo.png.57d0cabe56026f26990e9ca386fcb71b.png 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro... Lendo o conteúdo do post inteiro não há tratamento contra inject em nenhum momento.

Segundo, o nome do usuário no banco está completo em uma única coluna?

Ou o sobre nome está em outra coluna?

 

Se  estiver em 1 só, reveja o nome do usuário no banco

Se estiver em duas colunas você pode pegar os 2 campos e setar com valor da sessão usando um contatemo entre os dados exemplo: $_SESSION['blablabla'] = $code . $code2;

Ou armazenar em outra cessão os dados do sobre-nome e tal.

 

E só para constar $_SESSION é uma super-global que já trás falha de segurança em utilizar. Dê uma pesquisada por aí que muitas algumas classes para tratar desse tipo de coisa de forma segura, se não souber como criar uma.

Compartilhar este post


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

Primeiro... Lendo o conteúdo do post inteiro não há tratamento contra inject em nenhum momento.

Segundo, o nome do usuário no banco está completo em uma única coluna?

Ou o sobre nome está em outra coluna?

 

Se  estiver em 1 só, reveja o nome do usuário no banco

Se estiver em duas colunas você pode pegar os 2 campos e setar com valor da sessão usando um contatemo entre os dados exemplo: $_SESSION['blablabla'] = $code . $code2;

Ou armazenar em outra cessão os dados do sobre-nome e tal.

 

E só para constar $_SESSION é uma super-global que já trás falha de segurança em utilizar. Dê uma pesquisada por aí que muitas algumas classes para tratar desse tipo de coisa de forma segura, se não souber como criar uma.

Obrigado por responder Omarf! no bd o nome completo $nome é todo em uma unica coluna e o nick (apelido) $usuário também em uma outra  coluna. Ai no post você só vê fragmentos do código original quando a prevenção do sql injection alterei aqui no meu pc. Quanto a tratar com outras variáveis que não sessions não tenho muita experiencia visto que sou novato em php. Se tiver alguma sugestão sempre bem vindas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é passar a cessão direta e uma terceira pessoa ter acesso ao código fonte do que você desenvolveu.

Mas não vou me reter a ficar batendo nessa tecla já que como disse ainda está como novato no php.

Na verdade ninguém nunca é veterano em qualquer linguagem vai por mim. Mecho com PHP a mais de 12 anos e quase sempre me pego, tendo que aprender alguma coisa.

 

Como dica sugiro que comece a estudar POO, verá um mundo novo no php e a forma correta de se programar nessa linguagem.

E para o uso de banco de dados/ conexões/ SEGURANÇA e etc-e-tal, nada se compara ao PDO, bom essa é minha opinião.

 

Olha aqui uma classe bacana para gerenciar cessão:

Spoiler

<?php
/**
 * *********************************************************************
 * @author ?
 * @copyright ?
 * @version 2.0: 2010, Spell Master (c)
 * @version 2.1: 2011, Spell Master (c)
 * @version 2.2: 2013, Spell Master (c)
 * @version 3.0: 2017, Spell Master (c)
 * 
 * *********************************************************************
 * @class: Classe para o gerenciamento e manipulação de sessões
 * *********************************************************************
 * 
 * @Usage single session
 * ---------------------------------------------------------------------
 * *** Pega a instância da classe
 * $session = Session::getSession();
 * 
 * *** Ver a cessão armazenada
 * $session->Word = "Olá mundo";
 * 
 * * Inicia uma cessão
 * $session->startSession();
 * 
 * *** Verificação de a sessão existe
 * if (isset($session->helloWord)) {
 *     echo "A cessão \"Word\" foi iniciada : "{$session->Word}".;
 * } else {
 *     echo "A cessão \"Word\" não foi iniciada";
 * }
 * 
 * *** Destroi a cessão
 * unset($session->Word);
 * 
 * ---------------------------------------------------------------------
 * @Usage all sessions
 * ---------------------------------------------------------------------
 * $session->destroy();
 * $session->restart();
 * $session->reset();
 * 
 * ---------------------------------------------------------------------
 * @Usage static
 * ---------------------------------------------------------------------
 * $session = managerSession::getSession();
 * $session->hello = "Olá Mundo";
 * echo $session->hello; 
 * 
 * *********************************************************************
 * @changelog
 * * Adicionado ducumentação e instruções de uso [spell master]
 * * Removido métodos e atributos desnecessários [spell master]
 * * Removido necessidade de parâmetros [spell master]
 * * Fixado na instância o construtor [spell master]
 * * Aplicado corretamente o uso de métodos estáticos [spell master]
 * *********************************************************************
 */
class managerSession {
    /* Constants de definição */
    const SESSION_STARTED = true;
    const SESSION_STOPED = false;
    /* Atributo de verificação */
    private $sessionStatus = self::SESSION_STOPED;
    /* Atributo estático de método */
    private static $session;
    /** ***************************************************************
     * @Method: Obtem a intância da cessão
     * (bool) Se a cessão já exite retorna a mesma
     ** ***************************************************************/
    public static function getSession() {
        if (!isset(self::$session)) {
            self::$session = new self;
        }
        self::$session->startSession();
        return self::$session;
    }
    /** ***************************************************************
     * @Method: Inicia a cessão
     ** ***************************************************************/
    public function startSession() {
        $this->sessionStatus = session_start();
        return $this->sessionStatus;
    }
    /** ***************************************************************
     * @Method: Elimina sessões
     ** ***************************************************************/
    public function destroy() {
        if ($this->sessionStatus == self::SESSION_STARTED) {
            $this->sessionStatus = session_destroy();
            unset($_SESSION);
            return $this->sessionStatus;
        }
        return false;
    }
    /** ***************************************************************
     * @Method: Reinicia as sessões
     ** ***************************************************************/
    public function restart() {
        if (self::$session->destroy()) {
            self::$session->startSession();
        }
    }
    /** ***************************************************************
     * @Method: Reseta as sessões
     ** **************************************************************/
    public function reset() {
        session_reset();
    }
    
    /******************************************************************
     * @Method's HELPER: Helpes de auxílio a sessão única
     *****************************************************************/
    // ----------------------------------------------------------------
    // Definir sessão
    public function __set($name, $value) {
        $_SESSION[$name] = $value;
    }
    // ----------------------------------------------------------------
    // Obter sessão
    public function __get($name) {
        if (isset($_SESSION[$name])) {
            return $_SESSION[$name];
        }
    }
    // ----------------------------------------------------------------
    // Verificar sessão
    public function __isset($name) {
        return isset($_SESSION[$name]);
    }
    // ----------------------------------------------------------------
    // Desfazer sessão
    public function __unset($name) {
        unset($_SESSION[$name]);
    }
}

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
10 horas atrás, Omar~ disse:

O problema é passar a cessão direta e uma terceira pessoa ter acesso ao código fonte do que você desenvolveu.

Mas não vou me reter a ficar batendo nessa tecla já que como disse ainda está como novato no php.

Na verdade ninguém nunca é veterano em qualquer linguagem vai por mim. Mecho com PHP a mais de 12 anos e quase sempre me pego, tendo que aprender alguma coisa.

 

Como dica sugiro que comece a estudar POO, verá um mundo novo no php e a forma correta de se programar nessa linguagem.

E para o uso de banco de dados/ conexões/ SEGURANÇA e etc-e-tal, nada se compara ao PDO, bom essa é minha opinião.

 

Olha aqui uma classe bacana para gerenciar cessão:

  Mostrar conteúdo oculto


<?php
/**
 * *********************************************************************
 * @author ?
 * @copyright ?
 * @version 2.0: 2010, Spell Master (c)
 * @version 2.1: 2011, Spell Master (c)
 * @version 2.2: 2013, Spell Master (c)
 * @version 3.0: 2017, Spell Master (c)
 * 
 * *********************************************************************
 * @class: Classe para o gerenciamento e manipulação de sessões
 * *********************************************************************
 * 
 * @Usage single session
 * ---------------------------------------------------------------------
 * *** Pega a instância da classe
 * $session = Session::getSession();
 * 
 * *** Ver a cessão armazenada
 * $session->Word = "Olá mundo";
 * 
 * * Inicia uma cessão
 * $session->startSession();
 * 
 * *** Verificação de a sessão existe
 * if (isset($session->helloWord)) {
 *     echo "A cessão \"Word\" foi iniciada : "{$session->Word}".;
 * } else {
 *     echo "A cessão \"Word\" não foi iniciada";
 * }
 * 
 * *** Destroi a cessão
 * unset($session->Word);
 * 
 * ---------------------------------------------------------------------
 * @Usage all sessions
 * ---------------------------------------------------------------------
 * $session->destroy();
 * $session->restart();
 * $session->reset();
 * 
 * ---------------------------------------------------------------------
 * @Usage static
 * ---------------------------------------------------------------------
 * $session = managerSession::getSession();
 * $session->hello = "Olá Mundo";
 * echo $session->hello; 
 * 
 * *********************************************************************
 * @changelog
 * * Adicionado ducumentação e instruções de uso [spell master]
 * * Removido métodos e atributos desnecessários [spell master]
 * * Removido necessidade de parâmetros [spell master]
 * * Fixado na instância o construtor [spell master]
 * * Aplicado corretamente o uso de métodos estáticos [spell master]
 * *********************************************************************
 */
class managerSession {
    /* Constants de definição */
    const SESSION_STARTED = true;
    const SESSION_STOPED = false;
    /* Atributo de verificação */
    private $sessionStatus = self::SESSION_STOPED;
    /* Atributo estático de método */
    private static $session;
    /** ***************************************************************
     * @Method: Obtem a intância da cessão
     * (bool) Se a cessão já exite retorna a mesma
     ** ***************************************************************/
    public static function getSession() {
        if (!isset(self::$session)) {
            self::$session = new self;
        }
        self::$session->startSession();
        return self::$session;
    }
    /** ***************************************************************
     * @Method: Inicia a cessão
     ** ***************************************************************/
    public function startSession() {
        $this->sessionStatus = session_start();
        return $this->sessionStatus;
    }
    /** ***************************************************************
     * @Method: Elimina sessões
     ** ***************************************************************/
    public function destroy() {
        if ($this->sessionStatus == self::SESSION_STARTED) {
            $this->sessionStatus = session_destroy();
            unset($_SESSION);
            return $this->sessionStatus;
        }
        return false;
    }
    /** ***************************************************************
     * @Method: Reinicia as sessões
     ** ***************************************************************/
    public function restart() {
        if (self::$session->destroy()) {
            self::$session->startSession();
        }
    }
    /** ***************************************************************
     * @Method: Reseta as sessões
     ** **************************************************************/
    public function reset() {
        session_reset();
    }
    
    /******************************************************************
     * @Method's HELPER: Helpes de auxílio a sessão única
     *****************************************************************/
    // ----------------------------------------------------------------
    // Definir sessão
    public function __set($name, $value) {
        $_SESSION[$name] = $value;
    }
    // ----------------------------------------------------------------
    // Obter sessão
    public function __get($name) {
        if (isset($_SESSION[$name])) {
            return $_SESSION[$name];
        }
    }
    // ----------------------------------------------------------------
    // Verificar sessão
    public function __isset($name) {
        return isset($_SESSION[$name]);
    }
    // ----------------------------------------------------------------
    // Desfazer sessão
    public function __unset($name) {
        unset($_SESSION[$name]);
    }
}

 

 

Obrigado! vou usar seu exemplo como referencia, ok? eu quero aprender mysqli primeiro ou posso estudar PDO junto oque você recomenda? e onde encontro um tutorial pra estudar POO? alguma dica!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Mestres! muito obrigado pelas dicas ai, blza! bom consegui fazer aparecer o usuário logado, abaixo a solução para algum novato passar por essa dificuldade.

Habilite o modulo_session no apache caso estiver usando wampserv. assim começou a gravar as sessões

Para aparecer o nome do user logado troquei: 

$_SESSION = $_SESSION['usuario']  por

$usuario = $_SESSION['usuario'] assim de certo.

Problema resolvido.

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.