How many ways are there to output HTML using PHP

The con, the cat and t’e nation!

Have you heard of concatenation?

No?

Stay with me if you haven’t!

According to wikipedia:

String concatenation is the operation of joining character strings end-to-end. For example, the concatenation of “snow” and “ball” is “snowball”.

Concatenation is an import concept in PHP for outputting HTML. Also used in many other programming languages.

In this tutorial you will learn the many ways PHP can generate and output HTML to the browser.

So your users can view your pages.

There are many ways to output HTML to the browser.

As once you want to output variables and data from your database in well formatted HTML, single quotes and double quotes can cause all kinds of strange problems in rendering the HTML page in the browser if they aren’t coded correctly.

HTML output examples:

1) Straight HTML

Outside of your PHP tags, you simply output straight HTML like this

<?php // Some PHP Code ?>
<p>Hello World</p>
<?php// PHP Code continued... ?>

2) Straight HTML echoed out as string from PHP

Inside your PHP tags, you can output straight HTML like this

<?php
echo "<p>Hello World</p>";
?>

3) Straight HTML echoed out as string from PHP (single quotes within double quotes)

If your HTML needs attribute value pairs, as in the example giving the font a color of red with a style attribute. Then you will need quotes within quotes. In the first line of code, I’m using single quotes within the double quotes of the string.

An alternative is to escape the quotes with a backslash as show in the second line of code. Then you can use double quotes within double quotes. There is a good reason for needing to do this which we will come to in later example.

The first line is definitely easier to read in my opinion.

<?php
echo "<p style='color: red;'>Hello World</p>";
// Alternatively escaping the quotes
echo "<p style=\"color: red;\">Hello World</p>";
?>

4) Straight HTML echoed out as string from PHP (double quotes within single quotes)

As in example 3 above you can use quotes within quotes, but this time the quotes are reversed with the double quotes on the inside.

An alternative is to escape the quotes with a backslash as show in the second line of code. Then you can use single quotes within single quotes.

<?php
echo '<p style="color: red;">Hello World</p>';
// Alternatively escaping the quotes
echo '<p style=\'color: red;\'>Hello World</p>';
?>

5) Concatenating a variable with two strings

Here we take a string variable and concatenate with two other strings of the opening and closing paragraph tags.

<?php
// Create a string variable
$my_message = "Hello World";
// Echo out the paragraph tags, concatenating the string in between them
echo "<p>". $my_message ."</p>";
?>

6) Using an array to output a string within a foreach loop

Inside your PHP tags, you can output straight HTML like this

<?php
// Create a string variable
$test = "Hello World";
// Split the string into an array, each letter will be an item in the array
$arr = str_split($test);
// Echo the opening paragraph tag
echo "<p>";
// Loop through the array
foreach ($arr as $a)
{
// Echo each item
echo $a;
}
// Echo the closing paragraph tag
echo "</p>";
?>

7) Using a function to output HTML

Inside your PHP tags, you can output straight HTML like this by calling a function.

<?php
// Function to return a string
function fnOutput()
{
return "Hello World";
}
// Echo the opening paragraph tag
echo "<p>";
// Call the function
echo fnOutput();
// Echo the closing paragraph tag
echo "</p>";
?>

So there are 7 different ways of outputting HTML to the browser.

Are there more? For sure and I will add more to this list.

Please take the above examples and use them to practice with.

If you think you’ve got some better examples, let me know.

How to access PHP session variables from another PHP page

​​

One of my subscribers sent me an email asking me about problems he was having with sessions.

He had already created a session variable in one PHP file.

Now he had a second PHP and wanted to access the session variable in it.

However he was struggling to access his session variable.

He found the only way to access it, was by including the first PHP file in the second PHP file.

This is a common problem which seems extremely frustrating.

A session and it’s variables should be shared with all the PHP pages in your project right?

The session is, but you need to know how to access the session and it’s variables in another PHP page.

So I asked him if he had called the PHP function session_start()

Calling this function is necessary in every PHP page where you want to use a session variable.

The session_start() function will either resume an existing PHP session or start a new one if there isn’t one existing already.

He responded back to me after updating his php code with the call to the session_start() function.

After updating his code he was able to access his session variable in his second PHP page, without including the first PHP file.

So every time you need to access a PHP session variable don’t forget you need to call session_start() first.

If this post helped you please subscribe and save yourself more development time with my helpful PHP web development tips delivered to your inbox weekly.

How to use PDO to UPDATE data in MySQL using PHP

You need to get data safely updated from a web page to a MySQL table in your database

You need to sanitize that data from user input and protect against SQL injections.

The following simple example will show you how to accomplish that.

These are the ingredients you will need:

  1. A MySQL database
  2. A table to store the data in the above database
  3. The credentials to above (the host location, username and password)
  4. Which you can use to create a connection in your PHP page
  5. A form with fields to input the data
  6. A way to sanitize the data
  7. Safely update the data

What if you don’t have all of the above set-up?

Don’t worry at the end will be a link to example PHP source code along with the SQL statements to create the database and table.

