Ir para conteúdo

POWERED BY:

Arquivado

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

WBS DIGITAL

Sistema de login - funciona local, mas não funciona online

Recommended Posts

Pessoal, uso esse sistema de login há algum tempo, antigamento funcionava normal, agora não funciona mais online, porém, localmente funciona perfeitamente, o que pode ser?

 

na index.php eu uso esse script no inicio da pagina:

<? 
error_reporting(false);
ob_start();
include ('check.php');

?>

<?php
 function curPageURL() {
 $pageURL = 'http';
 if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
 $pageURL .= "://";
 if ($_SERVER["SERVER_PORT"] != "80") {
 $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
 } else {
 $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
 }
 return $pageURL;
 }
?>

check.php

<?
/** ********************************************************************
* @author Werdeson
* @version 1.3
* @license Desenvolvido por Rodrigo Peixoto  e Werdeson Parceria Shop in Home e Wbs Digital
* @package Sistema de conexao com o banco e validação de login                       
************************************************************************
*/
$db = mysql_connect("localhost", "usuário", "senha"); //conecta ao mysql
$basedados = mysql_select_db('banco'); //conecta a base de dados

$nome = $_COOKIE["login2"]; //pegamos o cookie login, gravado anteriormente com o login
$pass = $_COOKIE["senha2"]; //pegamos o cookie senha, gravado anteriormente com o login

$confirmacao = mysql_query("SELECT id_login, login, senha, nome, email, grupo, ativo, data_cadastro, data_acesso, acesso, foto FROM login WHERE login = '$nome' AND senha = '$pass'"); //verificamos se o conteudo dos cookies esta correto
$contagem = mysql_num_rows($confirmacao); //resulta da pesquisa acima

$ql = mysql_fetch_array($confirmacao); // executa a query da tabela login

$idl = $ql['id_login']; //armazeno o id do usuario logado
$apelidol = $ql['login']; // armazeno o apelido ou login
$nomel = $ql['nome']; // nome real do logado
$emaill = $ql['email']; //email do logado
$grupo = $ql['grupo']; // grupo do logado
$ativol = $ql['ativo']; // status do logado 0 = bloqueado 1 = ativo
$data_cadastrol = $ql['data_cadastro']; // dia que o usuario se cadastrou
$data_acessol = $ql['data_acesso']; // dia e hora do ultimo acesso do usuario
$acessol = $ql['acesso']; // numero de vezes que o usuário se logou no sistema
$fotol = $ql['foto']; // foto do usuário
?>

checkuser.php

<?
/** ********************************************************************
* @author Werdeson
* @version 1.3
* @license Desenvolvido por Rodrigo Peixoto  e Werdeson Parceria Shop in Home e Wbs Digital
* @package Verifica o login                      
************************************************************************
*/
$db = mysql_connect("localhost", "usuario", "senha"); //conecta ao mysql
$basedados = mysql_select_db('banco'); //conecta a base de dados

$confirmacaol = mysql_query("SELECT * FROM login WHERE login='$login2' AND senha='$senha2' and ativo=1",
    $db); //verifica se o login e a senha conferem
$contageml = mysql_num_rows($confirmacaol); //traz o resultado da pesquisa acima
$lendo=mysql_fetch_array($confirmacaol);
$data_acessol=date("Y-m-d H:i:s");
$acessol=$lendo['acesso'];
$ativoll=$lendo['ativo'];
$ids=$lendo['id_login'];

if ($ativoll=="1"){
if ($contageml == "1")
{
$mais="1";
$acessoltotal= ($acessol + $mais);
$atualizaacesso=mysql_query("UPDATE login SET acesso='$acessoltotal', data_acesso='$data_acessol' WHERE id_login='$ids'");
$atualog=mysql_query("insert into log (id_usuario, data_acesso) values ('$ids', '$data_acessol')");
    setcookie("login2", $login2); //grava o cookie com o login
    setcookie("senha2", $senha2); //grava o cookie com a senha
    echo "logado";
    header("location:index.php");
} else
{
    echo "<h1 style=\"color:red;\">Login ou senha inválidos. <a href=javascript:history.go(-1)>Clique aqui para voltar.</a></h1>"; //se a senha está incorreta mostra essa mensagem
}
}
 else
{
    echo "<h1 style=\"color:red;\"><center>:(</center><br>Desculpe $login2, seu cadastro ainda não foi aprovado pelo administador.<br>Por favor aguarde só mais um pouco.<br></h1>"; //se a senha está incorreta mostra essa mensagem
}
?>

O banco de dados está cadastrado corretamente

