I am building a simple user registration form using the MVC design pattern, in PHP.
Can someone please advise if I have selected the correct areas for code implementation, as after some fair amount of reading I understand people often interpret the docs in different ways.
I understand there may be no wright / wrong answer here, but am just trying to get some feedback on how the majority would implement it.
Many thanks.
Model
Function containing PDO mysql insert query
View
HTML form markup with PHP self action and controller include
Controller
Data validation and php include of model function
yup there are different approaches to MVC… your concepts look correct except for the view which should not contain the controller include. It is the controller that includes the model and view. Furthermore, i would have put validations in the model itself.
Model : validation functions(return true or false if error) and insert query
View : html form only with data passed from controller
Controller: main entry point/file (e.g. registration.php)
The controller is the entry point which is where you include your view and model.
Basically in the controller,
you check if form is submitted or not.
If not submitted, display the view (i.e. the form)
if data submitted, do validation using model’s validation functions.
If validation ok, execute sql in your model and redirect to success page or display a success message.
If validation is not correct, display your view and fill in your form with the submitted data.
But as i said, there are different approaches to MVC; e.g. you can do all validations in the controller itself instead of the model like you proposed.