PHP PDO (PHP Data Objects) makes it very easy to UPDATE data from your table.

First, to connect to the database with PDO is very simple:

$dbh = new PDO('mysql:host=localhost;dbname='. $db_name, $db_username, $db_password);

The above line creates a connection and stores it in the $dbh variable as an object

That variable can then be used to save the data using an UPDATE statement:

$stmt = $dbh->prepare('UPDATE makes SET make = :make WHERE id = :id');

This prepares a statement which we can then bind the make parameters safely too, protecting against SQL injections.

We use PHP’s filer_input() function to santize the data coming from the input fields POSTed to the server from our form:

$id = filter_input(INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT);
and
$make = filter_input(INPUT_POST, 'make', FILTER_SANITIZE_STRING);
Then using the bindParam() function we can bind the $id variable into the statement:
$stmt->bindParam(':id', $id, PDO::PARAM_INT);

Then the $make variable can also be bound to the prepared statement:

$stmt->bindParam(':make', $make, PDO::PARAM_STR);

Then the statement is executed to run the prepared SQL statement, resulting in the record being updated in the table:

$stmt->execute()

These are the key lines to connect to the database. Sanitize the data and UPDATE the data in the database.

Of course the above code lines don’t show the HTML need to make the form and input fields.

You can find that here on github as a simple PHP PDO CRUD Demo. Please download / fork the code and try it out.

The demo is a simple CRUD example of using PHP, PDO and MySQL to display a list of car makes

This post is a part of a series, you can read more about viewing the data with PDO here

How to use PDO to DELETE data from MySQL using PHP

You need to delete data safely from a web page and your MySQL table in your database

You need to sanitize that data from user input and protect against SQL injections.

The following simple example will show you how to accomplish that.

These are the ingredients you will need:

  1. A MySQL database
  2. A table to store the data in the above database
  3. The credentials to above (the host location, username and password)
  4. Which you can use to create a connection in your PHP page
  5. A list of records displaying your data
  6. A way to select and delete a record
  7. Safely delete the data

What if you don’t have all of the above set-up?

Don’t worry at the end will be a link to example PHP source code along with the SQL statements to create the database and table.

PHP PDO (PHP Data Objects) makes it very easy to DELETE data from your table.

First, to connect to the database with PDO is very simple:

$dbh = new PDO('mysql:host=localhost;dbname='. $db_name, $db_username, $db_password);

The above line creates a connection and stores it in the $dbh variable as an object

That variable can then be used to delete the data using a DELETE statement:

$stmt = $dbh->prepare('DELETE FROM makes WHERE id = :id');

This prepares a statement which we can then bind the id parameter safely too, protecting against SQL injections.

We use PHP’s filer_input() function to santize the data and make sure it’s an integer. The GET parameter comes from the query string in the URL of the delete.php page:

$id = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT);

The $id variable can then be bound to the prepared statement:

$stmt->bindParam(':id', $id, PDO::PARAM_INT);

Then the statement is executed to run the prepared SQL statement, resulting in the record being deleted from the MySQL database table:

$stmt->execute()

These are the key lines to connect to the database. Sanitize the query string variable and DELETE the record in the database.

Of course the above doesn’t show the HTML need to make the form and input field.

You can find that here, on github as a simple PHP PDO CRUD Demo. Please download / fork the code and try it out.

The demo is a simple CRUD example of using PHP, PDO and MySQL to display a list of car makes

This post is a part of a series, you can read more about viewing the data with PDO here. Which generates the delete link to delete.php

How to use PDO to INSERT data into MySQL using PHP

You need to get data safely from a web page to a MySQL table in your database

You need to sanitize that data from user input and protect against SQL injections.

The following simple example will show you how to accomplish that.

These are the ingredients you will need:

  1. A MySQL database
  2. A table to store the data in the above database
  3. The credentials to above (the host location, username and password)
  4. Which you can use to create a connection in your PHP page
  5. A form with fields to input the data
  6. A way to sanitize the data
  7. Safely insert the data

What if you don’t have all of the above set-up?

Don’t worry at the end will be a link to example PHP source code along with the SQL statements to create the database and table.

PHP PDO (PHP Data Objects) makes it very easy to INSERT data from your table.

First, to connect to the database with PDO is very simple:

$dbh = new PDO('mysql:host=localhost;dbname='. $db_name, $db_username, $db_password);

The above line creates a connection and stores it in the $dbh variable as an object

That variable can then be used to save the data using an INSERT statement:

$stmt = $dbh->prepare("INSERT INTO makes (make) VALUES (:make)");

This prepares a statement which we can then bind the make parameter safely too, protecting against SQL injections.

We use PHP’s filer_input() function to santize the data coming from the input field POSTed to the server from our form:

$make = filter_input(INPUT_POST, 'make', FILTER_SANITIZE_STRING);

The $make variable can then be bound to the prepared statement:

$stmt->bindParam(':make', $make, PDO::PARAM_STR);

Then the statement is executed to run the prepared SQL statement, resulting in the record being added to the table:

$stmt->execute()

These are the key lines to connect to the database. Sanitize the data and INSERT in the database.

