Ir para conteúdo
Fórum Script Brasil
  • 0

Verificar se a função foi executada


mozack

Pergunta

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

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
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

crie um campo na sua tabela onde fica o status das vendas, e crie uma restrição s para enviar e n para não enviar

e faça adicion o if e else la té mais

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...