Ver Mensaje Individual
  #33 (permalink)  
Antiguo 09/05/2009, 14:53
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problemas con "post" en PHP

Precisamente, si tu no guardas el valor en algun lado este no se respeta, ve claramente lo que te dice pateketrueke, no puedes esperar que PHP haga todo el trabajo por ti.

Si ves como funciona un request HTTP basico puedes ver que las variables por POST solo se envian una vez, si vuelves a presionar "submit" y el campo no tiene valor, no se envia es natural, por eso te comente, si quieres "persistir" el valor, tienes de dos, o envias las variables en un campo oculto o pre-seleccionas el valor en el campo.

Un ejemplo que va a persistir el valor por mas que presiones el boton submit podria ser algo asi:
Código php:
Ver original
  1. <?php
  2. if (strtolower($_SERVER['REQUEST_METHOD']) == 'post') {
  3.        $item = isset( $_POST['item'] ) ? $_POST['item'] : '';
  4.        $qty = isset( $_POST['qty'] ) ? $_POST['qty'] : 0;
  5.  
  6.        printf( "You ordered %d of %s", $item, $qty );
  7. }
  8. ?>
  9. <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  10.        Item: <input type="text" name="item" value="<?php if (isset($_POST['item']) ) { echo $_POST['item'] } ?>" />
  11.        Qty: <input type="text" name="qty" value="<?php if (isset($_POST['qty']) ) { echo $_POST['qty'] } ?>" />
  12.         <input type="submit" name="send" value="Send" />
  13. </form>

Con eso por mas que presiones "enter" o el boton submit siempre se va a persistir el valor, pero ojo si accesas directo por URL no se van a mostrar las variables, ya que las variables por por URL se envian por GET.

Saludos.