CREATE TABLE IF NOT EXISTS `login` (
  `id_login` int(11) NOT NULL AUTO_INCREMENT,
  `login` varchar(50) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
  `senha` varchar(10) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
  `nome` varchar(250) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
  `email` varchar(150) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
  `grupo` varchar(15) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
  `ativo` char(1) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
  `data_cadastro` date NOT NULL,
  `data_acesso` datetime NOT NULL,
  `acesso` int(11) NOT NULL,
  `foto` varchar(150) NOT NULL,
  `cidade` char(40) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
  `estado` char(100) NOT NULL,
  `sobre` text NOT NULL,
  PRIMARY KEY (`id_login`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=24 ;

 

Alguém pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual a versão do php local e da hospedagem?

 

é recomendado q vc sempre use

 

<?php no lugar de <?

 

<?php echo $var; ?> no lugar de <?= $var ;?>

 

 


error_reporting(false);

 

que é isso? não oculte os erros se não fica complicado de resolver eles sem as mensagens.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não aparece erro, apenas o aviso do ultimo else do checkuser.php:

Desculpe , seu cadastro ainda não foi aprovado pelo administador.
Por favor aguarde só mais um pouco.

 

mas no banco de dados o cadastro já está autorizado



qual a versão do php local e da hospedagem?

 

é recomendado q vc sempre use

 

<?php no lugar de <?

 

<?php echo $var; ?> no lugar de <?= $var ;?>

 

 

 


error_reporting(false);

 

que é isso? não oculte os erros se não fica complicado de resolver eles sem as mensagens.

Vou tirar Shini, vou alterar de acordo seus conselhos e ver no que dá. Obrigado!



Continua dando erro!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem uma chave sobrando aqui

 

 

}
}
else
{
    echo "<h1 style=\"color:red;\"><center>:(</center><br>Desculpe $login2, seu cadastro ainda não foi aprovado pelo administador.<br>Por favor aguarde só mais um pouco.<br></h1>"; //se a senha está incorreta mostra essa mensagem
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

quando rodei checkuser.php (original, claro alterei os parametros do banco) aparece os seguintes erros:

 

Login ou senha inválidos. Clique aqui para voltar."; //se a senha está incorreta mostra essa mensagem } }else{ echo "

Desculpe $login2, seu cadastro ainda não foi aprovado pelo administador.
Por favor aguarde só mais um pouco.
"; //se a senha está incorreta mostra essa mensagem } ?>

 

 

depois rodei com <?php no lugar de <? ai redirecionou para index.php, testei no php 5.4.7

 

qual a versão do php na hospedagem e do localhost?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A versão que uso é o php 5.4.14 do Easyphp 5.3.8.1 e minhas revenda é da locaweb com php 5.3.3



quando rodei checkuser.php (original, claro alterei os parametros do banco) aparece os seguintes erros:

 

 

 

 

depois rodei com <?php no lugar de <? ai redirecionou para index.php, testei no php 5.4.7

 

qual a versão do php na hospedagem e do localhost?

A versão que uso é o php 5.4.14 do Easyphp 5.3.8.1 e minhas revenda é da locaweb com php 5.3.3

Compartilhar este post


Link para o post
Compartilhar em outros sites

em checkuser.php da onde vem $login2 e $senha2?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A primeira coisa que vc deveria ter feito é verificar/debugar o que está retornando da consulta, já que $ativoll nunca entra no if.

 

Coloque um [inline]var_dump()[/inline] logo após a consulta para ver o que de fato está retornado.

 

$lendo = mysql_fetch_array( $confirmacaol );

var_dump( $lendo );

A partir disso vá "subindo" no script debugando até encontrar o erro.

 

Possivelmente deve ser o que o shini suspeitou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A primeira coisa que vc deveria ter feito é verificar/debugar o que está retornando da consulta, já que $ativoll nunca entra no if.

 

Coloque um [inline]var_dump()[/inline] logo após a consulta para ver o que de fato está retornado.

 

$lendo = mysql_fetch_array( $confirmacaol );

var_dump( $lendo );

A partir disso vá "subindo" no script debugando até encontrar o erro.

 

Possivelmente deve ser o que o shini suspeitou.

O que eu não entendo é q no kinghost funciona perfeitamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

e o $login2 e $senha2 vem da onde? qual é a ordem dos arquivos?

 

check.php -> index.php ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

e o $login2 e $senha2 vem da onde? qual é a ordem dos arquivos?

 

check.php -> index.php ?

vou verificar e te passo

Compartilhar este post


Link para o post
Compartilhar em outros sites

vou verificar e te passo

Não to conseguindo identificar o motivo, caso alguém se disponha a ver o código pra mim, posso mandar os arquivos

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual arquivo chama qual?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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