Category: PHP Code Snippets

Send PHP Email Using PHPMailer

PHPMailer is a popular open source, email-sending library used by applications like WordPress, Drupal, SugarCRM, Joomla and others. This tutorial will show you how to install PHPMailer, set up SMTP and send email in PHP using PHPMailer.

Read More »

PHP Add To and Remove Elements From an Array

In this tutorial, I’ll show you eight different ways to add to, remove from and insert elements to/from an array in PHP. PHP array functions used include: array(), array_push(), array_unshift(), array_pop(), array_shift(), array_slice(), count(), array_diff() and array_splice().

Read More »

What object-oriented programming is NOT

Object-oriented programming is MORE (much more) than knowing how to write a class. It’s about how you build your applications. I call it an “approach”… but it’s an approach *to application-building*.

Read More »

Output the last row inserted in MySQLi

MySQLi makes grabbing the last inserted row easy. After running your insert query, you can do this: $id = $mysqli->insert_id; Then, you can query for that row like this: $result = $mysqli->query(“SELECT * FROM table_name WHERE ID = {$id}”); And, fetch the result as an object: $user = $result->fetch_object(); From there it’s a simple echo to output it to your page: echo $user->user_name; (Although, you’ll want to use htmlspecialchars or htmlentities to escape the output and prevent XSS attacks. But, we’ll save that for another day.) Simple. Anyway, in the newly released Module 3 of PHP 101, I show you

Read More »

Connecting to MySQL with PDO

With MySQLi, it looks like this: $mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name); But, PDO is a bit different because it can interact 12 different types of databases: Oracle, PostgreSQL, SQLite, MySQL, Cubrid and several others. So, when using it you have to specify which driver you want to use. Like this: $conn = new PDO(“mysql:host={$db_host};dbname={$db_name}”, $db_user, $db_pass); Notice the “mysql:host=” bit. For different drivers, you just change out the “mysql” part. So, PostgreSQL would be: $conn = new PDO(“pgsql:host={$db_host};dbname={$db_name}”, $db_user, $db_pass); For Oracle, it’d be: $conn = new PDO(“oci:host={$db_host};dbname={$db_name}”, $db_user, $db_pass); And, so on. Nice thing is… The code

Read More »

Simple input filtering in PHP

Here’s one I don’t see talked about much: $name = filter_input(INPUT_POST, ‘name’, FILTER_SANITIZE_STRING); What this does is grab the “name” element from your POST array and run it through the the filter: FILTER_SANITIZE_STRING… which removes all HTML tags from the string (since we know a person’s name doesn’t have HTML in it). It’s a really simple way of quickly filtering your data. Here’s another: if ( ! $email = filter_input( INPUT_POST, ’email’, FILTER_VALIDATE_EMAIL ) ) { die(‘Invalid email’); } This one validates the submitted email address. And, returns false if it’s invalid. Again, a very simple way of quickly validating

Read More »

Prevent SQL injection attacks with prepared statements

Bit of a hot topic lately in my inbox. Here’s what an old, vulnerable query might look like: $expected_data = 1; $query = “SELECT * FROM users where id=$expected_data”; $result = $mysqli->query($query); The problem here is we’re injecting user-submitted data directly into our SQL statement without any sort of escaping or validation. So, a hacker could enter something like this in our form: 1; DROP TABLE users; Changing our full query to: SELECT * FROM users where id=1; DROP TABLE users; Which, as you can probably see, will execute the SELECT statement but then drop our users table. No bueno.

Read More »

How to Create Tweets Using the Twitter API

I’m going to quickly show you the exact code to send a tweet using the Twitter API. Then, how to learn to build a full-fledged Twitter app. Let’s dig in. Before you start, you need three things: A developer account on Twitter. (dev.twitter.com) A Twitter app for the API keys and access tokens (apps.twitter.com) The Twitter OAuth PHP class (twitteroauth.com) Download the class to your working folder. Then, create a file called index.php (or whatever you want) and include the Twitter OAuth class like so: require “twitteroauth/autoload.php”; use Abraham\TwitterOAuth\TwitterOAuth; Next, we need to connect to the API: $connection = new

Read More »

PHP cURL Tutorial and Example

A simple PHP cURL tutorial and example. Learn how to use curl_init, curl_setopt, and curl_execute. Also learn how to POST data to a remote URL using cURL. Ready to learn even more PHP? Take my free Beginner’s Guide to PHP video series at http://johnmorrisonline.com/learnphp Get this source code along with 1000s of other lines of code (including for a CMS, Social Network and more) as a supporting listener of the show at http://johnmorrisonline.com/patreon P.S. If you liked the show, give it a like and share with the communities and people you think will benefit. And, you can always find all my

Read More »

PHP 7’s Null Coalescing Operator: How and Why You Should Use It

PHP 7’s null coalescing operator is handy shortcut along the lines of the ternary operator. Here’s what it is, how to use it and why: Ready to learn even more PHP? Take my free Beginner’s Guide to PHP video series at http://johnmorrisonline.com/learnphp Get this source code along with 1000s of other lines of code (including for a CMS, Social Network and more) as a supporting listener of the show at http://johnmorrisonline.com/patreon P.S. If you liked the show, give it a like and share with the communities and people you think will benefit. And, you can always find all my tutorials, source

