Skip to content

Instantly share code, notes, and snippets.

@a-mishra
Last active September 16, 2018 04:33
Show Gist options
  • Select an option

  • Save a-mishra/9eccbb015bbfb01cc0095209182a61b2 to your computer and use it in GitHub Desktop.

Select an option

Save a-mishra/9eccbb015bbfb01cc0095209182a61b2 to your computer and use it in GitHub Desktop.
form with basic validations
<?php
//form.php -- test form
$name = $email = $website = $comment = $gender = $data = "";
$err_name = $err_email = $err_website = $err_comment = $err_gender = "";
$err_data = false;
?>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST' /*&& $_POST['submit'] != NULL*/) {
// code...
/*name text
email email
wesite url
comment textarea
gender radiobutton
submit -- to a same page an display submitted info after successful submisson*/
function clean_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
if (empty($_POST['name'])) {
$err_name = "Name is required";
$err_data = true;
} else {
$name = clean_input($_POST['name']);
if (!preg_match("/^[a-zA-Z\ ]*$/",$name)) {
$err_name = "Only character and White space allowed";
$err_data = true;
}
}
if (empty($_POST['email'])) {
$err_email = "Email is required";
$err_data = true;
} else {
$email = clean_input($_POST['email']);
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
$err_email = "Invalid Email Address";
$err_data = true;
}
}
if (empty($_POST['gender'])) {
$err_gender = "Gender is required";
$err_data = true;
} else {
$gender = clean_input($_POST['gender']);
}
if (empty($_POST['website'])) {
} else {
$wesite = clean_input($_POST['Website']);
if(!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $website)){
$err_website = "Invalid URL";
$err_data = true;
}
}
$comment = clean_input($_POST['comment']);
} else {
// code...
}
?>
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title><?php echo ($_SERVER['PHP_SELF']); ?></title>
<style media="screen">
.row{
}
</style>
</head>
<body>
<?php echo ($_SERVER['PHP_SELF'])."<hr>"; ?>
<?php echo ($_SERVER['SCRIPT_NAME'])."<hr>"; ?>
<?php echo dirname($_SERVER['PHP_SELF'])."<hr>"; ?>
<form class="form" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
<?php
/*
name test
email email
wesite url
comment test
gender radiobutton
submit -- to a same page an display submitted info after successful submisson
*/ ?>
<legend>
Feedback
</legend>
<div class="row">
Name : <span><input type="text" name="name" value="<?php if(isset($_POST['name']) && $err_data){ echo $_POST['name'];} ?>" placeholder="your good name please" size="30"></input></span> <span class="error"> * <?php echo $err_name ?></span>
</div>
<div class="row">
Email : <span><input type="text" name="email" value="<?php if(isset($_POST['email']) && $err_data){ echo $_POST['email'];} ?>" placeholder="x.y_z@abc.com" size="30"></input></span> <span class="error"> * <?php echo $err_email; ?> </span>
</div>
<div class="row">
Website : <input type="text" name="website" value="<?php if(isset($_POST['website']) && $err_data){ echo $_POST['website'];} ?>" placeholder="please provide your website (if any)" size="30"></input> <span class="error"> <?php echo $err_website; ?> </span>
</div>
<div class="row">
Comment : <textarea name="comment" rows="5" cols="30" placeholder="your Valuable comments"><?php if(isset($_POST['comment']) && $err_data){ echo $_POST['comment'];} ?></textarea>
</div>
<div class="row">
Gender : <span> <input type="radio" name="gender" value="Male" <?php if( $_POST['gender'] == "Male" && isset($_POST['gender']) && $err_data){ echo "checked";} ?>> </input> Male</span>
<span> <input type="radio" name="gender" value="Female" <?php if( $_POST['gender'] == "Female" && isset($_POST['gender']) && $err_data){ echo "checked";} ?> ></input> Female </span>
<span> <input type="radio" name="gender" value="Other" <?php if( $_POST['gender'] == "Other" && isset($_POST['gender']) && $err_data){ echo "checked";} ?> ></input> Other </span>
<span class="error"> * <?php echo $err_gender; ?></span>
</div>
<div class="button">
<input type="submit" name="submit" value="submit">
</div>
</form>
<div class="output">
<div class="h2">
Your input is : </br>
</div>
<?php
echo $name."</br>";
echo $email."</br>";
echo $website."</br>";
echo $comment."</br>";
echo $gender."</br>";
?>
&copy 2018<?php if (date(Y)!=="2018")echo "-".date(Y); ?>
</div>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment