Problema com SELECT/UPDATE da DB + Contagem 30
Boas Malta,
Estou tendo um problema com o chamar da DB com o SELECT.
Preciso de fazer chamar o EMAIL, TIME_TS e o USERNAME, e que o TIME_TS faça a contagem dos 30 dias até ao dia 0.
Deixo o código aqui
<?php if($account->vip) : ?>
<?php
function setTimeout($fn, $timeout){
// sleep for $timeout milliseconds.
sleep(($timeout/8000));
$fn.'()';
}
// Some example function we want to run.
function someFunctionToExecute(){
$result = $database->query('SELECT * FROM `users` WHERE `user_id`=$user_id');
while($row = $result->fetch_assoc()) {
$time_ts = $row["time_ts"];
$user_email = $row["email"];
$username = $row["username"];
}
if($time_ts>0){
$database->query('UPDATE `users` SET `time_ts`= $time_ts WHERE `user_id` = $user_id');
}else{
$emailContent = file_get_contents('emails/ts_information_users.html', true);
$emailContent = str_replace("{{RESEND-ACTIVATION-EMAIL-CONTENT}}",$language->resend_activation->email->content,$emailContent);
$emailContent = str_replace("{{RESEND-ACTIVATION-EMAIL-CONTENT-USER}}",$language->resend_activation->email->contentUser,$emailContent);
$emailContent = str_replace("{{RESEND-ACTIVATION-EMAIL-CONTENT-ACTIVATE}}",$language->resend_activation->email->contentActivate,$emailContent);
$emailContent = str_replace("{{RESEND-ACTIVATION-EMAIL-CONTENT-FOOTER}}",$language->footer_emails->footer,$emailContent);
$emailContent = str_replace("{{EMAIL}}",$user_email,$emailContent);
$emailContent = str_replace("{{RESEND-ACTIVATION-USERNAME}}",$username,$emailContent);
$profile_account->vip == 0;
sendmail($user_email, $language->resend_activation->email->title, $emailContent);
}
}
// This will run the function after a 3 second sleep =>
// We're using an anonymous function to wrap the function
// which we wish to execute.
setTimeout(function(){
someFunctionToExecute();
}, 1000*3600*24);
?>
<?php else : ?>
<font color="#0C9620"><?= $language->store->vip->limit ?></font>
<?php endif; ?>
O problema é que ele não está actualizar o TIME_TS na DB nem fazer chamar o EMAIL e USERNAME..
Porque isto é, quando a pessoa clica no botão buy, supostamente seria para ficar a fazer uma contagem de 30 dias até ao dia 0, e quando chegasse ao dia 0, enviasse um email ao user.
Deve existir um problema com
function setTimeout($fn, $timeout){
// sleep for $timeout milliseconds.
sleep(($timeout/8000));
$fn.'()';
}
Porque se eu deixar esse código aberto, a página fica em looping e não para com o refresh.
AbraçoDiscussão (4)
Carregando comentários...