Ver Mensaje Individual
  #13 (permalink)  
Antiguo 03/06/2014, 15:05
Avatar de guardarmicorreo
guardarmicorreo
 
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: ¿Una manera inteligente de recoger $_POST?

Cita:
Iniciado por dashtrash Ver Mensaje
Da igual que al funcionamiento del sistema le lleguen parámetros por GET,POST o la Url de la request. Que se instancie una clase y se llame a un método no depende de que la petición http que llega a tu servidor contenga los parámetros codificados de una forma u otra.


...o por GET, si quieres.Porque son intercambiables.


Y, si eso es lo que piensas, que es la convención habitual, y tomando exactamente esa frase, para qué necesitas diferenciar GET y POST más allá del enrutador?
Lo necesito por dos motivos obvios:

1) POST y GET son variables superglobales, vale, pero

¿cómo le digo al programa que está en una clase y no en un código suelto, sin encapsular que me ejecute una clase y no otra, un método y no otro?


2) Para que los datos que el usuario ponga en el formulario no se sumen al path del navegador.

Si con .htaccess realizo esto para que me separe los datos GET en tres conjuntos:

class, method y args

Código Apache:
Ver original
  1. <IfModule mod_rewrite.c>
  2.     RewriteEngine On
  3.     RewriteCond %{REQUEST_FILENAME} !-f
  4.     RewriteRule ^([^/]*)/*([^/]*)/*(.*)$ index.php?class=$1&method=$2&args=$3
  5. </IfModule>

Ahora supongamos un formulario enviado por post para que un usuario desde el home se suscriba al newsletter que tuviera esta estructura

Código HTML:
Ver original
  1. <form method="post" action="">
  2.     <label for="newsletter">Recibe noticias sobre mi, introduce tu correo electrónico</label>
  3.     <input type="email" name="newsletter" id="newsletter" class="newsletter">
  4.     <input type="submit" name="submit_newsletter" id="submit_newsletter" class="submit_newsletter">
  5. </form>

Si por GET el usuario va instanciando sobre clases ¿qué debería poner en el action del form para que la clase indicada se ejecute? Evidentemente con los nombres explícitos de los parámetros que debe recibir por POST pero ¿cómo ejecuto esa clase?



Paketetrueke, creía que HTML5 es simplemente la última versión de HTML. Cada día aprendo más con vosotros :D

(Lamento haber tardado en responder, pero desde ayer noche que intenté cada 2x3 entrar al foro pero se ve que hubo problemas con el/los servidor/es.)
__________________
Ayúdame a hacerlo por mi mismo.