Ir para o conteúdo
joaocasta

[Resolvido] Eval

Mensagens Recomendadas

joaocasta
<?php
function mostrarTemplate($tema, $variables)
{
//var_dump($variables);
extract($variables);
eval("?>".$tema."<?");
}
Boas, está a dar-me este erro.
Citação

Parse error: syntax error, unexpected T_STRING in/home/a4223133/public_html/script/funciones.php(22) : eval()'d code on line 8.

Linha 8 é

eval("?>".$tema."<?");
Preciso de ajuda!!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
yoda

Aqui está : http://pastebin.com/E97ypb5w

Exemplo de uso :

# criar view
$view = View::factory('template');


# associar parametros globais a todas as views
$view->bind('user', 'john');

# associar parametros locais a esta view
$view->email = 'john@hotmail.com';


# encadear views
$view->footer = View::factory('template/footer');

# renderizar / imprimir
$view->render();

Editado por yoda

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
joaocasta

Ok obrigado!

Não querendo abrir outro tópico, como posso somar duas variáveis com valores timestamp?

<?php
require('config.php');
$sqle = "SELECT * FROM tb_ads WHERE user='$last' and ident='$id'";
$resulte = mysql_query($sqle);		
while ($myrow = mysql_fetch_array($resulte)){
$time = $myrow['visitime'];
}

//get current time
$now = time();
//get tomorrow's time
$tomorrow = mktime(0, 0, 0, date('m'), date('d') + 1, date('Y'));

//get the remaining time in second
$rem =  $tomorrow - $now;

# O problema é em baixo
$crok2 = $time+$rem; 


echo $now . "<br>";
echo $crok2;

if ($now >= $crok2) {
echo "CORRECT";
}
else {
echo "INCORRECT";
}
?>

problema tá na linha 17. nao soma :(

Editado por joaocasta

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo
// para o dia 25 de dezembro de 2012
$tomorrow = mktime(0,
                  0,
                  0,
                  date('m'),     // string 11
                  date('d') + 1, // string 25 + inteiro 1 = "251" !!!!!
                  date('Y'));    // string 2012
$tomorrow = strtotime("+1 day");


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
joaocasta

// para o dia 25 de dezembro de 2012
$tomorrow = mktime(0,
			   0,
			   0,
			   date('m'),	 // string 11
			   date('d') + 1, // string 25 + inteiro 1 = "251" !!!!!
			   date('Y'));	// string 2012
$tomorrow = strtotime("+1 day");

mas isso dá-me +1 dia ao tempo da visita do anuncio.

Por exemplo, vejo 1 agora (09:49) e só o poderei ver de novo amanhã á mesma hora.

Eu queria que fizesse reset ás 00:00

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

o resultado é um timestamp, podes fazer o que pretenderes com ele:

$timestamp = strtotime("+1 day");
// para o dia 25 de dezembro de 2012
$tomorrow = mktime(0,
                  0,
                  0,
                  date('m', $timestamp), // string 11
                  date('d', $timestamp), // string 26
                  date('Y', $timestamp));// string 2012


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
joaocasta

o resultado é um timestamp, podes fazer o que pretenderes com ele:

$timestamp = strtotime("+1 day");
// para o dia 25 de dezembro de 2012
$tomorrow = mktime(0,
			   0,
			   0,
			   date('m', $timestamp), // string 11
			   date('d', $timestamp), // string 26
			   date('Y', $timestamp));// string 2012

entao como faço pra resetar ás 00:00?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
joaocasta

será que tem de ficar assim?:


//get current time
$now = time();
$timestamp = strtotime("+1 day");
// para o dia 25 de dezembro de 2012
$tomorrow = mktime(0,
                                  0,
                                  0,
                                  date('m', $timestamp), // string 11
                                  date('d', $timestamp), // string 26
                                  date('Y', $timestamp));// string 2012

echo $timestamp;

if ($now >= $tomorrow) {
echo "CORRECT";
}
else {
echo "INCORRECT";
}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
joaocasta

então achas que o "agora" alguma vez será maior que "amanhã" ??

Não! Enganei-me. Eu tenho esta variável que contém o tempo em timestamp da visita do anuncio.

$time = $myrow['visitime'];

O que faço para, por exemplo, tenho o $time que por exemplo é 1356520500, e eu quero que so seja correcto se ja for 00:00.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

$timestamp = strtotime("+1 day");
// para o dia 25 de dezembro de 2012
$tomorrow = mktime(0,
                  0,
                  0,
                  date('m', $timestamp), // string 11
                  date('d', $timestamp), // string 26
                  date('Y', $timestamp));// string 2012

não consegues ver como isso se faz com o código que te apresentei anteriormente ???


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
yoda
<?php

# ultima visita ao anuncio
$last_visit = $myrow['visitime'];

# ponto de reset
$reset_point = 60 * 60 * 24;

# timestamp actual
$now = time();

# se a diferença entre a ultima visita e o timestamp actual for maior que 24h
if (abs($now - $last_visit) >= $reset_point)
{
  echo 'pode ver o anuncio';
}
else
{
  echo 'nao pode ver o anuncio';
}

Editado por yoda

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

<?php


$last_visit = $myrow['visitime'];
$reset_point = 60 * 60 * 24;
$now = time();

if (($now - $last_visit) >= $reset_point)
{
  echo 'pode ver o anuncio';
}
else
{
  echo 'nao pode ver o anuncio';
}

isso são 24 horas certas desde a última visualização. (12-12-2012 12:12:12 -> 13-12-2012 12:12:12)

o pedido foi para as 00:00:00 do dia seguinte


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

Li mal .. mas mais fácil fica

<?php

$last_visit = $myrow['visitime'];
if (date('z Y', $last_visit) != date('z Y'))
{
echo 'pode ver o anuncio';
}
else
{
echo 'nao pode ver o anuncio';
}

pois ... mas parece que ler a documentação é muito complicado, mesmo que se lhe diga N vezes para a ler.


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.