Leave a comment ?

2,260 Comments.

  1. I run into a problem at step 2: I don’t have a users_controller.php file in my cakephp directory. Any suggestions?

  2. big time saver, thanks a lot for this little tutorial!

    J.

  3. Thanks very much for the clear article. I have implemented this successfully. Would you do me a favor please? Would you advise me on some sample code to display the user name after a successful login?

    This is what I’ve tried in my users_controller.php file:

    function login() {
    $this->Session->setFlash(‘Please enter your Username and Password.’);
    if ($this->Auth->user()) {
    $this->Session->setFlash(‘You are now logged in.’);
    }
    }

    I get the message “Please enter…” when the login.ctp file is rendered, but I do not get the message on the way out. What am I doing wrong? Plus, I would like the userid in the success message.

    Thanks in advance!

  4. Thanks a lot for the code. Its working perfectly.

    Cheers,
    Arya

  5. Looks like your question thing at the end of the post worked. Also not having to sign in is nice too. Good job. Nice list. Thanks.

  6. Hey,,,
    you need to specify which link user will click to get to the login/registration pages

  7. Nice article! But, there shouldn’t be any logic in your view. ;)

  8. Well, I won’t say there shouldn’t be any logic, but ya might as well keep it in your controller if you can. :P

  9. Hello guys i am newbie of cakephp… i followed what you say in your post.. by my code was not running what i want…

    this is trhe scenario when i click the submit button it will not says anything……. how can i put a word that says’ “Your welcome visitors” when the email and password are correc …. And “Invalid email/password” if the email and password was incorrect.

    my table users(id,email,lastname,age,address,password username)

    file /blog/app/views/users/login.ctp

    Login form
    check(‘Message.Auth’)) $session->flash(‘auth’);

    echo $form->create(‘User’,array(‘action’ => ‘login’));
    echo $form->input(‘email’);
    echo $form->input(‘password’,array(‘type’ => ‘password’));
    echo $form->submit(‘Login’);
    echo $form->end();
    ?>

    file /blog/cake/libs/controller/app_controller.php

    Auth->userModel = ‘User’;
    $this->Auth->Fields = array(‘email’ => ‘email’ , ‘password’ => ‘password’);
    $this->Auth->loginAction = array(‘admin’ => ‘false’, ‘controller’ => ‘users’,'action’ => ‘login’);
    $this->Auth->loginRedirect = array(‘controller’ => ‘users’ , ‘action’ => ‘index’);
    }

    }
    ?>

    file /blog/app/controller/users_controller.php

    redirect($this->Auth->logout()) ;
    }

    function index() {
    alot of code……………………………………
    }
    function view($id = null) {
    alot of code……………………………………
    }

    function add() {
    alot of code……………………………………
    }

    function edit($id = null) {
    ………………………………..
    }

    function delete($id = null) {
    alot of code……………………………………
    }

    ?>

    email me distro90@gmail.com

  10. Cleaned SQL-script

    CREATE TABLE `users` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `first_name` varchar(45) NOT NULL,
    `last_name` varchar(45) NOT NULL,
    `email` varchar(45) NOT NULL,
    `password` varchar(45) NOT NULL,
    `created` datetime default NULL,
    `modified` datetime default NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

  11. Hello:

    I’m beginning to work with cakephp and I have a little question. I copied-pasted the code but it isn’t working. When I clic on submit button, the page redirects to login again, and I can’t do anything. Do I have to hash the password of my users table? Or maybe I have to do anything else that I’m missing.
    Thank you in advance.

  12. I have the same problem with Cesar Pineda.

    Hope u can advice accordingly.

    Thanks.

  13. @Cesar Pineda , @Mischa Just hash password before saving user details through registration form. That worked for me.

    Thanks

  14. Thank you Jamie, you are a lifesaver. In the cake book they only have the ability to do this with Acl. I’m building my website and I’m the only administrative person who needs to access it. I don’t need Access Control Lists or user groups etc.

    Your code is ideal. Thank you.

  15. @Kiran Ambati That was the problem. Thank you for the answer. It really worked!!!.
    @Mischa When you get to the AppController, just add the line $this->Auth->allow(‘*’); in the beforeFilter method. Then add an User as you were logged in in your own app. When you’ve added succesfully your user, then remove the line $this->Auth->allow(‘*’); writen before. Then try to add it again. You won’t be able, because the login() is working now.
    The real problem is that the comparison between the password we had before and with the login() method is that login() method is hashing the parameter. So, with the allow(*) line, the add of the user, Cake is Hashing the password for you.
    Hope it helps

Leave a Comment

Buy one of my books