Examples of PHP error handling


Here we will discuss PHP error handling with hands-on examples. Methods covered here are - using or die() statement, using trigger_error() function, using boolean flags and using PEAR_Error object.

Using "or die()" statement  

We will create an HTML form and upon submitting values, we are going to check if the Name field contains alphabetical values and Phone field contains numerical values, failing these, error messages are generated using die(). This is the HTML form: 

<!DOCTYPE html>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="content-type" />
  <title>using or die() statement</title>
  <style type="text/css">
li {
list-style-type: none;
<form name="w3rform" method="post"
    <li><input name="name" type="text" /></li>
    <li><input name="phone" type="text" /></li>
    <li><input name="submit" value="submit"
 type="submit" /></li>

Here is the PHP code (using-die.php)  for error checking.

$name = $_POST['name'];
$phone = $_POST['phone'];
if (isset($_POST['submit']))
if (is_numeric($name))//checking if the value is numeric
 die("Name must not be numeric!");//error message if the value is numeric
echo "<br />Name entered is:".$_POST['name'];
if (!is_numeric($phone))//checking if the value is not numeric
 die("<br />Phone no must be numeric!");//error message if the value is not numeric
echo "<br />Phone No is:".$_POST['phone'];

Previous: Installation and runtime configuration
Next: Error handling functions debug_backtrace()

PHP: Tips of the Day

PHP: How to convert string to boolean?

Strings always evaluate to boolean true unless they have a value that's considered "empty" by PHP (taken from the documentation for empty):

  1. "" (an empty string);
  2. "0" (0 as a string)

If you need to set a boolean based on the text value of a string, then you'll need to check for the presence or otherwise of that value.

$test_mode_mail = $string === 'true'? true: false;

EDIT: the above code is intended for clarity of understanding. In actual use the following code may be more appropriate:

$test_mode_mail = ($string === 'true');

or maybe use of the filter_var function may cover more boolean values:

filter_var($string, FILTER_VALIDATE_BOOLEAN);

filter_var covers a whole range of values, including the truthy values "true", "1", "yes" and "on".

Ref : https://bit.ly/33SQ3eP