estoy siguiendo este ejemplo tutorialPor qué este ejemplo Zend deja de funcionar cuando agrego un hash a la forma
código del proyecto: http://akrabat.com/wp-content/uploads/zf-tutorial-layoutform.zip
tutorial: http://akrabat.com/zend-framework/a-form-in-your-layout/
El código de proyecto se ejecuta como se esperaba, hasta que agregue un elemento hash a la forma. Todo lo que hago es poner este código en la forma bajo la aplicación/formas/signup.php
$hash = new Zend_Form_Element_Hash('hash');
$hash->setSalt('mysalt');
$this->addElement($hash);
Este bit extra de código produce todo lo que fuera. Cuando envío el formulario ahora, me da el error de que los 2 tokens no coinciden.
Algunos de solución de problemas:
- El problema no es el hash en sí, ya que funciona muy bien en mis otros ejemplos.
- Creo que tiene que ver con cómo se maneja la solicitud en este ejemplo, pero no estoy seguro de cuál es el problema exactamente. Pensé que tenía que ver con el recuento de saltos, pero cuando edité Zend_Form_Element_Hash y cambié el recuento de saltos de 1 a 100, sigo teniendo el mismo error.
Ese es el alcance de la solución de problemas que podría pensar en mi nivel de experiencia con Zend. Así que pensé que era hora de preguntarle a los grandes cerebros. Espero que alguien pueda resolverlo.
Como el elemento hash hace uso de zend_session que podría ser un problema. Otra cosa que debe verificarse son los saltos hasta la validación, ya que el hash expira después de un salto (o después de un tiempo de espera). – Fge
No, está codificado. Pero es posible que desee comparar el contenido de la sesión y los datos del formulario enviado. ($ _SESSION vs $ _POST) y eliminar los redireccionamientos para la depuración. – Fge
No directamente. Pero es más de uno si su barra de navegación muestra algo más que el objetivo de los formularios. Pero si no redirige, debería verificar $ _SESSION/$ _ POST. – Fge