How to validate URL in HTML form with PHP

1 Answer

0 votes
<!DOCTYPE HTML>
<html>
<head>
<style>
.error_message {color: #FF0000;}
</style>
</head>
<body>
<?php
$err_msg = "";
$url = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") 
{
    if (empty($_POST["url"])) 
    {
        $url = "";
    } 
    else 
    {
        $url = clean_input($_POST["url"]);
        // check if URL is valid
        if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $url)) 
        {
            $err_msg = "Invalid URL";
        }
        else
            $err_msg = "";
   }
}
function clean_input($data) 
{
   $data = trim($data);
   $data = stripslashes($data);
   $data = htmlspecialchars($data);
   
   return $data;
}
?>
<h3>Form Validation With PHP</h3>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
   URL: <input type="text" name="url">
   <span class="error_message">* <?php echo $err_msg;?></span>
   <br /><br />
   <input type="submit" name="submit" value="Submit">
</form>
<?php
echo "URL = " . $url;
?>
</body>
</html>

 



answered Nov 24, 2015 by avibootz
edited Nov 24, 2015 by avibootz

Related questions

2 answers 292 views
292 views asked Nov 19, 2018 by avibootz
1 answer 211 views
1 answer 197 views
2 answers 4,766 views
...