elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Variable estatica
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Variable estatica  (Leído 2,175 veces)
JuszR


Desconectado Desconectado

Mensajes: 2.866


Programming & RI


Ver Perfil
Variable estatica
« en: 1 Mayo 2011, 14:58 pm »

Tengo un form el cual pide un número al usuario, se manda (por POST) y checa si es igual al número aleatorio que se genera, el tema es que cada vez que se manda el form, el número cambia.
Entonces, ¿cómo puedo hacer que una variable sea estática (que qued el mismo valor)?

Este es mi codigo:
Código
  1. <?php
  2.  
  3. if (isset($_POST['submit']))
  4. {
  5.        $guessNumber = rand(1,500);
  6. $numero = $_POST['numero'];
  7. if(empty($numero) || !is_numeric($numero))
  8. {
  9. echo '<font color="#FF0000">Field is empty or invalid input</font>';
  10. }
  11. elseif($numero > $guessNumber)
  12. {
  13. echo '<font color="#FF0000">'. $numero . ' is too high</font>';
  14. }
  15. elseif($numero < $guessNumber)
  16. {
  17. echo '<font color="#FF0000">'. $numero . ' is too low</font>';
  18. }
  19. else
  20. echo '<font color="#000080">'. $numero . ' is the number!</font>';
  21.  
  22. }
  23. ?>


« Última modificación: 1 Mayo 2011, 15:01 pm por JuszR » En línea

- No programming language is perfect. There is not even a single best language; there are only languages well suited or perhaps poorly suited for particular purposes. [Herbert Mayer]
merolhack

Desconectado Desconectado

Mensajes: 278

Me encanta Joomla y lo que puedo hacer con el


Ver Perfil WWW
Re: Variable estatica
« Respuesta #1 en: 1 Mayo 2011, 15:52 pm »

Lo puedes hacer con sesiones, si es que ese valor que quieres que se mantenga es colo para 1 usuario.

Inicias la sesión, y en una variable guardas el numero en random, tipo:
Código:
<?php
// Si no esta establecida la variable, en la sesion del usuario...
if ( !isset($_SESSION['random']) ) {
$_SESSION['random'] = rand(1,500);
}
?>

Si lo que quieres es que la constante no se genere cada vez, solo genérala una vez afuera del script y la pones asi:
define('__MI_CONSTANTE', 'tuvaloraqui' );


En línea

PHP Web Developer
Joomla, jQuery, MySQL, CSS, etc...

Android APP Developer http://android-dev.tumblr.com/
JuszR


Desconectado Desconectado

Mensajes: 2.866


Programming & RI


Ver Perfil
Re: Variable estatica
« Respuesta #2 en: 1 Mayo 2011, 16:11 pm »

Lo de las sesiones todavia no entiendo bien (no he llegado ;D ), pero intenté usar constantes y no sirvió, sigue variando el número:

Código
  1. <?php
  2. $randNum = rand(1,500);
  3.  
  4. define('GuessNumber', $randNum);
  5.  
  6. ?>
En línea

- No programming language is perfect. There is not even a single best language; there are only languages well suited or perhaps poorly suited for particular purposes. [Herbert Mayer]
merolhack

Desconectado Desconectado

Mensajes: 278

Me encanta Joomla y lo que puedo hacer con el


Ver Perfil WWW
Re: Variable estatica
« Respuesta #3 en: 1 Mayo 2011, 16:22 pm »

jeje pes claro que varía el número, si lo inicializas cada vez que ves el formulario...

La idea con la sesiones es que definas 1 cuando ingrese un usuario, y esa constante permanezca hasta que el usuario cierre sesión o deje la pagina.

Busca en google sobre sesiones.

Saludos!
En línea

PHP Web Developer
Joomla, jQuery, MySQL, CSS, etc...

Android APP Developer http://android-dev.tumblr.com/
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines