Enviar dados da variável do JavaScript para o PHP

04/10/2022

0

Fiz um script em javascript que tem como objetivo gerar um número randômico e tomar uma decisão de acordo com o número selecionado:

var numero = Math.floor(3* Math.random());

switch (numero){
            case 0: 

            break
            case 1:
            break
            case 2: 
            break


Gostaria que, o resultado salvo na variável "numero" também fosse enviado para um código php, onde pegará o número sorteado e salvará ele dentro de um txt:

<?php


    function gravar($texto){
        $arquivo = "relatorio.txt";
        $fp = fopen($arquivo, "a+");
        fwrite($fp, $texto);
        fclose($fp);
    }

    gravar($numero);


    ?>
Ryan

Ryan

Responder

Post mais votado

04/10/2022

Uma das formas para fazer isso e que eu acredito no seu caso ser o ideal para fazer essa conexão, seria utilizando de um requisição GET ou POST para o seu arquivo php:

    // método GET
   fetch(`caminho_arquivo_PHP?numero=$`)


agora no arquivo PHP será necessário acrescentar uma condição para não ocorrer erros:

    if(isset($_GET['numero'])){

            function gravar($texto){
                $arquivo = "relatorio.txt";
                $fp = fopen($arquivo, "a+");
                fwrite($fp, $texto);
                fclose($fp);
            }
         
            gravar($_GET['numero']);
        }

Lucas Polles

Lucas Polles
Responder

Mais Posts

04/10/2022

Ryan

Olá Lucas, tentei implementar mas não funcionou, no relatório que é criado, ele salva apenas o $ e não o número. O script JS está na mesma página que roda o PHP, vou deixar o código pra você ver se fiz corretamente:

    <script>
        var numero = Math.floor(3* Math.random());
 
        switch (numero){
                    case 0: 
                    break
                    case 1:
                    break
                    case 2: 
                    break
            }

        fetch(`teste.php?numero=$`)
    </script>


    <?php
        if(isset($_GET['numero'])){
        
            function gravar($texto){
                $arquivo = "relatorio.txt";
                $fp = fopen($arquivo, "a+");
                fwrite($fp, $texto);
                fclose($fp);
            }
        
            gravar($_GET['numero']);
        }
    ?>
Responder

04/10/2022

Lucas Polles

então, no fetch você deve usar de template string pra passar o valor que deseja salvar, mas o comentário acabou cortando. Esse link da Devmedia mostra como implementar:
https://www.devmedia.com.br/javascript-template-literals/41193


mas caso deseje pode fazer a concatenação tbm no momento do fetch, e ficaria assim:

fetch("teste.php?numero="+numero);



Por padrão o método fetch irá realizar uma requisição GET para a página com o arquivo php e será enviado o valor através da URL, onde será feito a leitura desse valor pela variavel $_GET
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar