PHP-Fusion Brasil
phpfusion

Navegação

Sites de Suporte

Usuários Online

· Visitantes Online: 7

· Membros Online: 0

· Membros Registrados: 910
· Mais Novo Membro: candiotti

Enquete

poll title

Qual versão do PHP-Fusion você usa em seu site?







A nova versão 7.01
A nova versão 7.01
100% [4 Votos]

A versão anterior 7.00.07
A versão anterior 7.00.07
0% [0 Votos]

A versão descontinuada 6.01.19
A versão descontinuada 6.01.19
0% [0 Votos]

Votos: 4
Iniciada: 06/09/2010 21:42

Arquivo de Enquetes

Você deve entrar para votar.

Ver Tópico

PHP-Fusion Brasil :: Outros Assuntos :: Discussão Geral
 Imprimir Tópico
PROBLEMA EM SCRIPT PHP
gohi
#1 Imprimir Mensagem
Enviado em 01/03/2010 17:53
Membro

Mensagens: 4
Registrado: 01.03.10

BOA TARDE AMIGOS

SOU NOVATO NO FORUM E NA VIDA PHP, POR ISSO VENHO PEDIR AJUDA DE VOCES COM ESSE SCRIPTS ABAIXO, COM ELE PEGO A HORA E DATA DO SITE HORACERTA.COM.BR, ANTES DO DIA DO HORARIO DE VERAO MUDAR ESTAVA CORRETO, POREM DEPOIS DA MUDANÇA NAO CONSIGO MAIS ACESSAR A PARTE DE MEU SITE QUE FAZ ESSA VERIFICAÇAO POIS ELE PARA NA MENSAGEM DATA "INVALIDA". SE SOUBEREM O QUE PODE SER E O QUE POSSO MUDAR NO SCRIPT PARA ARRUMAR DESDE JA AGRADECO A AJUDA. MEU EMAIL É XXMURILOXX@GMAIL.COM


SCRIPT

<?
include("lib.inc.php");
?>
<?php
///////////////////////////////abaixo pega a hora certa
function formatar($string) {
$censura = array('input','name','mostrador','type','text','size','<','>','"','=','value',' ');
for($n = 0;$n < count($censura);$n++){
$palavrao = $censura[$n];
$string = str_replace($palavrao,"",$string); }
return $string; }

function kabum($string,$valor){
$string = explode("-",$string);
if($valor == "data"){ return $string[0]; }
else{ return substr($string[1],0,-3); }
}

// Pega o código fonte do hora certa
@$source = file("http://www.horacerta.com.br/cgi-bin/horacerta.cgi?cidade=Goiania");


// Caso não consiga abrir ele avisa e para o carregamento da página
if(!$source){ exit("Ouve algum problema na sua rede <u>Hora Certa</u> não foi carregado!");}

// Pega a linha que contém a data e a hora certa
$linha = $source[103];
$linha = substr(formatar($linha),3);


$data = kabum($linha,"data"); // Data do Hora Certa
$time = kabum($linha,"tempo"); // Hora do Hora Certa
$sigla = substr(substr($linha,-3),0,2); // AM ou PM

// Adiciona + 12 horas caso a hora esteja PM

$new = explode(":",$time);
if($sigla == "PM"){ $new[0] = $new[0] + 12; }
elseif($sigla == "AM" && $new[0] == 12){ $new[0]=0; }
$time = implode(":",$new);

$data2 = $data;

// Formata a data trocando o nome do mês pelo seu número correspondente
$data = explode("/",$data);
if(strlen($data[0]) == 1){ $data[0] = "0".$data[0].""; }

switch($data[1]){

case "jan":
$data[1] = '01';break;
case "fev":
$data[1] = '02';break;
case "mar":
$data[1] = '03';break;
case "abr":
$data[1] = '04';break;
case "mai":
$data[1] = '05';break;
case "jun":
$data[1] = '06';break;
case "jul":
$data[1] = '07';break;
case "ago":
$data[1] = '08';break;
case "set":
$data[1] = '09';break;
case "out":
$data[1] = '10';break;
case "nov":
$data[1] = '11';break;
case "dez":
$data[1] = '12';break;
default:
exit("Data inválida - Erro: Não conseguiu ser formatada"); // Para o carregamento
}
// Reorganiza o novo array
$data = implode("-",$data);

$time2 = $time;
$time = "".$time.",0";


$string = "@echo on
data $data;
time $time";
//echo $data;

function converte_data($data){
if (strstr($data, "/")){
$A = explode ("/", $data);
$V_data = $A[2] . "-". $A[1] . "-" . $A[0];
}
else{
$A = explode ("-", $data);
$V_data = $A[2] . "/". $A[1] . "/" . $A[0];
}
return $V_data;
}

/////////////////////////////////acima pega a hora certa

$date = converte_data("$data");
$hora = $time;
$ip_usuario = $REMOTE_ADDR;
$ip = $ip_usuario;
/////////////////////////////////função converte ip total
function converter($ip)
{
$parte = explode(".", $ip);
$numero = $parte[0].$parte[1].$parte[2].$parte[3];
return $numero;
}
/////////////////////////////////////////////fim

