title
User Registration System Using PHP And MySQL Database | PHP MySQL Tutorial | Edureka

description
🔥 PHP & MySQL Certification Training (Use Code "𝐘𝐎𝐔𝐓𝐔𝐁𝐄𝟐𝟎"): https://www.edureka.co/search This Edureka video on "PHP MySQL Tutorial" will teach you how to create a user registration and login system using PHP and a MySQL database. This video covers the following topics: 3:40 Creating the database 5:30 Creating the registration page 11:23 Creating the login page 13:50 Creating backend logic for registration 28:05 Creating the home page 33:10 Creating the error page 36:30 Creating server logic for login Check out our complete Youtube playlist here: https://goo.gl/gMFLx3 Do subscribe to our channel and hit the bell icon to never miss an update from us in the future: https://goo.gl/6ohpTV Instagram: https://www.instagram.com/edureka_learning Facebook: https://www.facebook.com/edurekaIN/ Twitter: https://twitter.com/edurekain LinkedIn: https://www.linkedin.com/company/edureka #php #phptutorial #phpmysql #LearnPHP #phponlinetraining ------------------------------------- How it Works? 1. This is a 7 Week Instructor-led Online Course, 45 hours of assignment and 20 hours of project work 2. We have a 24x7 One-on-One LIVE Technical Support to help you with any problems you might face or any clarifications you may require during the course. 3. At the end of the training, you will be working on a real-time project for which we will provide you a Grade and a Verifiable Certificate! ------------------------------------- About the Course Edureka's PHP & MySQL with MVC framework will introduce attendees to PHP, MySQL, and CakePHP MVC framework. The course will cover aspects of how to use PHP, MySQL along with CakePHP MVC framework to create powerful and easy to maintain database driven websites. The course will also cover Installation & Configuration of PHP, MySQL, and CakePHP. Attendees will also get to implement one project towards the end of the course. Why learn PHP & MySQL with MVC Frameworks? PHP scripting and MySQL database are one of the worlds most popular open source techniques used to develop websites. Add an advantage of an MVC framework to it and you can develop powerful, dynamic and easy to maintain database driven websites. PHP, MySQL, and CakePHP are also platform independent i.e. You can easily port a website developed on a windows machine to a Linux based Apache web server with minimal to no changes. The CakePHP MVC architect also adds some additional security against threats like SQL injections, hacking etc. ------------------------------------- Got a question on the topic? Please share it in the comment section below and our experts will answer it for you. For more information, please write back to us at sales@edureka.co or call us at IND: 9606058406 / US: 18338555775 (toll free).

