Olá a todos, Espero que me possam ajudar a resolver este pequeno problema que me surgiu num módulo que estou a fazer para uma loja. Vou passar a explicar o que o módulo faz e o que quero que faça. Bem, o módulo, quando chega na página de checkout gera uma código baseado no número de encomenda e valor, essa parte funciona muito bem. Agora pretendia que depois de gerar o código o enviasse por SMS e isso também consegui. O meu problema é: Quando chega ao checkout o script php é chamado e gera o código, apresenta-o na tela do usuário e envia o sms. O problema é que, quando o usuário vai para a página de compras efectuadas, essa página chama novamente o script e apresenta de novo o código até que o status da encomenda seja alterado para Pagamento Recebido, ou seja, sempre que o script é chamado mostra os dados (até aqui tudo bem), mas ao mesmo tempo, envia também o sms. Pensei em várias formas de resolver o problema: 1 - Verificar a página (URL) onde o script está a ser executado, se fosse no checkout, enviava o sms, se fosse em account não envia sms, testei isto: $message = $sms;
$finishorder = GetConfig('ShopPathSSL')."/finishorder.php?provider=".$this->GetId();
$currentpage = GetConfig('ShopPathSSL').$_SERVER["REQUEST_URI"];
$accountpage = GetConfig('ShopPathSSL')."/account.php?acion=order_status";
if ($finishorder == $currentpage){
return $message;
}
elseif ($finishorder == $accountpage) {
return false;
} Não dá. desta forma, não envia sms nenhum. 2 - Pensei em fazer de forma que o script criasse um ficheiro txt e inserisse o numero de encomenda dentro, à segunda chamada do script ele ia ler o ficheiro txt e se já tivesse lá o numero de encomenda não executava a função de sms. Este não consegui aplicar.... 3 - Já tentei com $_SESSION mas a sessão só termina quando o cliente paga Bem, precisava da vossa ajuda e gostava que me podessem ajudar. Obrigado a todos Mozack