//ler dados do formulário
$dados = $_POST;

$erro = 0;
//validação
if (empty($dados['consulta']) || empty($dados['senha']))
{
$erro = 1;
$msg = "É necessário preencher os campos C. N. P. J e senha.";
}
if ($erro == 0)
{
$sql = "SELECT *, LEFT(ip_confere,6) as ip_cadastrado
FROM so_login_cliente
WHERE cnpj = '$dados[consulta]' AND senha = md5('$dados[senha]')";
//die ($sql);

//executar no SGBD
$rs = mysql_query($sql);

//tem no mínimo um (1) registro?
if (mysql_num_rows($rs) > 0)
{
//recebe dados vindo da consulta
$dados_db = mysql_fetch_array($rs, MYSQL_ASSOC);

//hora de criar sessão e redirecionar para página restrita
session_start();
$_SESSION['id'] = $dados_db['id'];
$_SESSION['cnpj'] = $dados_db['cnpj'];
$_SESSION['usuario'] = $dados_db['usuario'];
$_SESSION['empresa'] = $dados_db['empresa'];
$_SESSION['ip_usuario'] = $ip_usuario;
$_SESSION['situacao'] = $dados_db['situacao'];
$_SESSION['nivel'] = $dados_db['nivel'];
///////////////////////grava o acesso ao sistema na tabela acesso.
$sQuery1 = "insert into acesso (cod_user, nome_user, data, hora, ip_usuario)
values ('" . $dados_db['id'] . "',
'" . $dados_db['usuario'] . "',
'" . $date . "',
'" . $hora . "',
'" . converter($ip) . "')";
//die ($sql);
mysql_query($sQuery1);
header("Location: cad_consulta_cliente/consulta_cliente.php");
}
else
{
$erro = 1;
$msg = "C. N. P. J ou senha incorreto. Tente novamente ou entre em contato com nossa central. PABX (021 - 62) 4008-1000 / 4008-1010";
}
}


if ($erro)
{
header("Location: login_consulta.php?mensagem=$msg");
}
?>

EDITADO: Desativado os smileys para melhor visualização e inserido o script em formato PHP!
Editado por gsguma em 02/03/2010 11:48
 
gsguma
#2 Imprimir Mensagem
Enviado em 02/03/2010 11:51
Avatar

Administrador

Mensagens: 482
Registrado: 05.09.08

Já verificou o que está retornando na linha 103 ($linha = $source[103];) do arquivo?
www.gsguma.com.br/extras/foruns/php_fusion/assinatura.gif
 
www.gsguma.com.br
gohi
#3 Imprimir Mensagem
Enviado em 03/03/2010 07:43
Membro

Mensagens: 4
Registrado: 01.03.10