detail
{'title': 'User Registration System Using PHP And MySQL Database | PHP MySQL Tutorial | Edureka', 'heatmap': [{'end': 1691.33, 'start': 1633.434, 'weight': 0.976}, {'end': 1991.353, 'start': 1931.622, 'weight': 0.807}, {'end': 2132.871, 'start': 2067.842, 'weight': 1}], 'summary': 'This tutorial series covers integrating mysql databases and php scripts to build a user registration system, setting up xampp for php and mysql, creating user table and registration form in php, php mysql integration and user registration logic, user registration and validation, php password encryption and user authentication, and php user registration and login, providing practical examples and real-world applications.', 'chapters': [{'end': 69.989, 'segs': [{'end': 69.989, 'src': 'embed', 'start': 31.211, 'weight': 0, 'content': [{'end': 35.052, 'text': 'you can actually insert values into tables or retrieve values from them.', 'start': 31.211, 'duration': 3.841}, {'end': 41.996, 'text': 'Okay so the best way to learn something in my opinion is always build something using what you are trying to learn.', 'start': 35.672, 'duration': 6.324}, {'end': 47.379, 'text': 'So in this case we are using MySQL and PHP today to build a user registration system.', 'start': 42.496, 'duration': 4.883}, {'end': 55.624, 'text': 'Now user registration systems are very common and popular these days because it allows people to have their own unique user profiles.', 'start': 48.019, 'duration': 7.605}, {'end': 62.767, 'text': 'So things like Facebook, Netflix, Reddit or more or less 99% of the websites out there have user registration systems.', 'start': 56.164, 'duration': 6.603}, {'end': 67.128, 'text': "And I'm going to teach you how to create one today using MySQL and PHP.", 'start': 63.047, 'duration': 4.081}, {'end': 69.989, 'text': "So with that said and done, I've got a lot to do.", 'start': 67.628, 'duration': 2.361}], 'summary': 'Learn to build a user registration system using mysql and php for common website functionalities.', 'duration': 38.778, 'max_score': 31.211, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY31211.jpg'}], 'start': 11.547, 'title': 'Mysql & php integration', 'summary': 'Discusses integrating mysql databases and php scripts to build a user registration system, using practical examples and real-world applications.', 'chapters': [{'end': 69.989, 'start': 11.547, 'title': 'Mysql & php integration', 'summary': 'Discusses integrating mysql databases and php scripts to build a user registration system, a common feature in websites, using practical examples and real-world applications.', 'duration': 58.442, 'highlights': ['By integrating MySQL databases and PHP scripts, users can insert values into tables or retrieve values from them, facilitating the creation of a user registration system.', 'User registration systems are prevalent in websites like Facebook, Netflix, Reddit, and approximately 99% of other websites.', 'Practical application: Building a user registration system using MySQL and PHP, providing hands-on experience for learners.']}], 'duration': 58.442, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY11547.jpg', 'highlights': ['User registration systems are prevalent in websites like Facebook, Netflix, Reddit, and approximately 99% of other websites.', 'By integrating MySQL databases and PHP scripts, users can insert values into tables or retrieve values from them, facilitating the creation of a user registration system.', 'Practical application: Building a user registration system using MySQL and PHP, providing hands-on experience for learners.']}, {'end': 259.244, 'segs': [{'end': 121.707, 'src': 'embed', 'start': 96.32, 'weight': 0, 'content': [{'end': 104.122, 'text': "So, it'll install an Apache server, it'll install MySQL services and it'll also install Perl and PHP on your computer.", 'start': 96.32, 'duration': 7.802}, {'end': 108.903, 'text': 'Now, we will be using PHP and MySQL heavily in this demonstration.', 'start': 104.582, 'duration': 4.321}, {'end': 113.365, 'text': 'So, I recommend you download XAMPP to actually set up your local server.', 'start': 109.344, 'duration': 4.021}, {'end': 121.707, 'text': 'If you are not using XAMPP, I leave it upon you to however you want to actually local host your PHP files and set up a server.', 'start': 113.985, 'duration': 7.722}], 'summary': 'Demonstration includes installing apache, mysql, perl, and php. php and mysql will be heavily used.', 'duration': 25.387, 'max_score': 96.32, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY96320.jpg'}, {'end': 259.244, 'src': 'embed', 'start': 188.65, 'weight': 2, 'content': [{'end': 194.276, 'text': "So I'm going to be using Sublime Text for this demonstration and you can use anything that you want.", 'start': 188.65, 'duration': 5.626}, {'end': 200.822, 'text': 'Notepad++, Visual Studio Code, Atom Text Editor are all really cool text editors and you can choose whichever one you want.', 'start': 194.476, 'duration': 6.346}, {'end': 207.229, 'text': "Okay, so the first thing that we're going to do is we need to create our database first.", 'start': 201.523, 'duration': 5.706}, {'end': 212.283, 'text': "So firstly, we're going to be creating a database for this demonstration.", 'start': 209.281, 'duration': 3.002}, {'end': 218.408, 'text': 'So to create a database, all you have to do once you have your server up and running is go on to localhost.', 'start': 212.864, 'duration': 5.544}, {'end': 222.879, 'text': 'and this will give you this dashboard, which is the xampp dashboard.', 'start': 219.657, 'duration': 3.222}, {'end': 229.243, 'text': 'now you can create your database by firing some sql queries, but if you want,', 'start': 222.879, 'duration': 6.364}, {'end': 236.508, 'text': 'you can also use the phpmyadmin dashboard and this will give you a gui to create your databases and tables.', 'start': 229.243, 'duration': 7.265}, {'end': 242.531, 'text': "now, once you're on the phpmyadmin, all you have to do is click new and create your database.", 'start': 236.508, 'duration': 6.023}, {'end': 249.516, 'text': "so i'm going to be calling my database practice and just go ahead and press create now, once that's been created,", 'start': 242.531, 'duration': 6.985}, {'end': 253.239, 'text': 'you go ahead into practice and we need to create a few tables.', 'start': 249.516, 'duration': 3.723}, {'end': 259.244, 'text': "actually, we'll be creating only one table, but in most industrial situations you'll be dealing with multiple tables,", 'start': 253.239, 'duration': 6.005}], 'summary': "Using sublime text, create database 'practice' via phpmyadmin on localhost.", 'duration': 70.594, 'max_score': 188.65, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY188650.jpg'}], 'start': 70.169, 'title': 'Setting up xampp for php and mysql', 'summary': 'Provides a tutorial on setting up xampp, emphasizing the ease of installation, and the need to create a database for the demonstration. it also explains how to create a database and tables using xampp, including accessing the dashboard, creating a database using phpmyadmin, and creating tables within the database.', 'chapters': [{'end': 212.283, 'start': 70.169, 'title': 'Setting up xampp for php and mysql', 'summary': 'Provides a tutorial on setting up xampp, a cross-platform software that installs apache server, mysql services, perl, and php, on a computer, with a recommendation to download xampp for setting up a local server, emphasizing the ease of installation and the need to create a database for the demonstration.', 'duration': 142.114, 'highlights': ['XAMPP stands for Cross Platform Apache, MySQL or MariaDB, Perl and PHP, and it installs an Apache server, MySQL services, Perl, and PHP on a computer, recommended for setting up a local server for PHP and MySQL (Relevance: 5)', 'The tutorial emphasizes the ease of installation and multiple software installation by XAMPP on a computer, with a recommendation to download XAMPP from the official website, www.apachefriends.org, and start up Apache and MySQL services (Relevance: 4)', 'A demonstration on creating a database for the PHP and MySQL integration, using Sublime Text as the text editor, and a suggestion to use other text editors such as Notepad++, Visual Studio Code, and Atom Text Editor (Relevance: 3)']}, {'end': 259.244, 'start': 212.864, 'title': 'Creating database and tables with xampp', 'summary': 'Explains how to create a database and tables using xampp, including accessing the dashboard, creating a database using phpmyadmin, and creating tables within the database.', 'duration': 46.38, 'highlights': ['The chapter emphasizes the process of creating a database using XAMPP and phpMyAdmin, including accessing the dashboard and firing SQL queries.', "It mentions the steps to create a database named 'practice' and the option to create multiple tables.", "The process involves accessing localhost, using the XAMPP dashboard, creating a database named 'practice', and creating tables within the database."]}], 'duration': 189.075, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY70169.jpg', 'highlights': ['XAMPP installs Apache server, MySQL services, Perl, and PHP on a computer (Relevance: 5)', 'Emphasizes ease of XAMPP installation and starting Apache and MySQL services (Relevance: 4)', 'Demonstrates creating a database for PHP and MySQL integration using Sublime Text (Relevance: 3)', 'Emphasizes creating a database using XAMPP and phpMyAdmin, including accessing the dashboard and firing SQL queries', "Mentions the steps to create a database named 'practice' and the option to create multiple tables", "Involves accessing localhost, using the XAMPP dashboard, creating a database named 'practice', and creating tables within the database"]}, {'end': 571.281, 'segs': [{'end': 311.013, 'src': 'embed', 'start': 283.421, 'weight': 0, 'content': [{'end': 286.783, 'text': 'Now our next is going to be usernames.', 'start': 283.421, 'duration': 3.362}, {'end': 294.008, 'text': "So it's going to be username, it's going to be of type varchar and it can have a length of 255.", 'start': 287.164, 'duration': 6.844}, {'end': 295.889, 'text': 'This can have a length of 11.', 'start': 294.008, 'duration': 1.881}, {'end': 300.85, 'text': "Now, we're also going to be having a field called password and email.", 'start': 295.889, 'duration': 4.961}, {'end': 301.991, 'text': "So, let's create those.", 'start': 300.93, 'duration': 1.061}, {'end': 303.931, 'text': 'So, this is going to be email.', 'start': 302.571, 'duration': 1.36}, {'end': 311.013, 'text': "It's also going to be around 255 characters long and now we all need is a password.", 'start': 303.951, 'duration': 7.062}], 'summary': 'Creating fields for usernames, email, and password with specific data types and lengths.', 'duration': 27.592, 'max_score': 283.421, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY283421.jpg'}, {'end': 390.229, 'src': 'embed', 'start': 362.26, 'weight': 1, 'content': [{'end': 366.782, 'text': "Okay, so let's set our file type to PHP out here and let's get started.", 'start': 362.26, 'duration': 4.522}, {'end': 371.502, 'text': 'Now, first of all, we are going to be adding in our HTML boilerplate.', 'start': 367.421, 'duration': 4.081}, {'end': 375.424, 'text': "Let's give this page a registration title.", 'start': 372.363, 'duration': 3.061}, {'end': 384.187, 'text': 'Now, firstly, we need a few inputs so that we can take in the inputs to be actually stored into the database.', 'start': 376.464, 'duration': 7.723}, {'end': 385.707, 'text': 'So we need four inputs.', 'start': 384.467, 'duration': 1.24}, {'end': 390.229, 'text': 'That is, one is the username, the second is the email, and the third is the password.', 'start': 385.867, 'duration': 4.362}], 'summary': 'Creating a php file for user registration with four input fields: username, email, and password.', 'duration': 27.969, 'max_score': 362.26, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY362260.jpg'}, {'end': 459.43, 'src': 'embed', 'start': 433.214, 'weight': 2, 'content': [{'end': 437.577, 'text': "So this is where it tells the user that, yeah, you're on the registration page.", 'start': 433.214, 'duration': 4.363}, {'end': 440.879, 'text': "OK, now let's go ahead and create our form.", 'start': 438.937, 'duration': 1.942}, {'end': 445.161, 'text': 'Now our form is going to take two actions and a method.', 'start': 441.599, 'duration': 3.562}, {'end': 451.365, 'text': 'So the action part will decide which script to run when your form is being submitted.', 'start': 445.741, 'duration': 5.624}, {'end': 455.187, 'text': "So we're going to be running this script called registration.php.", 'start': 451.725, 'duration': 3.462}, {'end': 459.43, 'text': 'And we will also be using the post method.', 'start': 455.867, 'duration': 3.563}], 'summary': 'Creating a form with two actions and a method for registration page.', 'duration': 26.216, 'max_score': 433.214, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY433214.jpg'}, {'end': 571.281, 'src': 'embed', 'start': 511.116, 'weight': 3, 'content': [{'end': 519.72, 'text': 'Now the second type of input is going to be email and this is also going to be of type email and the name will also be email.', 'start': 511.116, 'duration': 8.604}, {'end': 523.451, 'text': 'The next type is going to be password.', 'start': 521.549, 'duration': 1.902}, {'end': 527.154, 'text': 'So the label is going to be for password.', 'start': 524.472, 'duration': 2.682}, {'end': 529.096, 'text': 'Okay, let me just change this to email here.', 'start': 527.294, 'duration': 1.802}, {'end': 531.317, 'text': "It's going to be password.", 'start': 529.116, 'duration': 2.201}, {'end': 534.339, 'text': 'And this is also going to say password.', 'start': 532.738, 'duration': 1.601}, {'end': 537.922, 'text': 'Let me just neatly make them once.', 'start': 534.359, 'duration': 3.563}, {'end': 545.343, 'text': "Then the fourth one is going to be So let's call this password one.", 'start': 540.144, 'duration': 5.199}, {'end': 548.964, 'text': 'And this is also going to be of type password.', 'start': 546.304, 'duration': 2.66}, {'end': 552.125, 'text': "And let's call this password two.", 'start': 549.604, 'duration': 2.521}, {'end': 554.185, 'text': "Let's save that.", 'start': 552.145, 'duration': 2.04}, {'end': 558.346, 'text': 'Okay, so in the end, we are also be needing a button.', 'start': 555.246, 'duration': 3.1}, {'end': 562.807, 'text': 'So this button is going to be of type equals submit.', 'start': 558.647, 'duration': 4.16}, {'end': 565.168, 'text': "And it's also going to say submit.", 'start': 563.668, 'duration': 1.5}, {'end': 568.989, 'text': 'And in this one, we want to say confirm password.', 'start': 566.288, 'duration': 2.701}, {'end': 571.281, 'text': 'So let me just save that.', 'start': 570.12, 'duration': 1.161}], 'summary': 'Setting up input fields for email and password, with a submit button.', 'duration': 60.165, 'max_score': 511.116, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY511116.jpg'}], 'start': 259.244, 'title': 'Creating user table and registration form in php', 'summary': 'Discusses creating a user table in mysql with four columns, and then proceeds to create a registration page in php with four input fields. it also explains the process of creating a registration form in php and mysql, including defining form actions, methods, labels, inputs, and buttons.', 'chapters': [{'end': 432.016, 'start': 259.244, 'title': 'Creating user table and registration page in php', 'summary': 'Discusses creating a user table with four columns in mysql, including id, username, email, and password, and then proceeds to create a registration page in php with four input fields for username, email, password, and confirm password.', 'duration': 172.772, 'highlights': ['Creating a user table with four columns in MySQL: ID, username, email, and password. The user table is created with four columns including ID, username, email, and password, with specific data types and lengths mentioned for each column.', 'Creating a registration page in PHP with four input fields for username, email, password, and confirm password. A registration page is created in PHP with four input fields for username, email, password, and confirm password, following the standard practice of user registration.']}, {'end': 571.281, 'start': 433.214, 'title': 'Creating registration form in php', 'summary': 'Explains the process of creating a registration form in php and mysql, including defining form actions, methods, labels, inputs, and buttons.', 'duration': 138.067, 'highlights': ['The form will take two actions, with the action part deciding which script to run when the form is submitted, and the method being set to post. Defines the actions and method for the form, providing clarity on the script to be run and the method used.', 'The process involves creating labels and inputs for username, email, and password, along with defining the input types and names. Explains the step-by-step process of creating labels and inputs for username, email, and password, including their types and names.', "A button of type submit is created for the form, with a label indicating 'submit', and a confirmation password field is also included. Highlights the creation of a button for form submission and the addition of a confirmation password field."]}], 'duration': 312.037, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY259244.jpg', 'highlights': ['Creating a user table with four columns in MySQL: ID, username, email, and password.', 'Creating a registration page in PHP with four input fields for username, email, password, and confirm password.', 'The form will take two actions, with the action part deciding which script to run when the form is submitted, and the method being set to post.', 'The process involves creating labels and inputs for username, email, and password, along with defining the input types and names.', "A button of type submit is created for the form, with a label indicating 'submit', and a confirmation password field is also included."]}, {'end': 1013.988, 'segs': [{'end': 830.274, 'src': 'embed', 'start': 780.046, 'weight': 0, 'content': [{'end': 783.067, 'text': 'so our both basic pages have now been set up.', 'start': 780.046, 'duration': 3.021}, {'end': 787.388, 'text': 'so one is the login page and the other is the registration page.', 'start': 783.067, 'duration': 4.321}, {'end': 793.39, 'text': "now it's time that we create the logic for registering our new users into the database.", 'start': 787.388, 'duration': 6.002}, {'end': 799.453, 'text': 'So another thing I actually forgot to do out here is saying that all these fields are required.', 'start': 794.19, 'duration': 5.263}, {'end': 803.675, 'text': "So, else they would throw errors if we just didn't do that.", 'start': 799.533, 'duration': 4.142}, {'end': 805.996, 'text': 'So, required, just leave them as required.', 'start': 803.815, 'duration': 2.181}, {'end': 808.297, 'text': "So, let's put these here too.", 'start': 806.656, 'duration': 1.641}, {'end': 810.738, 'text': 'Just make them required.', 'start': 809.717, 'duration': 1.021}, {'end': 813.079, 'text': "Let's do the same in the login page.", 'start': 811.278, 'duration': 1.801}, {'end': 816.821, 'text': 'So, all you say is now required here too.', 'start': 814.159, 'duration': 2.662}, {'end': 817.641, 'text': 'Save that.', 'start': 817.181, 'duration': 0.46}, {'end': 818.622, 'text': "Let's save that too.", 'start': 817.981, 'duration': 0.641}, {'end': 824.411, 'text': "Now, if you go out here and you just try to submit, it'll say you need to fill in this field.", 'start': 819.748, 'duration': 4.663}, {'end': 827.412, 'text': 'So for that we need that required part.', 'start': 825.171, 'duration': 2.241}, {'end': 830.274, 'text': "Right, now let's create a new file.", 'start': 828.673, 'duration': 1.601}], 'summary': 'Set up login and registration pages, implement required fields, and prepare for user registration.', 'duration': 50.228, 'max_score': 780.046, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY780046.jpg'}, {'end': 882.262, 'src': 'embed', 'start': 854.092, 'weight': 2, 'content': [{'end': 857.933, 'text': "And then we're going to write the logic for registering the user onto the database.", 'start': 854.092, 'duration': 3.841}, {'end': 859.813, 'text': "OK, so let's get started.", 'start': 858.613, 'duration': 1.2}, {'end': 866.134, 'text': 'So firstly, to start up your session, all you have to go and say is session underscore start.', 'start': 860.193, 'duration': 5.941}, {'end': 867.955, 'text': 'That will start up your session.', 'start': 866.674, 'duration': 1.281}, {'end': 871.435, 'text': 'And every time you log into a web page, you are actually being tracked.', 'start': 868.355, 'duration': 3.08}, {'end': 873.936, 'text': 'And that tracking period is called a session.', 'start': 871.615, 'duration': 2.321}, {'end': 879.219, 'text': "okay, so now we're gonna initialize our variables, so let's put in some comments.", 'start': 874.736, 'duration': 4.483}, {'end': 882.262, 'text': 'so, initializing variables.', 'start': 879.219, 'duration': 3.043}], 'summary': 'Developing user registration logic for database, starting session and initializing variables.', 'duration': 28.17, 'max_score': 854.092, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY854092.jpg'}, {'end': 921.362, 'src': 'embed', 'start': 894.671, 'weight': 3, 'content': [{'end': 900.013, 'text': 'So to connect to the database, we are going to be using this function called mysqli connect.', 'start': 894.671, 'duration': 5.342}, {'end': 905.115, 'text': 'So mysqli connect.', 'start': 900.814, 'duration': 4.301}, {'end': 912.478, 'text': 'Yep And all you have to do is now specify the IP address, first of all, where your database is.', 'start': 905.375, 'duration': 7.103}, {'end': 914.239, 'text': 'So ours is hosted locally.', 'start': 912.558, 'duration': 1.681}, {'end': 916.18, 'text': 'So all you have to say is localhost.', 'start': 914.299, 'duration': 1.881}, {'end': 920.461, 'text': "Then you have to specify the user you're going to log in with.", 'start': 916.84, 'duration': 3.621}, {'end': 921.362, 'text': 'So that is root.', 'start': 920.501, 'duration': 0.861}], 'summary': 'Using mysqli connect function to specify ip address and user for database connection.', 'duration': 26.691, 'max_score': 894.671, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY894671.jpg'}, {'end': 1013.988, 'src': 'embed', 'start': 989.914, 'weight': 4, 'content': [{'end': 997.824, 'text': 'So what it does is actually it escapes all the escape characters that can cause security issues and give you back the value from the form.', 'start': 989.914, 'duration': 7.91}, {'end': 999.586, 'text': "So let me just show you how that's done.", 'start': 998.044, 'duration': 1.542}, {'end': 1005.375, 'text': 'So mysqli And you say real escape and string.', 'start': 999.646, 'duration': 5.729}, {'end': 1007.237, 'text': "So that's going to be our function.", 'start': 1005.996, 'duration': 1.241}, {'end': 1011.925, 'text': 'So the first parameter it takes is the connection that you made with the database.', 'start': 1007.758, 'duration': 4.167}, {'end': 1013.988, 'text': "So it's stored in this variable called DB.", 'start': 1011.945, 'duration': 2.043}], 'summary': 'The mysqli_real_escape_string function escapes escape characters to prevent security issues when retrieving form values from the database.', 'duration': 24.074, 'max_score': 989.914, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY989914.jpg'}], 'start': 571.661, 'title': 'Php mysql integration and user registration logic', 'summary': 'Covers basic form setup for php and mysql integration, creating registration and login pages, setting up required form fields, and also explains the php logic for user registration, including session management, variable initialization, database connection, and use of mysqli functions.', 'chapters': [{'end': 830.274, 'start': 571.661, 'title': 'Php mysql integration: basic form setup', 'summary': 'Demonstrates the basic setup of a php and mysql integration, including creating a registration and login page with basic styling and setting up required fields in the form.', 'duration': 258.613, 'highlights': ['The chapter demonstrates the creation of a registration page and a login page for a PHP and MySQL integration.', 'The form is shown to have basic structure and styling, and the chapter emphasizes the need to set required fields to avoid errors.', 'The process includes renaming folders, creating PHP files, setting up redirection, and ensuring the necessary fields are marked as required.']}, {'end': 1013.988, 'start': 831.054, 'title': 'Php user registration logic', 'summary': 'Explains the php logic for starting a session, initializing variables, connecting to the database, and registering users, emphasizing the use of mysqli functions and the importance of session tracking.', 'duration': 182.934, 'highlights': ["The chapter emphasizes the importance of starting a session using 'session_start' to enable session tracking for user logins.", 'It explains the process of initializing variables for username and email, critical for handling user input in the registration process.', "The transcript details the use of 'mysqli_connect' function to establish a connection with the database, showcasing the use of localhost, username, and database name.", "The importance of using 'mysqli_real_escape_string' to retrieve and secure user input from the form is highlighted, emphasizing its role in preventing security issues."]}], 'duration': 442.327, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY571661.jpg', 'highlights': ['The chapter demonstrates the creation of a registration page and a login page for a PHP and MySQL integration.', 'The process includes renaming folders, creating PHP files, setting up redirection, and ensuring the necessary fields are marked as required.', "The chapter emphasizes the importance of starting a session using 'session_start' to enable session tracking for user logins.", "The transcript details the use of 'mysqli_connect' function to establish a connection with the database, showcasing the use of localhost, username, and database name.", "The importance of using 'mysqli_real_escape_string' to retrieve and secure user input from the form is highlighted, emphasizing its role in preventing security issues."]}, {'end': 1463.752, 'segs': [{'end': 1043.145, 'src': 'embed', 'start': 1014.669, 'weight': 3, 'content': [{'end': 1016.232, 'text': 'And next is.', 'start': 1014.669, 'duration': 1.563}, {'end': 1019.495, 'text': 'The variable that you are trying to access.', 'start': 1017.113, 'duration': 2.382}, {'end': 1022.018, 'text': "So let me show you how that's done.", 'start': 1019.656, 'duration': 2.362}, {'end': 1025.281, 'text': "So it's basically we're going to store it in the post array.", 'start': 1022.198, 'duration': 3.083}, {'end': 1030.006, 'text': 'And we had also named our username with the name of username.', 'start': 1025.521, 'duration': 4.485}, {'end': 1032.868, 'text': "If you see this part, it's going to be named with username.", 'start': 1030.306, 'duration': 2.562}, {'end': 1033.93, 'text': "So that's how you select it.", 'start': 1032.929, 'duration': 1.001}, {'end': 1035.692, 'text': "So it's going to be called username.", 'start': 1034.01, 'duration': 1.682}, {'end': 1038.284, 'text': "So, that's there.", 'start': 1037.002, 'duration': 1.282}, {'end': 1040.644, 'text': 'Next is going to be the email.', 'start': 1038.763, 'duration': 1.881}, {'end': 1043.145, 'text': 'So, we need to first select the email.', 'start': 1040.924, 'duration': 2.221}], 'summary': 'Demonstrating accessing and storing variables in the post array for username and email.', 'duration': 28.476, 'max_score': 1014.669, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY1014669.jpg'}, {'end': 1092.304, 'src': 'embed', 'start': 1065.653, 'weight': 0, 'content': [{'end': 1070.376, 'text': 'And these are going to be, what did I name them? Oh yeah, I named them password1 and password2.', 'start': 1065.653, 'duration': 4.723}, {'end': 1075.159, 'text': "Okay, so let's save that now.", 'start': 1073.658, 'duration': 1.501}, {'end': 1083.705, 'text': 'Okay, so now, once we have all the usernames and passwords and variables to be actually played around with,', 'start': 1076.4, 'duration': 7.305}, {'end': 1087.808, 'text': "it's time to make the user registration or the form validation logic.", 'start': 1083.705, 'duration': 4.103}, {'end': 1092.304, 'text': 'So first of all, we are going to be tackling some errors.', 'start': 1088.703, 'duration': 3.601}], 'summary': 'Creating user registration and form validation logic with password1 and password2 variables.', 'duration': 26.651, 'max_score': 1065.653, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY1065653.jpg'}, {'end': 1236.325, 'src': 'embed', 'start': 1210.485, 'weight': 1, 'content': [{'end': 1218.289, 'text': "what we want to check next is if the person who's trying to sign up is already trying to use a username that already is existing in the database.", 'start': 1210.485, 'duration': 7.804}, {'end': 1222.092, 'text': 'So we want all users to have unique usernames.', 'start': 1218.81, 'duration': 3.282}, {'end': 1228.115, 'text': "So for that, we're going to check if the username that is currently being inputted already exists in our database.", 'start': 1222.452, 'duration': 5.663}, {'end': 1230.216, 'text': 'So we can do that very easily.', 'start': 1228.195, 'duration': 2.021}, {'end': 1231.357, 'text': 'So let me just show you how.', 'start': 1230.496, 'duration': 0.861}, {'end': 1236.325, 'text': 'So first of all, let me just define or let me just comment out once.', 'start': 1232.458, 'duration': 3.867}], 'summary': 'Ensure unique usernames by checking for existing usernames in the database during sign-up process.', 'duration': 25.84, 'max_score': 1210.485, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY1210485.jpg'}, {'end': 1398.316, 'src': 'embed', 'start': 1365.319, 'weight': 2, 'content': [{'end': 1368.761, 'text': 'So it will fetch us all the association as the function name says.', 'start': 1365.319, 'duration': 3.442}, {'end': 1382.464, 'text': "What do you want to say if the user exists? That means if that is true, And if the user from with username, so it's users array.", 'start': 1368.781, 'duration': 13.683}, {'end': 1387.388, 'text': "So we're going to check if it's existing to the username that is being provided.", 'start': 1382.704, 'duration': 4.684}, {'end': 1389.289, 'text': 'So this one out here.', 'start': 1388.008, 'duration': 1.281}, {'end': 1390.871, 'text': "So we're checking with that.", 'start': 1389.89, 'duration': 0.981}, {'end': 1398.316, 'text': 'So we want to push our error into the errors array.', 'start': 1392.792, 'duration': 5.524}], 'summary': 'Function to check user existence and handle errors.', 'duration': 32.997, 'max_score': 1365.319, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY1365319.jpg'}], 'start': 1014.669, 'title': 'User registration and validation', 'summary': 'Covers form validation and user registration logic, including the process of accessing and storing variables, creating form validation logic, and validating user registration by checking for existing usernames and emails in the database, and ultimately registering the user if no errors are present.', 'chapters': [{'end': 1210.485, 'start': 1014.669, 'title': 'Form validation and user registration logic', 'summary': 'Covers the process of accessing and storing variables, such as username and email, and creating form validation logic to handle errors, including checking for empty inputs and verifying password match.', 'duration': 195.816, 'highlights': ['The chapter covers the process of accessing and storing variables, such as username and email. The transcript explains how to access and store variables like username and email, demonstrating the process of accessing and storing these essential user inputs.', 'Creating form validation logic to handle errors, including checking for empty inputs and verifying password match. The chapter details the creation of form validation logic, including checking for empty inputs like username, email, and password, and verifying that password1 matches password2.']}, {'end': 1463.752, 'start': 1210.485, 'title': 'User registration validation process', 'summary': 'Discusses the process of validating user registration by checking for existing usernames and emails in the database, setting up query checks, and pushing errors into an array if a match is found, ultimately registering the user if no errors are present.', 'duration': 253.267, 'highlights': ['The process of validating user registration by checking for existing usernames and emails in the database is discussed. Ensuring unique usernames and email IDs for all users to be registered', 'Setting up query checks to fetch existing usernames and emails from the database and limiting the results to one instance to signal an invalid username or email. Defining and executing a query to check for existing usernames and emails', 'Pushing errors into an array if a match is found for the username or email, indicating that the username or email already exists in the database. Managing errors by pushing them into an array if a match for username or email is found', 'Registering the user if no errors are present in the form validation process by running a query when the errors array count is 0. Finalizing user registration if no errors are present']}], 'duration': 449.083, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY1014669.jpg', 'highlights': ['Creating form validation logic to handle errors, including checking for empty inputs and verifying password match.', 'The process of validating user registration by checking for existing usernames and emails in the database is discussed.', 'Pushing errors into an array if a match is found for the username or email, indicating that the username or email already exists in the database.', 'The chapter covers the process of accessing and storing variables, such as username and email.']}, {'end': 1996.637, 'segs': [{'end': 1522.741, 'src': 'embed', 'start': 1464.614, 'weight': 0, 'content': [{'end': 1471.675, 'text': 'Now, before you store a password in a database, it is very much advised that you encrypt your password.', 'start': 1464.614, 'duration': 7.061}, {'end': 1479.597, 'text': 'Because in many cases, someone might maliciously gain access to your database, and then he can just view all the passwords as plain text.', 'start': 1471.975, 'duration': 7.622}, {'end': 1481.457, 'text': "So that shouldn't really happen.", 'start': 1480.157, 'duration': 1.3}, {'end': 1489.518, 'text': 'Now in PHP, we can use the MD5 function to actually encrypt our passwords with the MD5 hashing algorithm.', 'start': 1481.857, 'duration': 7.661}, {'end': 1490.799, 'text': 'So this is how you do it.', 'start': 1489.938, 'duration': 0.861}, {'end': 1493.219, 'text': 'So we take our password.', 'start': 1491.419, 'duration': 1.8}, {'end': 1497.209, 'text': 'Okay, so this is a new value called password.', 'start': 1494.768, 'duration': 2.441}, {'end': 1499.77, 'text': 'And what we want to do is MD5.', 'start': 1497.789, 'duration': 1.981}, {'end': 1504.973, 'text': 'And we want to give password one inside that.', 'start': 1500.971, 'duration': 4.002}, {'end': 1508.594, 'text': 'So let me just put a comment.', 'start': 1507.074, 'duration': 1.52}, {'end': 1512.736, 'text': 'This will encrypt the password.', 'start': 1509.275, 'duration': 3.461}, {'end': 1518.619, 'text': "I'll show you what I mean when we actually register a user after we are done with the registration logic.", 'start': 1513.036, 'duration': 5.583}, {'end': 1522.741, 'text': 'So all you want to do is now set up a query.', 'start': 1519.459, 'duration': 3.282}], 'summary': 'Encrypt passwords using md5 hashing algorithm to secure database.', 'duration': 58.127, 'max_score': 1464.614, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY1464614.jpg'}, {'end': 1712.141, 'src': 'heatmap', 'start': 1633.434, 'weight': 3, 'content': [{'end': 1637.497, 'text': 'So whenever somebody actually registers, we are going to log them in automatically.', 'start': 1633.434, 'duration': 4.063}, {'end': 1644, 'text': "And we're going to actually head them to another page called index.php, which I'll be creating soon.", 'start': 1638.177, 'duration': 5.823}, {'end': 1645.841, 'text': 'So all you say is head.', 'start': 1644.7, 'duration': 1.141}, {'end': 1650.523, 'text': 'And then you pass in the location as a key value pair.', 'start': 1646.961, 'duration': 3.562}, {'end': 1655.946, 'text': 'The location is going to be index.php.', 'start': 1652.364, 'duration': 3.582}, {'end': 1662.467, 'text': 'okay, so that has successfully set up our registration.', 'start': 1657.606, 'duration': 4.861}, {'end': 1668.709, 'text': 'so to just show you guys, let me just create our index.php really quickly.', 'start': 1662.467, 'duration': 6.242}, {'end': 1675.531, 'text': "okay, so our index.php will also have some logic in it that somebody who's not logged in will not be able to see it.", 'start': 1668.709, 'duration': 6.822}, {'end': 1681.413, 'text': "because it's, it's, that's the whole point of user registration or user authentication system,", 'start': 1675.531, 'duration': 5.882}, {'end': 1685.534, 'text': 'where your email and password is checked before you can actually see a certain page.', 'start': 1681.413, 'duration': 4.121}, {'end': 1691.33, 'text': "For this, let's first set our language to PHP.", 'start': 1687.088, 'duration': 4.242}, {'end': 1693.952, 'text': 'Now just open up the PHP tags.', 'start': 1691.891, 'duration': 2.061}, {'end': 1696.573, 'text': "And now let's build our logic.", 'start': 1695.192, 'duration': 1.381}, {'end': 1699.255, 'text': "So first let's session started.", 'start': 1696.793, 'duration': 2.462}, {'end': 1707.179, 'text': 'And what we want to say, if we can use the is set function to see if the username is set.', 'start': 1700.535, 'duration': 6.644}, {'end': 1708.84, 'text': 'So we go session.', 'start': 1707.639, 'duration': 1.201}, {'end': 1712.141, 'text': "And we're going to check for the particular username.", 'start': 1708.86, 'duration': 3.281}], 'summary': 'Setting up automatic login and user authentication system using php and sessions for index.php page.', 'duration': 54.535, 'max_score': 1633.434, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY1633434.jpg'}, {'end': 1827.47, 'src': 'embed', 'start': 1793.354, 'weight': 5, 'content': [{'end': 1801.66, 'text': 'okay, now that sets up logic that we need to just make our index login only.', 'start': 1793.354, 'duration': 8.306}, {'end': 1804.141, 'text': "so if you're logged in, then you'll be able to see it.", 'start': 1801.66, 'duration': 2.481}, {'end': 1806.883, 'text': "now. let's just add some html to this.", 'start': 1804.141, 'duration': 2.742}, {'end': 1808.925, 'text': 'so you go html.', 'start': 1806.883, 'duration': 2.042}, {'end': 1820.693, 'text': "let's get the title of home page, come in here and let's see, let's make an h1 says this is the home page.", 'start': 1808.925, 'duration': 11.768}, {'end': 1826.569, 'text': 'You can also write some PHP here to make it more personal.', 'start': 1823.126, 'duration': 3.443}, {'end': 1827.47, 'text': "So let's see.", 'start': 1826.769, 'duration': 0.701}], 'summary': 'Set up logic to restrict access, add html and php for personalization.', 'duration': 34.116, 'max_score': 1793.354, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY1793354.jpg'}, {'end': 1991.353, 'src': 'heatmap', 'start': 1931.622, 'weight': 0.807, 'content': [{'end': 1936.72, 'text': "So let's say Let's leave out the styling for now.", 'start': 1931.622, 'duration': 5.098}, {'end': 1940.442, 'text': "So we just make it a button and let's end our div.", 'start': 1937.34, 'duration': 3.102}, {'end': 1944.425, 'text': 'So all we want to say is php end if.', 'start': 1941.663, 'duration': 2.762}, {'end': 1949.828, 'text': 'So that completes our index.php.', 'start': 1946.286, 'duration': 3.542}, {'end': 1951.709, 'text': 'So let me just save that.', 'start': 1950.548, 'duration': 1.161}, {'end': 1954.351, 'text': "Let's call this index.php.", 'start': 1951.989, 'duration': 2.362}, {'end': 1964.531, 'text': "Okay, so now that we've set up our index.php, all we need to do firstly is include our server's logic into our registration page.", 'start': 1956.167, 'duration': 8.364}, {'end': 1973.036, 'text': "For that, we just say php, we're going to include server, is that how we spell it? Yep, server.php.", 'start': 1964.771, 'duration': 8.265}, {'end': 1977.658, 'text': "And we want to do the same thing in our login page, so let's copy that down.", 'start': 1974.136, 'duration': 3.522}, {'end': 1984.808, 'text': "because we'll soon be adding our logic of logging in, which is much easier than registration.", 'start': 1979.724, 'duration': 5.084}, {'end': 1988.571, 'text': 'And all we now need to do is create an errors file.', 'start': 1985.308, 'duration': 3.263}, {'end': 1991.353, 'text': "So firstly, let's see.", 'start': 1989.031, 'duration': 2.322}], 'summary': 'Setting up index.php, including server.php, and preparing for login logic and errors file.', 'duration': 59.731, 'max_score': 1931.622, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY1931622.jpg'}], 'start': 1464.614, 'title': 'Php password encryption and user authentication', 'summary': 'Emphasizes the importance of encrypting passwords in a database to prevent unauthorized access, and demonstrates the use of the md5 function in php. it also covers user registration, login, session management, and page access control, including personalized content based on user login status.', 'chapters': [{'end': 1625.119, 'start': 1464.614, 'title': 'Encrypting passwords in php', 'summary': 'Discusses the importance of encrypting passwords in a database to prevent unauthorized access, and demonstrates the use of the md5 function to encrypt passwords in php, before inserting them into a database.', 'duration': 160.505, 'highlights': ['Encrypting passwords is crucial to prevent unauthorized access, as plain text passwords can be viewed if the database is compromised. Emphasizes the importance of encrypting passwords to prevent unauthorized access, highlighting the risk of plain text passwords being viewed in case of a database breach.', 'Demonstrates the use of the MD5 function in PHP to encrypt passwords. Explains the process of using the MD5 function in PHP to encrypt passwords before inserting them into a database, emphasizing the practical implementation of password encryption.', 'Provides a step-by-step guide on setting up a query and running it to insert encrypted passwords into a database. Offers a detailed step-by-step guide on setting up a query and running it to insert encrypted passwords into a database, outlining the specific order of inserting username, email, and password.']}, {'end': 1996.637, 'start': 1625.339, 'title': 'User authentication and session management', 'summary': 'Covers setting up user registration, login, session management, and page access control using php, including redirecting users, checking session variables, and displaying personalized content based on user login status.', 'duration': 371.298, 'highlights': ['Setting up user registration and login logic The chapter covers the process of automatically logging in registered users and redirecting them to the index.php page upon successful registration. It also explains the logic for allowing only logged-in users to access certain pages.', "Implementing session management and access control The transcript delves into the utilization of PHP session variables to manage user sessions, including checking if a user is logged in using the isset function and printing a message if not. It also discusses the process of destroying a user's session upon logout and redirecting them to the login page.", "Personalizing content based on user login status The chapter demonstrates how to personalize HTML content on the index.php page based on the user's login status, such as displaying a success message if the session is established and printing user information only if they are logged in, along with creating a logout button."]}], 'duration': 532.023, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY1464614.jpg', 'highlights': ['Emphasizes the importance of encrypting passwords to prevent unauthorized access, highlighting the risk of plain text passwords being viewed in case of a database breach.', 'Demonstrates the use of the MD5 function in PHP to encrypt passwords before inserting them into a database, emphasizing the practical implementation of password encryption.', 'Provides a step-by-step guide on setting up a query and running it to insert encrypted passwords into a database, outlining the specific order of inserting username, email, and password.', 'Setting up user registration and login logic, including automatically logging in registered users and redirecting them to the index.php page upon successful registration.', "Implementing session management and access control using PHP session variables to manage user sessions, including checking if a user is logged in using the isset function and destroying a user's session upon logout.", "Demonstrates how to personalize HTML content on the index.php page based on the user's login status, such as displaying a success message if the session is established and printing user information only if they are logged in, along with creating a logout button."]}, {'end': 2722.477, 'segs': [{'end': 2132.871, 'src': 'heatmap', 'start': 2067.842, 'weight': 1, 'content': [{'end': 2071.245, 'text': "So we're going to call this errors.php.", 'start': 2067.842, 'duration': 3.403}, {'end': 2074.786, 'text': "Now let's head over to our registration page once.", 'start': 2072.186, 'duration': 2.6}, {'end': 2082.19, 'text': 'So out here also we want to include errors.php before he starts inputting anything into the form.', 'start': 2075.708, 'duration': 6.482}, {'end': 2088.675, 'text': "So the first thing after the form begins we're going to say php include errors.php.", 'start': 2082.952, 'duration': 5.723}, {'end': 2100.916, 'text': "save that, okay, so now that we've set up our errors file, our index file, our servers, and we've included them in the right places,", 'start': 2092.313, 'duration': 8.603}, {'end': 2105.418, 'text': "now it's time and actually try and register a new user into the database.", 'start': 2100.916, 'duration': 4.502}, {'end': 2107.759, 'text': "okay, okay, so let's try that out.", 'start': 2105.418, 'duration': 2.341}, {'end': 2109.899, 'text': 'so our username is going to be aria.', 'start': 2107.759, 'duration': 2.14}, {'end': 2111.82, 'text': 'our email is going to be one, two, three.', 'start': 2109.899, 'duration': 1.921}, {'end': 2113.26, 'text': 'act rate, xyz.', 'start': 2111.82, 'duration': 1.44}, {'end': 2115.621, 'text': 'our password is going to be one, two, three.', 'start': 2113.26, 'duration': 2.361}, {'end': 2116.542, 'text': "let's confirm that.", 'start': 2115.621, 'duration': 0.921}, {'end': 2120.864, 'text': 'Okay, the server encounter and was unable to complete a request.', 'start': 2117.802, 'duration': 3.062}, {'end': 2132.871, 'text': "Okay, so seems we've encountered an error, but our user should actually have been registered because it had gone to the index.php.", 'start': 2123.726, 'duration': 9.145}], 'summary': 'Creating errors.php, including it in the registration page, and encountering a server error while registering a new user.', 'duration': 65.029, 'max_score': 2067.842, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY2067842.jpg'}, {'end': 2109.899, 'src': 'embed', 'start': 2082.952, 'weight': 1, 'content': [{'end': 2088.675, 'text': "So the first thing after the form begins we're going to say php include errors.php.", 'start': 2082.952, 'duration': 5.723}, {'end': 2100.916, 'text': "save that, okay, so now that we've set up our errors file, our index file, our servers, and we've included them in the right places,", 'start': 2092.313, 'duration': 8.603}, {'end': 2105.418, 'text': "now it's time and actually try and register a new user into the database.", 'start': 2100.916, 'duration': 4.502}, {'end': 2107.759, 'text': "okay, okay, so let's try that out.", 'start': 2105.418, 'duration': 2.341}, {'end': 2109.899, 'text': 'so our username is going to be aria.', 'start': 2107.759, 'duration': 2.14}], 'summary': "Setting up server and files for user registration with 'aria' as username.", 'duration': 26.947, 'max_score': 2082.952, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY2082952.jpg'}, {'end': 2184.483, 'src': 'embed', 'start': 2159.781, 'weight': 3, 'content': [{'end': 2168.749, 'text': "Okay, so now that we've created the logic for registering our new users into our database successfully, because, as you guys can see out here,", 'start': 2159.781, 'duration': 8.968}, {'end': 2173.173, 'text': 'we have a user called Aria and I also added a user called Sahity.', 'start': 2168.749, 'duration': 4.424}, {'end': 2180.719, 'text': 'They both have the same password, so the hash looks the same, but they have unique email IDs, they have unique usernames.', 'start': 2173.253, 'duration': 7.466}, {'end': 2184.483, 'text': 'So these are just two new users in our database.', 'start': 2181.28, 'duration': 3.203}], 'summary': 'Successfully registered two new unique users in the database.', 'duration': 24.702, 'max_score': 2159.781, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY2159781.jpg'}, {'end': 2345.032, 'src': 'embed', 'start': 2295.686, 'weight': 2, 'content': [{'end': 2298.108, 'text': "So it's never bad to be just double sure about everything.", 'start': 2295.686, 'duration': 2.422}, {'end': 2301.151, 'text': 'Now we also want to check the same thing for the password.', 'start': 2298.449, 'duration': 2.702}, {'end': 2303.693, 'text': "So let's see, let's copy this down.", 'start': 2301.511, 'duration': 2.182}, {'end': 2314.063, 'text': 'Now say if the password is empty, we want to push another error into our array and say password is required.', 'start': 2303.713, 'duration': 10.35}, {'end': 2318.674, 'text': 'Now if this is actually successfully passed.', 'start': 2315.751, 'duration': 2.923}, {'end': 2325.98, 'text': 'so if neither username nor password is empty, we want to check if our error count in the errors array is zero.', 'start': 2318.674, 'duration': 7.306}, {'end': 2330.764, 'text': 'So count and errors is equals to equals to zero.', 'start': 2326.02, 'duration': 4.744}, {'end': 2334.908, 'text': 'And you want to check the password with the existing password.', 'start': 2330.784, 'duration': 4.124}, {'end': 2345.032, 'text': 'So firstly we have to hash this password also that is being passed in because our passwords in the database are actually stored in a hashed format.', 'start': 2335.248, 'duration': 9.784}], 'summary': 'Ensuring password validation and hashing for database security.', 'duration': 49.346, 'max_score': 2295.686, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY2295686.jpg'}, {'end': 2667.58, 'src': 'embed', 'start': 2637.049, 'weight': 0, 'content': [{'end': 2640.934, 'text': 'So what did we learn? We learned to create a user registration system.', 'start': 2637.049, 'duration': 3.885}, {'end': 2648.062, 'text': 'We have a servers.php that actually handles the logic for registering a new user and logging in a new user when logged in.', 'start': 2641.114, 'duration': 6.948}, {'end': 2650.384, 'text': 'We also created the login page.', 'start': 2648.902, 'duration': 1.482}, {'end': 2652.326, 'text': 'We also created the registration page.', 'start': 2650.785, 'duration': 1.541}, {'end': 2659.856, 'text': "Now you can also create some CSS to make this all look very neat and tidy, but I'm not really going to do that,", 'start': 2653.112, 'duration': 6.744}, {'end': 2662.217, 'text': 'because that was not the point of this video.', 'start': 2659.856, 'duration': 2.361}, {'end': 2667.58, 'text': "This video's point was to teach you how to connect MySQL database with some PHP scripts.", 'start': 2662.397, 'duration': 5.183}], 'summary': 'Learned to create user registration system with mysql and php.', 'duration': 30.531, 'max_score': 2637.049, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY2637049.jpg'}], 'start': 1996.677, 'title': 'Php user registration and login', 'summary': 'Covers php registration logic, error handling, file inclusion, and successful user registration with unique usernames and email ids. it also details creating a user registration and login system with php and mysql, including form validation, database queries, and error management, providing a practical exercise for practicing both mysql and php skills.', 'chapters': [{'end': 2266.123, 'start': 1996.677, 'title': 'Php registration logic', 'summary': 'Explains the php registration logic, including error handling, file inclusion, and successful user registration into the database, with unique usernames and email ids.', 'duration': 269.446, 'highlights': ['The chapter explains the PHP registration logic, including error handling, file inclusion, and successful user registration into the database, with unique usernames and email IDs.', 'The logic for registering new users into the database is successfully demonstrated, with the addition of unique users like Aria and Sahity, having unique email IDs and usernames.', "The chapter also emphasizes error checking and handling, including the use of 'if' statements and the 'count of errors' condition to print out and echo errors when encountered.", "The transcript details the file inclusion process by including 'errors.php' in the registration page before inputting anything into the form, ensuring proper error handling and display.", "The chapter concludes by preparing to create logic for user login, outlining the steps to check the 'login user' button, retrieve username and password, and perform common error checking."]}, {'end': 2722.477, 'start': 2266.243, 'title': 'User registration and login system with php and mysql', 'summary': 'Covers the creation of a user registration system and a login system with php and mysql. it includes handling form validation, database queries, and error management, resulting in a practical exercise for practicing both mysql and php skills.', 'duration': 456.234, 'highlights': ['The chapter covers the creation of a user registration system and a login system with PHP and MySQL, including handling form validation, database queries, and error management.', 'The tutorial emphasizes the importance of additional checks for security, highlighting the practice of double-checking for empty fields and adding custom error messages for required fields.', 'The process involves hashing the passwords before comparing them with the database, ensuring secure storage and retrieval of user credentials.', 'The demonstration includes handling syntax errors, undefined function errors, and unexpected errors, providing a practical understanding of debugging and troubleshooting in PHP development.']}], 'duration': 725.8, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/qjwc8ScTHnY/pics/qjwc8ScTHnY1996677.jpg', 'highlights': ['The chapter covers the creation of a user registration system and a login system with PHP and MySQL, including handling form validation, database queries, and error management.', 'The chapter explains the PHP registration logic, including error handling, file inclusion, and successful user registration into the database, with unique usernames and email IDs.', 'The process involves hashing the passwords before comparing them with the database, ensuring secure storage and retrieval of user credentials.', 'The logic for registering new users into the database is successfully demonstrated, with the addition of unique users like Aria and Sahity, having unique email IDs and usernames.', 'The tutorial emphasizes the importance of additional checks for security, highlighting the practice of double-checking for empty fields and adding custom error messages for required fields.']}], 'highlights': ['By integrating MySQL databases and PHP scripts, users can insert values into tables or retrieve values from them, facilitating the creation of a user registration system.', 'Practical application: Building a user registration system using MySQL and PHP, providing hands-on experience for learners.', 'XAMPP installs Apache server, MySQL services, Perl, and PHP on a computer (Relevance: 5)', 'Emphasizes ease of XAMPP installation and starting Apache and MySQL services (Relevance: 4)', 'Creating a user table with four columns in MySQL: ID, username, email, and password.', 'Creating a registration page in PHP with four input fields for username, email, password, and confirm password.', 'The chapter demonstrates the creation of a registration page and a login page for a PHP and MySQL integration.', "Emphasizes the importance of starting a session using 'session_start' to enable session tracking for user logins.", 'Emphasizes the importance of encrypting passwords to prevent unauthorized access, highlighting the risk of plain text passwords being viewed in case of a database breach.', 'Demonstrates the use of the MD5 function in PHP to encrypt passwords before inserting them into a database, emphasizing the practical implementation of password encryption.', 'The chapter covers the creation of a user registration system and a login system with PHP and MySQL, including handling form validation, database queries, and error management.']}