====== Jelix - The revealing, Token ====== Since Jelix of 1.1RC1, the appearance of the "fight" against [[http://fr.wikipedia.org/wiki/Cross-Site_Request_Forgeries|CSRF]] with the tokens, not only to secure your forms, fully automatically and transparently, but not only! How ? Let suppose we edit an article 1 from the url http://localhost/article/edit/1 the code of the method "edit" will be : function edit { // get the ID from the URL $id = (integer) $this->param('id'); // if the validate button is not used, we initiate a form if ($this->param('validate') == '') { $form = jForms::get('article~artdao',$id); } // the the validate button is submitted else { // get the form instance $form = jForms::fill('article~artdao'); $form->saveToDao('article~artdao',$id); } } What will happened with this code ? - The access of the edit page will be fine. - The save of the data wont be fin and we will haev an error message : [exception 835] Invalid form token, you should fill the form correctly from the site ..lib/jelix/forms/jFormsBase.class.php 142 Even if we empty the cache of the application nothing will change, nothing will work... So what's wrong ; why this error message ? Just because during the initialisation of the $form instance (with jForms::get() ) we gave the ID parameter but we didnt use it with : $form = jForms::fill('article~artdao'); So, replace the code above, by this one $form = jForms::fill('article~artdao',$id); and then the error message about the token will gone with the wind ;) So here is a way to check that our form is correctly manage with the anti CSRF function ;-)