Image for post
Image for post

My latest mini-side project is a Chrome Extension that adds two additional methods to search: one via the search bar and one in the right click menu.

Similar to my “Search Funnel” Chrome Extension (also an app for Android and iOS), this saves you the step of visiting the website prior to searching.

Enhanced Search Bar (Feature 1 of 2)

This targets those who prefer keyboard shortcuts and minimize mouse usage.

Pro Tip: the keyboard shortcut to go to the search bar is Ctrl + L (Windows) or Command + L (Mac)

In the search bar, simply type two periods (“..”) and then hit space.

Image for post
Image for post

I previously wrote a tutorial on creating a simple PHP Contact form; this is Part 2 of 2 where I go over some more advanced techniques.

Issue: Who is the email from?

So far we can send an email, but it comes “from” whatever the default configuration was set up as. By this, I mean that the e-mail may come from While this is functional, we can change who the email comes “from”. This serves two purposes:

  1. Less of a chance it will end up in spam/junk
  2. It’s more professional if you use this code to email your users (and not just yourself)

The PHP mail() function accepts an optional parameter called “headers”. Use this code, of course changing the appropriate content for your…

Image for post
Image for post

This is a basic tutorial will show you how to create a Contact Form for your website that will send you an email. This is commonly used to collect feedback from users without them having to open their email client manually to send you an email. In this example, we’ll be coding in PHP.

Note: if you’re looking for a WordPress solution, I instead recommend using the plugin “Contact Form 7”. My tutorial is for those who want to type PHP code.

We need two web pages:

  1. The page where a user can enter data in (ex. …

Image for post
Image for post
Screen recording above is in slow motion to demonstrate the concept

Using a sequence of keyboard shortcuts to copy a formula across multiple rows/columns in Excel- instead of a mouse- is the greatest time saver I have.

My most common use-case is when I have a formula at the top right of my data that I need to paste it downwards, filling all cells in the right-most column. While this can be done with the mouse, I find it faster to use keyboard shortcuts.

In this example, I will assume the formula in Cell C2 needs to be copied down to through Cell C7:

You can get the last cell in Excel using the following line of VBA code:


However if your dataset was modified (specifically, if you deleted rows), then doing that won’t get the right value. It’ll return what the value was before the data was modified.

Instead, I use the script below.

Get the Count of Rows

I often need to loop through the entire dataset. I first select Cell A1, and then I continue down to the next row until there’s a blank. …

Image for post
Image for post

When I was first starting to write PHP, most tutorials I found placed the HTML output inside of the PHP. It’ll have an entire block of code that is only PHP, and it prints out HTML (and CSS and JavaScript for that matter).

There’s a better way though.

Take a look at lines 1 to 15 below. It does the same as lines 20–32:

The second section is easier to read (and write!).

A web server ultimately evaluates all of the code and prints out HTML. It doesn’t matter if you write the HTML in, or out, of the <?php … ?>

A best practice in how to organize your PHP files.

Image for post
Image for post
Final output of what we’ll be making

A friend of mine needed a PHP template, where he can easily modularize different parts of this site. By this, I mean he’d have a separate file for the “navigation” and he can just include that file in his code where he wants it to appear. Same thing for the “footer” and other aspects of the site.

As mentioned in my book on PHP, there are two common methods I use:

- “including” files where needed

- creating a PHP function, and calling that as needed

My book goes through the second (“function”) approach, however for this example of a simple site, I thought the first (“include”) approach would be better. …

Image for post
Image for post

I just finished reading The One Thing by Gary Keller. While there were a lot of quote-worthy phrases, here are my top 5:

“… not everything matters equally; some things matter more than others- a lot more.” (Page 38)

“You can do two things at once, but you can’t focus effectively on two things at once.” (Page 49)

“None of us knows our limits… No one knows their ultimate ceiling for achievement, so worrying about it is a waste of time.” (Page 86)

“In fact, it would be accurate to say that we fail our way to success. When we fail, we stop, ask what we need to do to succeed, learn from our mistakes, and grow. Don’t be afraid to fail.” …

The part you already know

It’s obvious that you need to “sanitize” (validate) user input variables. Never trust user input! If you’re expecting a number, make sure the user didn’t enter in alpha characters. Hackers (and clever web people) can “fake” an input into your form — even if you have JavaScript validation or use HTML inputs such as a combo box, you need to always validate what the user is trying to insert into your database to avoid SQL injection attacks.

The part I recently learned

I made an e-commerce that went through a PCI compliance audit (making sure the website is safe and secure, since we’re collecting credit card information). …

I wanted to toggle the visibility of an HTML element using the data attribute. Sure, I could have used a class or the id of the element, but because the purpose of the JavaScript had nothing to do with the visual design (i.e. style), I wanted to add a data-* element and target it that way.

Basically you have to give the HTML element (ex. a DIV ) an attribute that begins with data-. In the example below, I have an element that looks like:

<input type="button" data-visibilityItem="btn-directory-details" />

And another one like this:

<div data-visibilityItem="directory-details"></div>

Upon clicking a button, I wanted to hide the button, and show the details. I have this JavaScript code, using jQuery to hide/show the elements:


Steve Sohcot

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store