Should I just send the input of the Client to the Server and let the Server handle the movement of every Client on his own and send it back to All Clients?
This is exact how you should do this, handle everything with your server, and send info playerpositions and stuff to client.
Client: Render, send input to server (there are a few exceptions like chat)
So don't handle the input in the client, like you are doing now:
I'm working this way: The Client sends his position+current moving direction to the server which sends it to all Clients except the one that sent it to him. So the moving of each Client is controlled by the Client and can't be manipulated by the server.
Server: Do the tick, and send (60 times per second?) stuff like playerpositions back. And never forget: DON'T TRUST THE USER!
Good luck with your game!