pregmatch for name field not working in validation
Code:
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST" and !empty($_POST["name"]) and isset($_POST['state']) and ($_POST['state'] !== 'NULL') and isset($_POST['city']) and $_POST['city'] !== 'NULL'){
header('location:sucess.php');
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
<?php
// define variables and set to empty values
$nameErr = "";
$name = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "Name is required";
} else {
$name = test_input($_POST["name"]);
// check name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$nameError = "Only letters and white space allowed";
}
}
if(isset($_POST['state'])) {
if($_POST['state'] == 'NULL') {
echo '<p>Please select state.</p>';
} }
if(isset($_POST['city'])) {
if($_POST['city'] == 'NULL') {
echo '<p>Please select city.</p>';
}
}
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<fieldset>
<legend>Please select a state</legend>
<select name="state">
<option value="NULL">-- Please select a state --</option>
<option value="Member" <?php if(isset($_POST['state']) && $_POST['state']=="Member") { ?>selected<?php } ?>>Member</option>
<option value="New" <?php if(isset($_POST['state']) && $_POST['state']=="New") { ?>selected<?php } ?>>New</option>
<option value="one" <?php if(isset($_POST['state']) && $_POST['state']=="one") { ?>selected<?php } ?>>one</option>
</select>
<select name="city">
<option value="NULL">-- Please select a state --</option>
<option value="Member" <?php if(isset($_POST['city']) && $_POST['city']=="Member") { ?>selected<?php } ?>>Member</option>
<option value="New" <?php if(isset($_POST['city']) && $_POST['city']=="New") { ?>selected<?php } ?>>New</option>
<option value="one" <?php if(isset($_POST['city']) && $_POST['city']=="one") { ?>selected<?php } ?>>one</option>
</select>
<input type="text" name="phone">
<input type="tel" name="name" id="name" value="<?php echo isset($_POST["name"]) ? $_POST["name"] : ''; ?>"> <?php echo $nameErr;?>
<input type="submit" name="submit" value="submit">
</fieldset>
</form>
</body>
</html>