Swift, PHP & MySQL. User Sign Up, Sign In, Sign out and more
4.4 (227 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,083 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Swift, PHP & MySQL. User Sign Up, Sign In, Sign out and more to your Wishlist.

Add to Wishlist

Swift, PHP & MySQL. User Sign Up, Sign In, Sign out and more

Learn how to create User Sign Up, Sign In, Sign out, Password reset, Email verification and more with Swift, PHP & MySQL
Best Selling
4.4 (227 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,083 students enrolled
Created by Sergey Kargopolov
Last updated 5/2016
English
Curiosity Sale
Current price: $10 Original price: $35 Discount: 71% off
30-Day Money-Back Guarantee
Includes:
  • 13 hours on-demand video
  • 7 Articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Create user interface for the Sign up, Sign in, Sign out & password reset functionality
  • Learn to send HTTP POST requests to submit information to server side PHP script
  • Learn to select a picture on mobile device and upload it to a server side
  • Display custom Activity Indicator
  • Integrate Objective C projects into Swift App
  • Create Navigation Drawer with Left side and Right side panels
  • Write PHP scripts to handle HTTP GET & Post requests
  • Write PHP scripts to establish connection with MySQL database
  • Create new MySQL database and create new database tables
  • Send email message with PHP script
View Curriculum
Requirements
  • Xcode 6
  • Basics of Swift
  • Basics of PHP
  • Install XAMPP (Apache 2 web server, PHP & MySQL database server)
Description

Almost every mobile application requires User Sign up, Login, Logout and Password reset functionality. Also, very often mobile apps use left side menu as navigation which is some times called Navigation Drawer.

In this course we will create a fully functional examples that you can take and integrate into your Swift mobile app.

We will use Xcode development environment and Swift programming language to create:

  • User interface for User Sign Up view,
  • User interface for User Sign in view,
  • User interface for Sign Out functionality
  • User interface for Password Reset functionality
  • Email Verification feature
  • Left side navigation menu or navigation drawer with 3 different views. Left side panel for navigation menu, centre view and right side panel for additional information if needed. This Navigation drawer will serve as a main container of your mobile app which needs to be protected with user login view.
  • Using phpMyAdmin we will create a new MySQL database
  • We will learn to create new MySQL database tables
  • We will learn how to establish MySQL database connection from our PHP script
  • We will learn to write "select", "insert", "update" and "delete" SQL queries
  • We will write business logic to upload user profile picture to our server
  • We will write business logic to implement User Sign up, Sign in and Sign out functionality
  • We will write business logic to implement Password Reset functionality and Email verification feature
  • Send Push Messages using PHP scripts.

    Bonus:
  • We will create Application left side sliding menu which is sometimes called Navigation Drawer which will be displayed after user successfully logs into our application.
  • Left side menu or Navigation Drawer will have left side panel as well as right side panel which user will be able to "Tap to open" or "Swipe to open"
  • We will integrate into our application a very popular and customizable activity indicator called MBProgressHUD


You will also learn How To Create Your Own Push Notifications Server. We will learn how to use easy apns open source project to send different types of push messages to a specific iOS device registered with our application and how to send a new push message to multiple iOS devices at the same time.

Who is the target audience?
  • Novice Mobile App developers for iOS Platform
Students Who Viewed This Course Also Viewed
Curriculum For This Course
92 Lectures
12:59:58
+
Introduction
2 Lectures 01:21

Source code for Sections 1-10
00:18
+
Creating user interface in Xcode with Swift
4 Lectures 24:49

In this video we are going to create user interface for the Sign in page. The page will have two text fields and a button.

Each text field will have a clear text button.

Password text field will be a secure text entry field which will automatically replace password characters with solid black circles.

Preview 09:08

In this video we are going to create user interface for the Sign Up page. We are going to work on:
  • Create a few UITextFields
  • Make password text fields a secure text entry fields
  • Add clear button to each UITextField
  • Activate keyboard Next button or Done button
  • For each UITextField create a Delegate connector
Preview 07:59

Protected page is the one which user will see only after they successfully sign in. Our protected page will display some of the user details and will have a Sign Out button.

Preview 04:24

In this video we are going to enable the Cancel button, so that user can dismiss Sign Up View Controller and go back to Sign in page.

Preview 03:18
+
Working with MySQL Database
1 Lecture 08:34

In this video we are going to use phpMyAdmin to create a new MySQL Database for our project and we will learn how to create a new database table "users"

Creating a new MySQL database and Users table
08:34
+
Writing server side scripts in PHP
6 Lectures 58:02

In this video I am going to share with you my server side infrastructure which is very common.

  • Web server: Apache 2
  • Server side programming language: PHP
  • Database server: MySQL server
To install Apache, PHP and MySQL I used XAMPP which you can download from https://www.apachefriends.org
Introduction to my Server Side Environment
06:11

In this video we are going to create MySQL data access object which will be used to establish database connection with our MySQL server and will contain all functions which communicate with MySQL Database.

Create MySQL Data Access Class
03:58

In this video we are going to create PHP script to register a new user.

Working on User Sign up script
22:31

Secure way to store MySQL database access details
07:55

In this video we are going to create a new PHP script which will perform user sign in.

Working with userSignIn php script
10:34

In this video we are going to create a new PHP script which will accept image sent to it via HTTP POST request from mobile application and will store it inside of our web folder /profile-pictures/<user-id>/user-profile.jpg

Writing Image Upload PHP Script
06:53
+
Communicating with Server Side PHP Scripts
6 Lectures 01:06:06

In this video we are going to collect information from each text field and make sure all fields are filled in.

Collecting user Sign up details and making sure all fields are filled in
08:25

In this video we are going to send user Sign Up details to our server side script as HTTP POST request.

Sending HTTP Post request to insert data into users table
16:05

In this video we will send user Sign in details to server side script to perform Sign in.

Implementing User login
22:46

In this video we are going to read JSON string returned from server side and display user first name and user last name on the main page

Displaying user details returned from server side script
07:33

In this video we are going to implement User Sign out feature. We will clear user details stored on the device and redirect user back to Sign in page.

Implementing user Sign out
05:57

In this video we are going to remember user sign in state so that when application is restarted user does not need to sign in again if they were previously signed in.

Remember user Sign in state
05:20
+
Uploading user profile picture
4 Lectures 41:53

In this video we are going to implement UIImagePickerController and let user select an image from their photo library

Select profile picture from device photo library
08:20

In this video we are going to upload user profile picture.

Upload user profile photo to server side
18:48

Directory permissions.

Image upload: Before you continue.
04:18

Make user profile picture display on the main page when it is about to appear.

Display user profile picture
10:27
+
Adding Activity Indicator - MBProgressHUD
1 Lecture 10:34

Adding Activity Indicator to pages that communicate with server

Downloading and integrating MBProgressHUD into your project
10:34
+
Implementing Navigation Drawer
7 Lectures 48:48

In this video we are going to download and integrate into our Swift app an open source project to Implement Navigation Drawer.
You can download MMDrawer from github by following this link: https://github.com/mutualmobile/MMDrawerController

Download and install Navigation Drawer
03:43

In this video we will create a new view controller which will hold TableView and UIImage. This new left side view controller will be our navigation panel.

Navigation Drawer: Creating left side navigation menu
03:36

In this video we will create a new ViewController which will be our right side panel.

Navigation Drawer: Creating right side sliding panel
02:13

In this video we are going to put all there panels(Left side, Right side and Center view) together into a single Navigation Drawer.

Navigation drawer: Putting everything together
12:03

In this video we are going to add three menu options to our left side table view.

Add Left Side Menu Options
08:54

In this video we are going to implement UITableVideDelegate protocol and make our left side menu tappable.

Navigation drawer: Left side menu - enable menu options
09:08

Add Left side and Right side Bar Item Buttons
09:11
+
Email Verification Feature
5 Lectures 44:30

In this video we are going to begin working on Email verification feature.

Introduction
04:43

In this video we are going to begin working on EmailConfirmation PHP class which will contain functions needed to implement the feature.

Create EmailConfirmation Class & new Database Table
07:39

In this video we are going to store user email token into a new database table.

Store email token in database table
05:26

In this video we are going to prepare email message which needs to be sent to a user and will send this message using PHP mail() function.

Prepare email message template and send message to user
14:19

In this video we are going to create a new PHP script called ConfirmEmailAddress.php

Working on Confirm Email Address PHP Script
12:23
+
Implementing Password Reset Feature
9 Lectures 01:22:42

In this video we are going to implement one more user interface for the Forgot Password page.

Implement Forgot Password User Interface
05:34

In this video we are going to implement new custom Swift class responsible for the Forgot Password user interface.

Implement Forgot Password View Controller
19:47

In this video we are going to create a new PHP script called RequestNewPassword.php

Create "requestNewPassword.php" PHP script
11:41

In this video we are going to create a new convenience class to organized functions related to Forgot Password feature.

Create Password Reset PHP Class
05:33

In this video we are going to generate a new password token to be stored in database

Generate unique password token
04:57

In this video we are going to create a new database table to store password tokens.

Create new database table to store password tokens
02:09

In this video we are going to prepare an email template message and send an email message with a link to reset password to a user.

Prepare email message template and send out email to user
09:12

In this video we are going to create a new PHP page to let user create their new password.

Create new PHP page to let user provide new password
19:09

In this video we are going to test the "Forgot password" feature and make sure everything works well.

Testing "Forgot Password" feature
04:40
6 More Sections
About the Instructor
Sergey Kargopolov
4.4 Average rating
227 Reviews
1,083 Students
1 Course
Mobile Application Developer

I am a full-time mobile application developer, and building mobile apps is what I do every single day. I have been developing different types of Software since 1997 and used to be Sun Certified Java Programmer and Sun Certified Web Application Developer before Oracle bought out Sun.

I'm also a blogger at SwiftDeveloperBlog with passion for teaching people programming languages. While being a full-time developer, throughout my life I enjoyed teaching "Computer Science" course for high-school students at Kazakh-American High School, "Computer Science" course for 1st year students at Kazakh-American University and I also taught "Web Development with HTML and CSS" course for USAID employees. Now I use my passion for teaching to help beginner programmers to reach their goals in development of their first mobile applications through a step-by-step videos on my Blog, YouTube channel and by becoming an instructor on Udemy.

Happy coding and I see you in the course:)

Sergey