0

I am trying to validate post data in PHP(No Framework) using the method below. But I am wondering if there is a better way.

  • I want to validate data types (String, Integer, Boolean, etc.)
  • I want to check if required values are available and similarly handle optional values.

I made functions such as these:

//Cleansing Data
function clean_input($data)
{
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data);
    $data = mysqli_real_escape_string(conn(), $data);
    return $data;
}

//Checking Optional Values
function nullable_var($post_var)
{
    if (isset($post_var) && clean_input($post_var) !== '') {
        return clean_input($post_var);
    } else {
        return "NULL";
    }
}

//Checking required Values
function required_var($post_var)
{
    if (clean_input($post_var) !== '') {
        return clean_input($post_var);
    } else {
        exit('Required Data is missing');
    }
}


//Checking Data Type(s) 
//Similar functions are available for other types
function int($val)
{
    if ($val == "NULL") {
        return $val;
    } else {
        $val = filter_var($val, FILTER_VALIDATE_INT);
        if ($val === false) {
            exit('Invalid Integer');
        }
        return $val;
    }
}

I am using these while handling post data:

Example: $int_required_value = int(required_var($_POST['int_required_value']));

Dharman
  • 26,923
  • 21
  • 73
  • 125

0 Answers0