Tôi đang theo gương hướng dẫn nàyTại sao dụ zend này ngừng hoạt động khi tôi thêm một hash mẫu
mã dự án: http://akrabat.com/wp-content/uploads/zf-tutorial-layoutform.zip
hướng dẫn: http://akrabat.com/zend-framework/a-form-in-your-layout/
Mã dự án chạy như mong đợi, cho đến khi tôi thêm phần tử băm vào biểu mẫu. Tất cả những gì tôi làm là thêm mã này vào biểu mẫu dưới ứng dụng/biểu mẫu/Đăng ký.php
$hash = new Zend_Form_Element_Hash('hash');
$hash->setSalt('mysalt');
$this->addElement($hash);
Mã bit bổ sung này ném mọi thứ. Khi tôi gửi biểu mẫu ngay bây giờ, nó cho tôi lỗi mà 2 mã thông báo không khớp.
Một số xử lý sự cố:
- Vấn đề không phải là băm bản thân bởi vì nó hoạt động tốt trong các ví dụ khác của tôi.
- Tôi nghĩ rằng phải làm thế nào với yêu cầu đang được xử lý trong ví dụ này, nhưng không chắc chắn vấn đề là chính xác. Tôi nghĩ rằng nó đã làm với số hop, nhưng khi tôi chỉnh sửa Zend_Form_Element_Hash và thay đổi số hop từ 1 đến 100, tôi vẫn có lỗi tương tự.
Đó là mức độ khắc phục sự cố mà tôi có thể nghĩ đến ở cấp chuyên môn của tôi với Zend. Vì vậy, nghĩ rằng đó là thời gian để yêu cầu bộ não lớn. Tôi hy vọng một người nào đó có thể tìm ra.
Khi phần tử băm sử dụng zend_session có thể là một vấn đề. một điều khác để kiểm tra có thể là các bước nhảy cho đến khi xác thực khi băm hết hạn sau một hop (hoặc sau một thời gian chờ). – Fge
Không có mã nào được mã hóa. Nhưng bạn có thể muốn so sánh nội dung phiên và dữ liệu biểu mẫu được gửi. ($ _SESSION so với $ _POST) và xóa mọi chuyển hướng để gỡ lỗi. – Fge
Không trực tiếp. Nhưng đó là nhiều hơn sau đó một nếu trình duyệt của bạn cho thấy bất cứ điều gì khác sau đó các hình thức mục tiêu. Nhưng nếu bạn không chuyển hướng bạn thực sự nên kiểm tra $ _SESSION/$ _ POST. – Fge