Incrementare variabile php tramite form e ajax

di il
6 risposte

Incrementare variabile php tramite form e ajax

Ciao a tutti.

avrei bisogno di qualche dritta su come incrementare una variabile già presente in un file php tramite un form senza che la pagina venga ricaricata

esempio:
$tempogara=0

incrementare $tempogara ogni volta che si preme invio con il numero x inserito nel form

ho visto qualcosa tramite ajax ma mi sono perso con il ritorno della variabile

sul mio sito ho già tutto questo con $_POST[tempogara'] tramite form method="post" ma si rallenta di molto dovendo aspettare il ricaricamento della pagina

6 Risposte

  • Re: Incrementare variabile php tramite form e ajax

    Ciao,
    ogni volta che esegui una chiamata ajax viene eseguito il file php una volta. Quindi ogni volta che viene scaturito questo evento la variabile passerà sempre da 0 al massimo a 1 e non farà mai 0,1,2,3,4 ecc perché il dato non è memorizzato in un db o file.

    Quindi la tua variabile $tempogara la dovrai memorizzare in una base dati o altro. Per poi riprendere il valore e incrementarlo.

    Incrementare intendi
    
    $tempogara++;
    
    Oppure altro?

    Ciao
  • Re: Incrementare variabile php tramite form e ajax

    Ho creato questo tastierino che premendo i tasti aggiornano il pettorale (in alto tra le parentesi).
    come già detto funziona perché tramite form method="post" vado ad aggiornare la variabile, ricarico la pagina, e posso ancora aggiornare la variabile finché non premo il tasto verde che invia i dati a mysql per l'inserimento definitivo. Ho fatto la stessa cosa sia per il pettorale che per l'inserimento tempi e funziona però devo aggiornare ogni volta la variabile ricaricando la pagina. mi chiedevo se con ajax potevo fare la stessa cosa in asincrono appoggiandomi su un file php dove inserire i dati e poi andare a rimetterli nella variabile del php originale aggiornati.
    Allegati:
    30057_66489ba1bd18c0b2103d18d7327d99b3.jpg
    30057_66489ba1bd18c0b2103d18d7327d99b3.jpg
  • Re: Incrementare variabile php tramite form e ajax

    Questa la variabile come viene ri-aggiornata al caricamento della pagina

    <?php
    if (isset($_POST['pettorale']))
    {
    $_POST['pettorale']=$_POST['pettorale'];
    } else {
    $_POST['pettorale']="";
    }
    ?>
  • Re: Incrementare variabile php tramite form e ajax

    felix67 ha scritto:


    Questa la variabile come viene ri-aggiornata al caricamento della pagina

    <?php
    if (isset($_POST['pettorale']))
    {
    $_POST['pettorale']=$_POST['pettorale'];
    } else {
    $_POST['pettorale']="";
    }
    ?>
    Ciao,
    certo che si può fare.

    Ti devi scaricare le librerie jquery.

    Al click del bottone verde chiami il file php nel server, passi i parametri in POST, se è tutto andato bene restituisci un messaggio di avvenuto con successo oppure errore generico o specifico. In base a come la vuoi gestire.

    Ciao
  • Re: Incrementare variabile php tramite form e ajax

    Aggiungo:
    è un po' diverso l'approccio rispetto al classico reload della pagina o apertura di una nuova pagina.

    Tu vai ad aggiornare solo uno o più DOM della pagina aperta.

    Ciao
  • Re: Incrementare variabile php tramite form e ajax

    RISOLTO

    Forse sarebbe da modificare il titolo con:
    Incrementare variabile PHP tramite FORM

    questo lo script completo, probabilmente pieno di errori perché non ho studiato le basi però funziona:
    in tastierino.php

    <!doctype html>
    <html lang="it">
    <head>
    <title>INSERIMENTO PETTORALE</title>


    <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <!-- Style -->
    <link href="style.css" rel="stylesheet" />

    </head>
    <body>

    <table width="100%" border="0">
    <tr bgcolor="#000000">
    <td valign="top" align="center"><strong><font color="#FFFFFF">INSERISCI PETTORALE</font></strong></td>
    </tr>
    <tr bgcolor=""#000000">
    <td valign="top" align="center"><strong><font color="#FFFFFF" size="30px"></font></strong></td>
    </tr>
    </table>
    <center>
    <table width="75%" align="center" border="0">
    <form method="post" action="pettorale.php" onsubmit="return check();">
    <input type="text" name="prova" id="prova" value=""/>
    <input type="hidden" name="prova2" id="prova2" value=0/>
    <script>
    function check(){
    var invia = document.getElementById("prova2").value;
    var ctrlnum = document.getElementById("prova").value;
    if (invia==1)
    return confirm('Pettorale inserito '+ctrlnum);
    if (invia==1)
    return true;
    else
    return false;
    }
    </script>
    <tr>
    <td height="100px">
    <input type="image" src="./numeri/7.png" onclick="incrementa7()"/>
    <script>
    function incrementa7() {
    var i = document.getElementById("prova").value;
    var mia = "7";
    document.getElementById("prova").value = i+mia;
    document.getElementById("prova2").value =0;
    }
    </script>
    </td>
    <td height="100px">
    <input type="image" src="./numeri/8.png" onclick="incrementa8()"/>
    <script>
    function incrementa8() {
    var i = document.getElementById("prova").value;
    var mia = "8";
    document.getElementById("prova").value = i+mia;
    document.getElementById("prova2").value =0;
    }
    </script>
    </td>
    <td height="100px">
    <input type="image" src="./numeri/9.png" onclick="incrementa9()"/>
    <script>
    function incrementa9() {
    var i = document.getElementById("prova").value;
    var mia = "9";
    document.getElementById("prova").value = i+mia;
    document.getElementById("prova2").value =0;
    }
    </script>
    </td>
    </tr>
    <tr>
    <td height="100px">
    <input type="image" src="./numeri/4.png" onclick="incrementa4()"/>
    <script>
    function incrementa4() {
    var i = document.getElementById("prova").value;
    var mia = "4";
    document.getElementById("prova").value = i+mia;
    document.getElementById("prova2").value =0;
    }
    </script>
    </td>
    <td height="100px">
    <input type="image" src="./numeri/5.png" onclick="incrementa5()"/>
    <script>
    function incrementa5() {
    var i = document.getElementById("prova").value;
    var mia = "5";
    document.getElementById("prova").value = i+mia;
    document.getElementById("prova2").value =0;
    }
    </script>
    </td>
    <td height="100px">
    <input type="image" src="./numeri/6.png" onclick="incrementa6()"/>
    <script>
    function incrementa6() {
    var i = document.getElementById("prova").value;
    var mia = "6";
    document.getElementById("prova").value = i+mia;
    document.getElementById("prova2").value =0;
    }
    </script>
    </td>
    </tr>
    <tr>
    <td height="100px">
    <input type="image" src="./numeri/1.png" onclick="incrementa1()"/>
    <script>
    function incrementa1() {
    var i = document.getElementById("prova").value;
    var mia = "1";
    document.getElementById("prova").value = i+mia;
    document.getElementById("prova2").value =0;
    }
    </script>
    </td>
    <td height="100px">
    <input type="image" src="./numeri/2.png" onclick="incrementa2()"/>
    <script>
    function incrementa2() {
    var i = document.getElementById("prova").value;
    var mia = "2";
    document.getElementById("prova").value = i+mia;
    document.getElementById("prova2").value =0;
    }
    </script>
    </td>
    <td height="100px">
    <input type="image" src="./numeri/3.png" onclick="incrementa3()"/>
    <script>
    function incrementa3() {
    var i = document.getElementById("prova").value;
    var mia = "3";
    document.getElementById("prova").value = i+mia;
    document.getElementById("prova2").value =0;
    }
    </script>
    </td>
    </tr>
    <tr>
    <td height="100px">
    <input type="image" src="./numeri/reset.png" onclick="incrementaC()"/>
    <script>
    function incrementaC() {
    var i = document.getElementById("prova").value;
    var mia = 0;
    document.getElementById("prova").value = "";
    document.getElementById("prova2").value =0;
    }
    </script>
    </td>
    <td height="100px">
    <input type="image" src="./numeri/0.png" onclick="incrementa0()"/>
    <script>
    function incrementa0() {
    var i = document.getElementById("prova").value;
    var mia = "0";
    document.getElementById("prova").value = i+mia;
    document.getElementById("prova2").value =0;
    }
    </script>
    </td>
    <td height="100px">
    <input type="image" src="./numeri/invio.png" onclick="incrementaI()"/>
    <script>
    function incrementaI() {
    var i = document.getElementById("prova2").value;
    var mia = 1;
    document.getElementById("prova2").value =1;
    }
    </script>
    </td>
    </tr>
    </form>
    </table>
    </center>
    </body>
    </html>



    DEMO


    FILE ZIP


    GRAZIE PER LA COLLABORAZIONE
Devi accedere o registrarti per scrivere nel forum
6 risposte