Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boas Malta,
Básicamente queria fazer uma contagem de 30 dias, com desactivação do serviço em si, ou seja, Comprava e Fica do tipo "Faltam 30 Dias / Faltam 29 Dias, etc.." depois no fim dos dias, ficaria "Comprar Novamente" ..
Sei que não está bem, precisava era de uma ajuda.
Tenho desta forma a chamada
<?php if($account->SERVICO1) : ?>
<font color="#BB0306">
<?php
if(isset($_POST['buy1']))
{
$buy1 = date('Y-m-d H:i:s');;
$buy1->add(new DateInterval('P30D'));
echo "" . $buy1 . "\n";
}
?>
</font>
<?php else : ?>
<font color="#0C9620"><?= $language->store->SERVICO1->no_limit ?></font>
<?php endif; ?>
Já coloquei de outra forma só para colocar como se tivesse comprado e aparecesse a diferenca dos 30 dias. ou seja, a data ficava com + 30 dias do dia de hoje por exemplo.
Queria era adicionar a data da compra que quando clicassem no botão da compra de comprar, que adicionasse os dias que faltavam para renovar e quando chegasse ao fim, voltava novamente ao "Comprar" (exemplo)..
Tenho o botão da chamada assim
<a href="store/purchase/COMPRA1/<?= Security::csrf_get_session_token('url_token'); ?>" class="label label-success label-store btn btn-dark" data-confirm="<?= $language->store->confirm_purchase; ?>">
<?php printf($language->store->display->purchase); ?>
</a>
Se me conseguissem dar uma ajuda para colocar na database, acho que seria melhor para a configuração/registo do dia.
Não sei se me fiz entender.
Obrigado.
Abraço,Boas @Matteus,
Yap funcionou bacano, e simples..
Substitui o "**EXPIROU**" por variavel para fazer do genero.. quando chegar ao "**$expirou**" enviar um email automaticamente para o "**$_POST['email']** (da pessoa que se registou)" e outro para mim de aviso "**$to**" ..
Fazer algo deste jeito..
Chegou ao **$expirou **e envia um email para mim e para a pessoa registada.
Este code nao é o que tenho mas ve se daria para fazer algo assim
if(isset($_POST['expirou']))
{
$to = 'name@yahoo.com';
$client = '$_POST['email']';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@ourcompany.com' . "\r\n" .
'Reply-To: webmaster@ourcompany.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
sendmail($to, $client, $subject, $message, $headers);
Obrigado
AbracoBoas Novamente,
Acho que ele não fazia os updates dos dias..
Tentei fazer deste formato ..
<script type="text/javascript">
function countDown(){
$(".show").each(function() {
var elm = $(this);
var difTime=this.timestamp;
var day=0,hours=0,minutes=0,seconds=0;
if(difTime>0){
day=Math.floor(difTime/84600);
hours=(Math.floor((difTime/3600))%24) + day*24 ;
minutes=Math.floor(difTime/60)%60;
seconds=Math.floor(difTime)%60;
}
else{
elm.removeClass("show"); //for remove class show
}
elm.html(hours+' H '+minutes+' M '+seconds+' S ');
});
}
function countDown_onLoad(){
$(".show").each(function() {
this.timestamp = parseInt(this.firstChild.nodeValue,10);
});
setInterval(countDown,1000);
}
$(document).ready(function() {
countDown_onLoad();
});
</script>
<font color="#BB0306">
<?php
$show=mysql_query("SELECT * FROM `users` WHERE `time_ts` = 1");
while ($array = mysql_fetch_array($show))
{
$timeStop = $array['timeStop'];
//$deltaTimeServer = strtotime($timeStop)-strtotime(date('Y-m-d H:i:s'));
$deltaTimeServer = strtotime($timeStop)-time();
echo "<td align = 'center'><div class=\"show\">".$deltaTimeServer."</div></td>";
}
?>
</font>
Ou seja, queria que quando se clicasse no botão
<a href="store/purchase/COMPRA1/<?= Security::csrf_get_session_token('url_token'); ?>" class="label label-success label-store btn btn-dark" data-confirm="<?= $language->store->confirm_purchase; ?>">
<?php printf($language->store->display->purchase); ?>
</a>
que a contagem por exemplo começasse no dia em que se clicou e que apartir dai contasse os 30 dias, 30,29,28,27, etc.. e que quando chegasse ao 0 dizia "expirou".. e que desse update ao mesmo no mysql.
Não sei se deu para entender ..
Obrigado.
Abraço
Olá @Joob.
O que você precisa é construir o objeto DateTime com a data referente à validade do serviço.
Em outras palavras, é basicamente isso:
<?php
// $data = new \DateTime();// se for agora
$data = new \DateTime( '2018-08-22 15:00:00' );// se for uma data do bd
$expira_em = ( clone $data )->modify( 'next month' );// ou "+30 days", se preferir limitar aos dias
VALIDO AINDA
Dias restantes: 31