开发者

Validate Empty / Radio Fields - Php

开发者 https://www.devze.com 2023-02-09 16:03 出处:网络
<?php $name = $_POST[\"name\"]; $email = $_POST[\"email\"]; $gender = $_POST[\"gen\"]; $age = $_POST[\"age\"];
<?php 
$name = $_POST["name"];
$email = $_POST["email"];
$gender = $_POST["gen"];
$age = $_POST["age"];
$comments = $_POST["comments"];

if(empty($_POST["name"])){
echo "empty name";
}
if(empty($_POST["email"])){
echo "empty email";
}

///
if(empty($_POST["gen"])){
echo "empty gender";
}
if(empty($_POST["comments"])){
echo "empty comments";
}

if(!isset($_POST['submit'])) { 
?>

<html>
<head>
<title>Lab6 : P1</title>
</head>

<body>
<fieldset>
<legend><h4>Enter your information in the fields below</h4></legend>
<form name="info" method="post" action="<?php echo $PHP_SELF;?>" method="post">
<strong>Name:</strong> <input type="text" name="name" id="name" /><br>
<strong>Email:</strong> <input type="text" name="email" id="email" /><br>
<br>
<strong>Gender</strong><br>
<input type="radio" name="gen" value="Male">Male</input><br>
<input type="radio" name="gen" value="Female">Female</input><br>
<br>
<select name="age">
<option value="Under 30">Under 30</option><br>
<option value="Between 30 and 60">Between 30 and 60</option><br>
<option value="60+">60+</option>
</select>
<br>
Comments: <textarea name="comments" cols="20" rows="5"> </textarea>
</fieldset>
<input type="submit" name="submit" value="Submit my Information" />
</form>
</body>
</html>
<?
} 

else { 
echo "Thank you, ".$name." for your comments: " . "<strong>" . $comments . "</strong>";
echo "<br>We will reply to you at:" . "<em>" 开发者_Go百科. $email . "</em>";
}

?>

I need it to validate the fields: name, email, comments for empty strings (not allowed) and not allow unselected radio buttons for gender and age selection.

Can anyone help


<?php

// to eventually re-fill the fields
$name = "";
$email = "";
$gender = "";
$age = "";
$comments = "";

// to re-select a radio button and select option
$Mchecked = "";
$Fchecked = "";
$selectMinus_30="";
$select30_to_60="";
$select60_plus="";

// to display errors
$error = "";

$done=false;

if (isset($_POST["name"]) && isset($_POST["email"]) && isset($_POST["age"])){
    if($_POST["name"]==""){
    $error = "empty name <br/>";
    }

    if($_POST["email"]==""){
    $error = $error . "empty mail <br/>";
    }

    if(!isset($_POST["gen"])){
    $error = $error . "empty gender <br/>";
    }
    else{
        $gender = $_POST["gen"];
        if ($gender == "Male"){
            $Mchecked = "checked";
        }
        else if ($gender == "Female"){
            $Fchecked = "checked";
        }
    }

    if($_POST["comments"]==""){
    $error = $error . "error: empty comments <br/>";
    }


    $name = $_POST["name"];
    $email = $_POST["email"];
    $comments = $_POST["comments"];

    $age = $_POST["age"];
    if ($age == "Under 30"){
        $selectMinus_30 = "selected";
    }
    else if ($age == "Between 30 and 60"){
        $select30_to_60 = "selected";
    }
    else if ($age == "60+"){
        $select60_plus = "selected";
    }

    if ($error==""){
        $done=true;
    }
}
?>

<html>
<head>
<title>Lab6 : P1</title>
</head>

<body>

<?php if (!$done){ ?>
    <fieldset>
    <legend><h4>Enter your information in the fields below</h4></legend>
    <p class="error" style="color:red;"><?php echo $error;?></p>
    <form name="info" method="post" action="<?php echo $_SERVER["PHP_SELF"];?>" method="post">
    <strong>Name:</strong> <input type="text" name="name" id="name" value="<?php echo $name; ?>" /><br/>
    <strong>Email:</strong> <input type="text" name="email" id="email" value="<?php echo $email; ?>" /><br/>
    <br/>
    <strong>Gender</strong><br/>
    <input type="radio" name="gen" value="Male" <?php echo $Mchecked;?>>Male</input><br/>
    <input type="radio" name="gen" value="Female" <?php echo $Fchecked;?>>Female</input><br/>
    <br/>
    <select name="age" value="<?php echo $age;?>">
    <option value="Under 30" <?php echo $selectMinus_30;?>>Under 30</option><br/>
    <option value="Between 30 and 60" <?php echo $select30_to_60;?>>Between 30 and 60</option><br/>
    <option value="60+" <?php echo $select60_plus;?>>60+</option>
    </select>
    <br/>
    Comments: <textarea name="comments" cols="20" rows="5"><?php echo $comments; ?></textarea>
    </fieldset>
    <input type="submit" name="submit" value="Submit my Information" />
    </form>
<?php }else{
    echo "Thank you, ".$name." for your comments: " . "<strong>" . $comments . "</strong>";
    echo "<br/>We will reply to you at:" . "<em>" . $email . "</em>";
 } ?>

</body>
</html>

Here I did proper validation, and also re-fill the form when you submit with any empty field.


P.S. Thank you Marc B , I didn't realize that my first post was aweful.

0

精彩评论

暂无评论...
验证码 换一张
取 消