Read More »

The Thing About PHP 7’s Spaceship Operator

Subscribe So You Never Miss An Episode [saf] May the force be with you… 😉 Unless you’ve been under a rock (which is totally cool if so) you know PHP 7 has been out for a bit now. I finally took some time the other day to fire it up on one of my dev servers and see what all the fuss is about. Online, I’d kept hearing about this “spaceship” operator. This thing’s kind of cool actually. Let me show you. So, here’s a common bit of code you might see pre-PHP7: This is a sorting routine. usort() lets

Read More »

TUTORIAL: How to Build an Advanced Website Template Using PHP and Bootstrap

INSPINIA has sold 29,598 units at $18 a piece. That’s $532,764. SmartAdmin sold 20,136 units at $12 a piece. That’s $241,632. Unify… $321,828. That’s just three of over 800 Bootstrap templates on WrapBootstrap. And that’s just one Bootstrap marketplace. Obviously, people want these things. But, they all have a major problem. One that makes it hard for clients to actually implement on their site, makes updates horrifying and ensures after-launch tweaks are a nightmare. I’ll show you how to fix that problem and turn these basic template into advanced “site-builders” using a little PHP magic. You think maybe you could make

Read More »

TUTORIAL: Submit Online HTML Form to Both MySQL and Email Using PHP

In 2011, online survey giant, SurveyMonkey, acquired Wufoo Forms for 35 million. SurveyMonkey itself does 113 million  a year in revenue. And, it’s valued at nearly 1.35 billion. Both of these services serve a simple purpose: creating online forms. And, they’re not the only players in the market. How much of that market would you need to siphon off to make more money than you probably ever imagined? It’s what I tell developers all the time. Focus on one thing. Get really good at it. Cash in on that one skill until it runs dry. Lather. Rinse. Repeat. So, would

Read More »

PHP Fatal Error [FIX]: Call to a Member Function Fetch_Assoc On a Non-Object

I remember this annoying error like it was yesterday. It always baffled me a bit when I first started learning PHP (I know… N00B!): Fatal error: call to a member function fetch_assoc() on a non-object. It was always the line number that tripped me up. Anyhoo, here’s what’s really going on and how to kill this error dead once and for all: And, if you’d give me a likey-like I’d sure appreciate it! And like I said the source code is available on Patreon for the smart folks who support the show. (You know you wanna join them.) P.S. If you liked the show,

Read More »

3 Ways to Verify an Email Address Using HTML, jQuery and PHP

When you verify an email address, there’s really three things you want to do: Don’t submit the form unless the email address is valid Give hints about what’s wrong and how to fix it Make sure malicious data doesn’t get into your database Well, here’s a handy little snippet that does all three using HTML, jQuery and PHP. Feel free to use this how you need in your projects. And, if you want it you can get the source code as a supporting listener on Patreon. Anyway, here’s the video… see what you think: And, if you’d give ol’ JMO a like I’d

Read More »

The simple secrets to high-paying freelance clients

What makes clients willing to pay $5,000, $10,000 even $20,000 and up for your services? Download and install my mobile app and I’ll show you. It’s free. Just click the button below:

Clients Like:

Inc. Magazine Logo
Lewis Howes Logo
Ray Edwards Logo

WHAT OTHERS ARE SAYING

Jim DeJonge

Jim DeJonge

John has a relaxed and engaging manner. His advice is solid and the explanations are well thought out.

Xan Barksdale

Xan Barksdale

Very professional worker who is extremely knowledgable in WordPress and Wishlist Member. I would definitely hire again.

Lori Grant

John did an outstanding job on my project. I highly recommend him and look forward to working with him on future projects.

Michael Skye

Michael Skye

John is a man of integrity, who gives generously of himself to projects and people he cares about.

Daniel Mohlendick

On the Freelancing on Upwork course: “This is by far the best course i have watched on Skillshare!! Thank you so much.”

Chris Aitken

He significantly improved my site through his expert knowledge of PHP, CSS and Javascript. Would definitely recommend John to others.

Lewis Howes

John is amazing at building membership sites. He converted one of my sites over from it’s existing (hardly working) platform over to the clean and simple to use WishList membership platform. I highly recommend using John and WishList for any of your membership site needs.

Jason Rumley

Jason Rumley

John has a habit of over-delivering on the expectations he sets up. That’s why he’s the best.

Oliver Wainwright

Oliver Wainwright

I’m a fan. I have completed several of John’s courses. I find him very knowledgeable and he has a great delivery.

Ray Edwards

I recommend John every chance I get. If every person I worked with were as committed to excellence, punctuality, value, and unquestionable integrity… the world would be a better place. Highest recommendation.

Bradley Smith

John and I have worked together on numerous projects. John is very quick and efficient and was a pleasure to work with.

Sukh Plaha

John is a fantastic and patient tutor, who is not just able to share knowledge and communicate it very effectively – but able to support one in applying it. However, I believe that John has a very rare ability to go further than just imparting knowledge and showing one how to apply it. He is able to innately provoke one’s curiosity when explaining and demonstrating concepts, to the extent that one can explore and unravel their own learning journey. Thanks very much John!