Jump to content
joaocasta

[Resolvido] Eval

Recommended Posts

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!!

Share this post


Link to post
Share on other 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();

Edited by yoda

Share this post


Link to post
Share on other 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 :(

Edited by joaocasta

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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?

Share this post


Link to post
Share on other 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";
}

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites
HappyHippyHippo

podes ler a informação de hora com a função date e verificar se é a hora que pretendes


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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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';
}

Edited by yoda

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.