Of course the above doesn’t show the HTML need to make the form and input field.

You can find that here though on github as a simple PHP PDO CRUD Demo. Please download / fork the code and try it out.

The demo is a simple CRUD example of using PHP, PDO and MySQL to display a list of car makes

This post is a part of a series, you can read more about viewing the data with PDO here

How to use PDO to SELECT data from MySQL using PHP example

You have a MySQL table of data in your database, you want to display it on a webpage, so it can be displayed and viewed by other people.

You need to have a few things in order to accomplish this:

  1. A MySQL database
  2. A table containing data in the above database
  3. The credentials to above (the host location, username and password)
  4. Which you can use to create a connection in your PHP page
  5. A way to iterate through the records so they can be echoed out
  6. The table field names so we can display them on the page

What if you don’t have all of the above set-up?

Don’t worry at the end will be a link to some example PHP source code along with the SQL statements to create the database and table.

PHP PDO (PHP Data Objects) makes it very easy to SELECT data from your table.

To connect to the database with PDO is very simple:

$dbh = new PDO('mysql:host=localhost;dbname='. $db_name, $db_username, $db_password);

The above line creates a connection and stores it in the $dbh variable as an object

That variable can then be used to retrieve the records using a SELECT statement:

foreach($dbh->query('SELECT * FROM makes ORDER BY make ASC') as $row) {

This allows us to use the resulting rows of data returned by the query.

Using the field names from the database table, we can output the data with an echo statement:

echo "<td>". $row['make'] ."</td>";

After we’ve finished, set the variable to null to free up the connection:

$dbh = null;

So with the above few lines of code, we can connect to the database. Retrieve the data and output it.

To make everything look good, we need a few more lines of code to create a table.

The full source code is available here on github as a simple PHP PDO Crud Demo.

The demo is a simple CRUD example of using PHP, PDO and MySQL to display a list of car makes

How to check an email address is valid when a form is submitted to your PHP code?

How to check an email address is valid when a form is submitted to your PHP code?

You have a form on your website and you are collecting email addresses

You want to make sure they are valid email addresses, so that you can make use of them

Whether you are replying to a customer inquiry

Or using the email addresses for a marketing mailing list

How do you make sure they are valid email addresses?

First, you can validate them client-side in the browser, before the form is submitted to your server

With HTML5 you can define the input field type as email and make it a required field, like this:

<input type="email" name="email" required>

Note that most of the frequently used browsers will support the above functionality.

Then once your form is submitted you can use this PHP code, to make sure that submitted email address is really valid:


// Grab the POSTed email address input field
$email = $_POST['email'];

// Use filter_var to check if the email address is valid
if (filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
echo("$email is not a valid email address");
} else {
echo("$email is a valid email address");
}

For a bare bones code sample, demonstrating the above you can find it below:

How to hire a developer when you don’t know code at all

Need a developer for your startup and don’t know where to start?

Hiring a developer can be daunting without technical knowledge.

I don’t know code at all.

Even with technical knowledge, are you aware of all the latest trends and platforms?

What kind of developer should I be hiring?

Wondering what the difference is between a front end developer and a back end developer?

Or maybe you need a full stack developer?

How do I know I’m getting what I pay for is good?

If you or your company doesn’t have the technical knowledge. You need to find someone who does.

An independent consultant can asses your needs and offer you valuable recommendations.

Saving you wasted time and money, putting you on the right track to hiring the right skills or the right developer.

If you found the above helpful, please subscribe below for more help direct to your inbox!

How to join a table many times in a single SQL query statement?

Having more than one join to the same table within a query can be confusing.

More than one join can create a messy SQL statement.

If you don’t use aliases they can be difficult to read.

If your database tables need to have many columns with the same relationship to another table. You can join them with aliases in a single efficient query.

Need a working example, with sample SQL statements? Check out my other post: How to join the same table twice in a single SQL query statement?

For more about MySQL please check out the MySQL terminology guide

Interested in more SQL tips? Please subscribe in the box below, for a weekly update of my newest posts every Tuesday!

How to get started with PHP as a complete newbie

How do you get started with PHP as a complete newbie?

A common question that I get asked is

How do I get started with PHP?

The following is a simple recipe to get you started with PHP.

You’ll need the following basic ingredients for success:

  • A reasonably modern computer running Windows
  • A text editor, notepad for example
  • A web browser, like Chrome or Firefox

Then follow these instructions to cook up your first “hello world” PHP page:

  1. Setup a local webserver on your computer, by installing WAMPSERVER – download from here
  2. Once installed, right click on the WAMPSERVER icon in your Sys Tray and click on “www directory”.
  3. Create a new folder called “Project1”
  4. Enter the folder
  5. Create a new file, called index.php
  6. Edit the file with your text editor, notepad will do
  7. Enter the following code into the file, or copy and paste from here:
  8. <?php echo "Hello World!";
  9. Save the file
  10. Open your web browser and navigate to this URL: http://localhost/Project1
  11. You should see a page with the text “Hello World!” displayed in it
  12. Congratulations you’ve successfully made your first PHP page!