Last active
September 16, 2018 04:33
-
-
Save a-mishra/9eccbb015bbfb01cc0095209182a61b2 to your computer and use it in GitHub Desktop.
form with basic validations
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?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>"; | |
| ?> | |
| © 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