Hello nice peoples. I have this form that has me puzzled(what me no way).
It works(with needless warnings) if I submit it twice. I know it's a lot
but can you see my error?
-------------------------------------------------
this is code:
<!DOCTYPE HTML><html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body bgcolor="ccffff"><center><b>
<?php
echo "<center>";echo date('m/d/y');echo "</center>";
// define variables and set to empty values
$tenantErr = $unitErr = $rentpaidErr = $datepaidErr = $commentErr = "";
$tenant = $unit = $rentpaid = $hudpay = $datepaid = $comment = "";
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
if (empty($_POST["tenant"])) { $tenantErr = "tenant is required"; }
else {
$tenant = test_input($_POST["tenant"]);
// check if tenant only contains letters and whitespace
if (!preg_match("/^[a-zA-Z-' ]*$/",$tenant)) {
$tenantErr = "Only letters and white space allowed"; }
}
}
if (empty($_POST["unit"])) {
$unitErr = "unit is required";
}
else {
$unit = test_input($_POST["unit"]);
// check if unit only contains letters and whitespace
if (!preg_match("/^[a-zA-Z-' ]*$/",$unit)) {
$unitErr = "Only letters and white space allowed";
}
}
if (empty($_POST["rentpaid"])) {
$rentpaidErr = "rentpaid is required";
}
else {
$rentpaid = test_input($_POST["rentpaid"]);
// check if rentpaid only contains letters and whitespace
if (!preg_match("/^[a-zA-Z-' ]*$/",$rentpaid)) {
$rentpaidErr = "Only letters and white space allowed";
}
}
if (empty($_POST["hudpay"])) {
$hudpayErr = "hudpay is required";
}
else {
$hudpay = test_input($_POST["hudpay"]);
// check if hudpay only contains letters and whitespace
if (!preg_match("/^[a-zA-Z-' ]*$/",$hudpay)) {
$hudpayErr = "Only letters and white space allowed";
}
}
if (empty($_POST["datepaid"])) {
$datepaidErr = "datepaid is required";
}
else {
$datepaid = test_input($_POST["datepaid"]);
// check if datepaid only contains letters and whitespace
if (!preg_match("/^[a-zA-Z-' ]*$/",$datepaid)) {
$datepaidErr = "Only letters and white space allowed";
}
}
if (empty($_POST["comment"])) {
$comment = "";
}
else {
$comment = test_input($_POST["comment"]);
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<h3>Fill in form for rent payment</h3>
<p><span class="error">* required field</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Tenant: <input type="text" name="tenant" value="<?php echo $tenant;?>">
<span class="error">* <?php echo $tenantErr;?></span>
<br><br>
Unit: <input type="text" name="unit" value="<?php echo $unit;?>">
<span class="error">* <?php echo $unitErr;?></span>
<br><br>
Rentpaid: <input type="text" name="rentpaid" value="<?php echo $rentpaid;?>">
<span class="error">* <?php echo $rentpaidErr;?></span>
<br><br>
Hudpay: <input type="text" name="hudpay" value="<?php echo $hudpay;?>">
<span class="error">* <?php echo $hudpayErr;?></span>
<br><br>
Datepaid: <input type="text" name="datepaid" value="<?php echo $datepaid;?>">
<span class="error">* <?php echo $datepaidErr;?></span>
<br><br>
Comment: <textarea name="comment" rows="2" cols="100"><?php echo $comment;?></textarea>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>
<?php
//echo "<h2>Data for Payment:</h2>";
echo $tenant;echo "<br>";
echo $unit;echo "<br>";
echo $rentpaid;echo "<br>";
echo $datepaid;echo "<br>";
echo $comment;echo "<br>";
?>
</b></center></body></html>
-----------------------------------------
this is appearamce of form:
06/02/21
Fill in form for rent payment
* required field
Tenant: *
Unit: * unit is required
Rentpaid: * rentpaid is required
Hudpay: * hudpay is required
Datepaid: * datepaid is required
Comment:
-----------------------------------------
when I fill in the form and submit this is displayed:
06/02/21
Fill in form for rent payment
* required field
Tenant: * Only letters and white space allowed
Unit: * Only letters and white space allowed
Rentpaid: * Only letters and white space allowed
Hudpay: * Only letters and white space allowed
Datepaid: * Only letters and white space allowed
Comment:
tenant5
apt1
530.00
3/8/2021
----------------------------------
It works(with needless warnings) if I submit it twice. I know it's a lot
but can you see my error?
-------------------------------------------------
this is code:
<!DOCTYPE HTML><html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body bgcolor="ccffff"><center><b>
<?php
echo "<center>";echo date('m/d/y');echo "</center>";
// define variables and set to empty values
$tenantErr = $unitErr = $rentpaidErr = $datepaidErr = $commentErr = "";
$tenant = $unit = $rentpaid = $hudpay = $datepaid = $comment = "";
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
if (empty($_POST["tenant"])) { $tenantErr = "tenant is required"; }
else {
$tenant = test_input($_POST["tenant"]);
// check if tenant only contains letters and whitespace
if (!preg_match("/^[a-zA-Z-' ]*$/",$tenant)) {
$tenantErr = "Only letters and white space allowed"; }
}
}
if (empty($_POST["unit"])) {
$unitErr = "unit is required";
}
else {
$unit = test_input($_POST["unit"]);
// check if unit only contains letters and whitespace
if (!preg_match("/^[a-zA-Z-' ]*$/",$unit)) {
$unitErr = "Only letters and white space allowed";
}
}
if (empty($_POST["rentpaid"])) {
$rentpaidErr = "rentpaid is required";
}
else {
$rentpaid = test_input($_POST["rentpaid"]);
// check if rentpaid only contains letters and whitespace
if (!preg_match("/^[a-zA-Z-' ]*$/",$rentpaid)) {
$rentpaidErr = "Only letters and white space allowed";
}
}
if (empty($_POST["hudpay"])) {
$hudpayErr = "hudpay is required";
}
else {
$hudpay = test_input($_POST["hudpay"]);
// check if hudpay only contains letters and whitespace
if (!preg_match("/^[a-zA-Z-' ]*$/",$hudpay)) {
$hudpayErr = "Only letters and white space allowed";
}
}
if (empty($_POST["datepaid"])) {
$datepaidErr = "datepaid is required";
}
else {
$datepaid = test_input($_POST["datepaid"]);
// check if datepaid only contains letters and whitespace
if (!preg_match("/^[a-zA-Z-' ]*$/",$datepaid)) {
$datepaidErr = "Only letters and white space allowed";
}
}
if (empty($_POST["comment"])) {
$comment = "";
}
else {
$comment = test_input($_POST["comment"]);
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<h3>Fill in form for rent payment</h3>
<p><span class="error">* required field</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Tenant: <input type="text" name="tenant" value="<?php echo $tenant;?>">
<span class="error">* <?php echo $tenantErr;?></span>
<br><br>
Unit: <input type="text" name="unit" value="<?php echo $unit;?>">
<span class="error">* <?php echo $unitErr;?></span>
<br><br>
Rentpaid: <input type="text" name="rentpaid" value="<?php echo $rentpaid;?>">
<span class="error">* <?php echo $rentpaidErr;?></span>
<br><br>
Hudpay: <input type="text" name="hudpay" value="<?php echo $hudpay;?>">
<span class="error">* <?php echo $hudpayErr;?></span>
<br><br>
Datepaid: <input type="text" name="datepaid" value="<?php echo $datepaid;?>">
<span class="error">* <?php echo $datepaidErr;?></span>
<br><br>
Comment: <textarea name="comment" rows="2" cols="100"><?php echo $comment;?></textarea>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>
<?php
//echo "<h2>Data for Payment:</h2>";
echo $tenant;echo "<br>";
echo $unit;echo "<br>";
echo $rentpaid;echo "<br>";
echo $datepaid;echo "<br>";
echo $comment;echo "<br>";
?>
</b></center></body></html>
-----------------------------------------
this is appearamce of form:
06/02/21
Fill in form for rent payment
* required field
Tenant: *
Unit: * unit is required
Rentpaid: * rentpaid is required
Hudpay: * hudpay is required
Datepaid: * datepaid is required
Comment:
-----------------------------------------
when I fill in the form and submit this is displayed:
06/02/21
Fill in form for rent payment
* required field
Tenant: * Only letters and white space allowed
Unit: * Only letters and white space allowed
Rentpaid: * Only letters and white space allowed
Hudpay: * Only letters and white space allowed
Datepaid: * Only letters and white space allowed
Comment:
tenant5
apt1
530.00
3/8/2021
----------------------------------