It doesn't work. The submit can not find the controller. I compared the different between 127.0.0.1/user/login and 127.0.0.1 .
This is the login form in the login page: <form action="/users/login" id="UserLoginForm" method="post" accept-charset ="utf-8"> <div style="display:none;"> <input type="hidden" name="_method" value="POST"/> <input type="hidden" name="data[_Token][key]" value=" f9da31eb2cd89c4e9c10af7156a36f6bc9ae7fdd" id="Token1312017746"/> </div> <div class="input text required"> <label for="UserUsername">Username</label> <input name="data[User][username]" maxlength="40" type="text" id=" UserUsername"/> </div> <div class="input password required"> <label for="UserPassword">Password</label> <input name="data[User][password]" type="password" id="UserPassword"/> </div> <div class="submit"> <input type="submit" value="登录系统"/> </div> <div style="display:none;"> <input type="hidden" name="data[_Token][fields]" value=" e44df0d754a25ad586a8cb20d5d0ead3d4e78843%3A" id="TokenFields287192969"/> <input type="hidden" name="data[_Token][unlocked]" value="" id=" TokenUnlocked1990315235"/> </div> </form> This is the login form element in the homepage <form action="/users/login" id="displayForm" method="post" accept-charset=" utf-8"> <div style="display:none;"> <input type="hidden" name="_method" value="POST"/> </div> <div class="input text"> <label for="username">Username</label> <input name="data[username]" type="text" id="username"/> </div> <div class="input password"> <label for="password">Password</label> <input name="data[password]" type="password" id="password"/> </div> <div class="submit"> <input type="submit" value="login"/> </div> </form> Obviously, The login form in user/login page has been assign some staff like token, but element is not. 在 2012年9月6日星期四UTC-5下午7时10分03秒,Greg写道: > > Thats fine. > > The solution for using elements is fairly straight forward. Build your > Controller and your model *as normal* - so your Users controller has a > login method. > > Next, create a new element under View/Elements called "LoginForm.ctp". > > The login form would look something like this: > > <php > > echo $this->Form->create(null, array('url' => array('controller' => > 'Users', 'action' => 'login'))); > // ... rest of the form > echo $this->Form->end('login'); > ?> > > back over in your home.ctp file you put this where you want the login form > to be visible: > > <?php > echo $this->element('LoginForm'); > ?> > > and you're done - the home page will now have the content from > LoginForm.ctp which will correctly submit the form data to the login action > on the Users controller. > > You can of course then reuse the LoginForm element anywhere you like - say > the user navigates directly to /Users/login you could dump the login form > element on that page. Or say you wanted it in the header for every page, > modify the layout to include the element. > > You don't *have* to associate every action with a specific view for that > controller/action combination - it is often quite beneficial to drop > reusable forms into elements so that you can reuse them over and over > again. It helps with maintenance as well because if you modify the form > element, you are modifying it in all places in your site at once instead of > having to go and modify every template/view that contains it. > > > On Fri, Sep 7, 2012 at 8:08 AM, shyandsy <shya...@gmail.com > <javascript:>>wrote: > >> Got it, I already know the difference between reply on here and reply to >> your mailbox. >> >> >> 在 2012年9月5日星期三UTC-5上午2时45分34秒,Greg写道: >> >>> You don't use a view. Make an element to start with under >>> views/elements. >>> Call it loginForm.ctp or something. >>> >>> Then define an action in the form helper create call to point it at the >>> right controller/action >>> >>> On Wednesday, September 5, 2012, shyandsy wrote: >>> >>>> Hi, thanks for your anwser firstly. >>>> >>>> I have tried the method of element. >>>> I can load the login view that were written in the >>>> view/users/login.ctp, >>>> but I do not know how to process the POST request by >>>> UsersController.login()? >>>> >>>> I can not find the detail description on the cookbook 2.0. >>>> >>>> >>>> 在 2012年9月4日星期二UTC-5下午7时09分33秒,**Greg写道: >>>>> >>>>> I'd do it with an element personally. Have the home page retrieve the >>>>> data from the models in question then pass the resulting data to >>>>> individual >>>>> elements... >>>>> >>>>> requestAction is a major performance hit, especially if you are not >>>>> caching the results...and on the home page as described here you are >>>>> looking at subjecting your users to 3 calls to the dispatcher (one for >>>>> pages, one for news, one for users). >>>>> >>>>> You *can* use requestAction and elements together, then cache the >>>>> element to reduce the hit if you wish. >>>>> >>>>> >>>>> On Wed, Sep 5, 2012 at 5:06 AM, Mark Wratten <ma...@trimar.com> wrote: >>>>> >>>>>> I am assuming you have a route that routes to a specific >>>>>> controller/action, e.g. pages controller, index action. >>>>>> Then in you home page view View/Pages/index.ctp - >>>>>> >>>>>> <p>Welcome to my home page.</p> >>>>>> >>>>>> <div id="news-summary"> >>>>>> <h2>News Summary></h2> >>>>>> <?php echo $this->requestAction('/news/**su**mmary'); ?> >>>>>> </div> >>>>>> >>>>>> <div id="login-form"> >>>>>> <?php echo $this->requestAction('users/**lo**gin'); ?> >>>>>> </div> >>>>>> >>>>>> Then, in your News controller, create and action - summary, and a >>>>>> view file summary.ctp. >>>>>> In your Users controller create action login (which should also >>>>>> handle the POST request when the user logs in) and a login.ctp view file. >>>>>> >>>>>> Then when the home page is rendered, the news summary and login forms >>>>>> will be displayed. >>>>>> >>>>>> Mark >>>>>> >>>>>> >>>>>> On Monday, September 3, 2012 8:04:34 PM UTC-4, shyandsy wrote: >>>>>>> >>>>>>> could you put some details on, thanks a lot! >>>>>>> Making a home page that includes login and news list. >>>>>>> >>>>>>> I can write a view and controller for that job login or news list, >>>>>>> but I don't know how to make that things togerther!! >>>>>>> >>>>>>> >>>>>>> 在 2012年9月3日星期一UTC-5上午12时22分41秒,**M****ark Wratten写道: >>>>>>>> >>>>>>>> Easiest is to use requestAction() in the homepage view. >>>>>>>> >>>>>>>> On Thursday, August 30, 2012 4:26:12 PM UTC-4, shyandsy wrote: >>>>>>>>> >>>>>>>>> I am kind of new guy on cakePhp. So the description as below: >>>>>>>>> >>>>>>>>> I hope to provide two function to users in the homepage, login and >>>>>>>>> news. >>>>>>>>> The login uses the view login and the controller loginController, >>>>>>>>> and the news uses the news view and newscontroller. >>>>>>>>> The problem is how to put the two view in the home page. >>>>>>>>> >>>>>>>>> (apologize, my first language is not English, if you meet some >>>>>>>>> problem about grammar, I will try to fix it) >>>>>>>>> >>>>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "CakePHP" group. >>>>>> To post to this group, send email to cake...@googlegroups.com. >>>>>> To unsubscribe from this group, send email to cake-php+u...@** >>>>>> googlegroups.com**. >>>>>> Visit this group at http://groups.google.com/**group** >>>>>> /cake-php?hl=en-US <http://groups.google.com/group/cake-php?hl=en-US> >>>>>> . >>>>>> >>>>>> >>>>>> >>>>> >>>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "CakePHP" group. >>>> To post to this group, send email to cake-php@googlegroups.com. >>>> To unsubscribe from this group, send email to cake-php+unsubscribe@** >>>> googlegroups.com. >>>> Visit this group at >>>> http://groups.google.com/**group/cake-php?hl=en-US<http://groups.google.com/group/cake-php?hl=en-US> >>>> . >>>> >>>> >>>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "CakePHP" group. >> To post to this group, send email to cake...@googlegroups.com<javascript:> >> . >> To unsubscribe from this group, send email to >> cake-php+u...@googlegroups.com <javascript:>. >> Visit this group at http://groups.google.com/group/cake-php?hl=en-US. >> >> >> > > -- You received this message because you are subscribed to the Google Groups "CakePHP" group. To post to this group, send email to cake-php@googlegroups.com. To unsubscribe from this group, send email to cake-php+unsubscr...@googlegroups.com. Visit this group at http://groups.google.com/group/cake-php?hl=en-US.