Foros del Web » Programando para Internet » PHP »

Conservar valores de variables

Estas en el tema de Conservar valores de variables en el foro de PHP en Foros del Web. Buenas, resulta que estoy aprendiendo php y me gustaría saber como puedo conservar variables mientras trabajo con POST. Lo que quiero es que si no ...
  #1 (permalink)  
Antiguo 01/11/2015, 04:21
Avatar de Totti7  
Fecha de Ingreso: mayo-2012
Ubicación: barcelona
Mensajes: 28
Antigüedad: 11 años, 11 meses
Puntos: 2
Conservar valores de variables

Buenas, resulta que estoy aprendiendo php y me gustaría saber como puedo conservar variables mientras trabajo con POST. Lo que quiero es que si no he mandado un POST (se podría decir que es la pagina inicial) creo una variable y le pongo un valor. Entonces , al mandar un POST quiero que de esa variable inicial me reste un valor (por ejemplo). Tengo este código de ejemplo sencillo (ejemplo.php):
Código PHP:
Ver original
  1. <?php    
  2.     if (!$_POST['letra']){
  3.         $ejemplo=10;
  4.         echo $ejemplo;
  5.     }
  6.     if ($_POST['letra']){
  7.         $ejemplo-=1;
  8.         echo $ejemplo;    
  9.     }
  10. ?>
Código HTML:
Ver original
  1.     <head>
  2.         <link rel=stylesheet href="./estilo.css">
  3.     </head>
  4.     <body>
  5.         <form action= "ejemplo.php" method="post">
  6.                 <p class="letratexto">Letra</p>
  7.                 <input type="text" name="letra" id="letra" class="letra" maxlength="1" pattern="[a-z]{1}">
  8.                 <input type="submit" class="input" value="Jugar">
  9.         </form>
  10.     </body>
  11. </html>
El resultado es que antes de mandar POST me printa 10 y después de mandarlo me printa -1, es decir vuelve a crear la variable en 0, en vez de mantenerme el valor de 10 e imprimirme 9, que es lo que quiero.
  #2 (permalink)  
Antiguo 01/11/2015, 06:04
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: Conservar valores de variables

Hola Totti7,

Si quieres empezar aprendiendo y haciendo las cosas bien, debes tener en cuenta que es más conveniente definir las variables antes de usarlas, en el caso de tu ejemplo, sería algo así:

Código PHP:
Ver original
  1. <?php
  2.  
  3.      $ejemplo ="";
  4.  
  5.     if (!$_POST['letra']){
  6.         $ejemplo=10;
  7.         echo $ejemplo;
  8.     }
  9.     if ($_POST['letra']){
  10.         $ejemplo-=1;
  11.         echo $ejemplo;    
  12.     }
  13. ?>

Por otra parte, lo que le estás diciendo a PHP con tu script es:

Si no existe la variable $_POST['letra'], ejemplo vale 10.

Si existe la variable $_POST['letra'], ejemplo vale -1.

Si lo que quieres es que se le reste 1 a la variable $ejemplo, debería ser algo así:


Código PHP:
Ver original
  1. <?php
  2.  
  3.     $ejemplo = 10;
  4.  
  5.     if (!$_POST['letra']){
  6.         echo $ejemplo;
  7.     } elseif {
  8.         ($_POST['letra']){
  9.         $ejemplo-=1;
  10.         echo $ejemplo;    
  11.     }
  12. ?>

Es decir:

$ejemplo vale 10, si no está definida la variable $_POST['letra'], imprime $ejemplo, sino, si está definida la variable $_POST['letra'], $ejemplo vale $ejemplo - 1.

Espero que se entienda bien.
  #3 (permalink)  
Antiguo 01/11/2015, 06:44
Avatar de Totti7  
Fecha de Ingreso: mayo-2012
Ubicación: barcelona
Mensajes: 28
Antigüedad: 11 años, 11 meses
Puntos: 2
Respuesta: Conservar valores de variables

Hola, gracias por contestar, entiendo lo que me dices, y ya lo habia pensado , pero a mi me interesaria crear la variable y asignarle un valor si no se ha enviado un POST y si se ha enviado utilizar dicha variable anteriormente creada, de manera que unicamente se cree una vez (la primera vez q accedes al php) en vez de crearla en cada POST.
Se que en este ejemplo no tiene utilidad, pero me interesa para realizar un ejercicio en el que tengo q crear una palabra aleatoria y luego ir utilizandola y modificandola dicha palabra aleatoria pasandole letras por POST (si la creo antes del POST cada vez q pase una letra me dara una palabra diferente, y no quiero eso).
No se si me he explicado bien, espero que si jaja
Saludos y gracias!
  #4 (permalink)  
Antiguo 01/11/2015, 09:05
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: Conservar valores de variables

Hola Totti7,

Eso creo que lo podrías resolver pasando el valor de la variable en un input type="hidden", ahora mismo no se me ocurre otra manera...
  #5 (permalink)  
Antiguo 01/11/2015, 09:27
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Conservar valores de variables

Definitivamente la única forma es reutilizar el valor y pasarlo en un hidden.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 01/11/2015, 10:10
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: Conservar valores de variables

Y no podrías almacenar el número en una variable de sesión e ir actualizando esa variable cada vez que se le hace un cambio?
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]

Etiquetas: conservar, formulario-php, post
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:49.