Estoy tratando de actualizar el valor. Cada vez que ingreso el valor, muestra el valor anterior. Pero cuando actualizo, se actualiza al nuevo valor.
PS El valor es siempre un número. No me pregunto si hay una mejor solución para almacenar el número sin usar bases de datos.
Lógica del programa : Presione el botón Set, actualice el archivo txt con el valor.
Para lograr : debe actualizar el valor en el envío del formulario.
índice.php :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <form method="post" action=""> <input type="number" class="" name="data" id="data" min="0" max="200" value="<?php echo file_get_contents('test.txt');?>"> lb <input type="submit" name="button1" onclick="data_update();" value="Set"> </form> <br> <?php echo("The current value of the data is "); echo file_get_contents('test.txt'); ?> <script language="javascript" type="text/javascript"> function data_update(){ <?php file_put_contents('test.txt', $_POST["data"]);?> } </script> </body> </html>Aquí están los datos de mi archivo test.txt:
20Desafortunadamente, PHP y JavaScript no se mezclan así. No puede controlar lógicamente la ejecución del código PHP con JavaScript, ya que PHP se ejecuta en el servidor, mientras que JavaScript se ejecuta en el cliente.
Sin embargo, en este contexto, no hay necesidad de JavaScript; simplemente verifique la presencia de su parámetro POST esperado en la parte superior de su secuencia de comandos y actúe en consecuencia:
<?php if (isset($_POST['data'])) file_put_contents('test.txt', $_POST['data']); ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <form method="post"> <input type="number" class="" name="data" id="data" min="0" max="200" value="<?php echo file_get_contents('test.txt');?>"> lb <input type="submit" name="button1" value="Set"> </form> <br> <?php echo("The current value of the data is "); echo file_get_contents('test.txt'); ?> </body> </html>También preparé un Repl.it que ilustra que esto funciona como parece que pretendes.