gsguma escreveu:
Já verificou o que está retornando na linha 103 ($linha = $source[103]Wink do arquivo?


Bom Dia Amigo

Na verdade nao, nao sei como escrever para sair essa linha, como seria?
 
gsguma
#4 Imprimir Mensagem
Enviado em 03/03/2010 09:55
Avatar

Administrador

Mensagens: 482
Registrado: 05.09.08

Já acessou o website "Hora Certa"? O site está com problemas acredito que por esta razão seu script não está funcionando!

Para conhecimento, acessa e retorna a linha na qual está trabalhando:
Baixar código-fonte  PHP
  1. <?php
  2. // Pega o código fonte do hora certa
  3. @$source = file("http://www.horacerta.com.br/cgi-bin/horacerta.cgi?cidade=Goiania");
  4.  
  5. // Caso não consiga abrir ele avisa e para o carregamento da página
  6. if(!$source){ exit("Ouve algum problema na sua rede <u>Hora Certa</u> não foi carregado!");}
  7.  
  8. // Pega a linha que contém a data e a hora certa
  9. $linha = $source[103];
  10.  
  11. echo "Linha -> $linha";
  12.  
  13. ?>


OBS: Scripts baseados em sites externos não são um bom negócio, sem contar que seu script está tratando apenas a linha 103, caso o desenvolvedor do site externo alterar qualquer linha antes da 103 seu script se torna unútil, ao invés disso deve tratar todo o código fonte externo ou criar seu próprio (acho mais negócio, mas...kda1 kda1) !

Espero ter ajudado!
Editado por gsguma em 03/03/2010 10:05
www.gsguma.com.br/extras/foruns/php_fusion/assinatura.gif
 
www.gsguma.com.br
gohi
#5 Imprimir Mensagem
Enviado em 04/03/2010 18:25
Membro

Mensagens: 4
Registrado: 01.03.10

gsguma escreveu:
Já acessou o website "Hora Certa"? O site está com problemas acredito que por esta razão seu script não está funcionando!

Para conhecimento, acessa e retorna a linha na qual está trabalhando:
Baixar código-fonte  PHP
  1. <?php
  2. // Pega o código fonte do hora certa
  3. @$source = file("http://www.horacerta.com.br/cgi-bin/horacerta.cgi?cidade=Goiania");
  4.  
  5. // Caso não consiga abrir ele avisa e para o carregamento da página
  6. if(!$source){ exit("Ouve algum problema na sua rede <u>Hora Certa</u> não foi carregado!");}
  7.  
  8. // Pega a linha que contém a data e a hora certa
  9. $linha = $source[103];
  10.  
  11. echo "Linha -> $linha";
  12.  
  13. ?>


OBS: Scripts baseados em sites externos não são um bom negócio, sem contar que seu script está tratando apenas a linha 103, caso o desenvolvedor do site externo alterar qualquer linha antes da 103 seu script se torna unútil, ao invés disso deve tratar todo o código fonte externo ou criar seu próprio (acho mais negócio, mas...kda1 kda1) !

Espero ter ajudado!




Com certeza ajudou sim
so que o problema é que realmente sou leigo de tudo em php, quem fez este site da empresa nao faz mais parte dela, e colocaram em minha mao para resolver o problema, estou desenvolvendo um projeto para desenvolvimento de um novo site, porem ate la preciso resolver isso, so que de modo a usar os mesmos caminhos que estao no script pra dar certo no restante do site. Se puderem me dar uma força de como fazer agradeceria muito. Obrigado!
 
Splash
#6 Imprimir Mensagem
Enviado em 04/03/2010 23:22
Avatar

Administrador

Mensagens: 654
Registrado: 26.10.07

Opa. Beleza cara?!

Eu já escrevi uma função que faz isso.
Olha ela ae (simples e prática):
Baixar código-fonte  GeSHi: PHP
  1. function getTime($timePage = 'http://pcdsh01.on.br/HoraLegalBrasileira.asp')
  2. {
  3. /* Por: Igor Cemim - igor.cemim em yahoo.com.br */
  4. $page = fopen($timePage, 'r');
  5. preg_match('/[0-2][0-9]:[0-5][0-9]:[0-5][0-9]/', fread($page, 4000), $result);
  6. return $result[0];
  7. }
Gerado em 0.018 segundos usando GeSHi 1.0.7.20


Pega a hora do certa na página do Observatório Nacional
(instituição que fornece a hora certa no Brasil).

Obs.: Naturalmente tem um atrasado de mais ou menos
1 a 4 segundos na hora retornada, devido a realização do
download da página e tempo de execução da função.
Cumprimentos, Igor Ferreira Cemim

img835.imageshack.us/img835/5770/bannercv.png
 
http://igor.cz.cc/
gohi
#7 Imprimir Mensagem
Enviado em 08/03/2010 14:52
Membro

Mensagens: 4
Registrado: 01.03.10

Splash escreveu:
Opa. Beleza cara?!

Eu já escrevi uma função que faz isso.
Olha ela ae (simples e prática):
Baixar código-fonte  GeSHi: PHP
  1. function getTime($timePage = 'http://pcdsh01.on.br/HoraLegalBrasileira.asp')
  2. {
  3. /* Por: Igor Cemim - igor.cemim em yahoo.com.br */
  4. $page = fopen($timePage, 'r');
  5. preg_match('/[0-2][0-9]:[0-5][0-9]:[0-5][0-9]/', fread($page, 4000), $result);
  6. return $result[0];
  7. }
Gerado em 0.018 segundos usando GeSHi 1.0.7.20


Pega a hora do certa na página do Observatório Nacional
(instituição que fornece a hora certa no Brasil).

Obs.: Naturalmente tem um atrasado de mais ou menos
1 a 4 segundos na hora retornada, devido a realização do
download da página e tempo de execução da função.



Muito Obrigado pela resposta amigo
mas ainda assim preciso de uma solucao em cima do script que enviei, pois ha outra funcoes buscadas nele que nao posso mexer, estou perdido neste caso, agradeço mais sugestoes
t+
 
gsguma
#8 Imprimir Mensagem
Enviado em 08/03/2010 16:46
Avatar

Administrador

Mensagens: 482
Registrado: 05.09.08

Olha só, não vejo a necessidade de ter que buscar uma data precisa, vendo que so necessita salvar data e hora para logs do sistema, tipo para registrar quando foram feitas as gravações, etc no sistema.
Ninguém usa scripts externos para esse tipo de coisa, então apenas ajustei para pegar a data e hora direto do servidor, ajustando timezone para o fuso horário de "são paulo". Caso não esteja em São Paulo, lei isso e altera onde achar "america/sao paulo" no código abaixo:

Timezones reconhecidos no PHP

Espero ter ajudado,

[]s
gsguma anexou o seguinte arquivo:
script.zip
Editado por gsguma em 08/03/2010 16:48
www.gsguma.com.br/extras/foruns/php_fusion/assinatura.gif
 
www.gsguma.com.br
Ir ao Fórum:

Selos

XHTML válido!
CSS válido!

Aniversários

Lista completa aqui

Staff

staff

09 Setembro 2010 11:28

off  Bruno Veiga
09/09/2010 11:21
    off  Sandro Dumke
09/09/2010 09:56
    off  eipiel
08/09/2010 23:49
    off  Splash
08/09/2010 23:41
    

Publicidade