php - 未定义的索引错误PHP,验证不起作用
问题描述
在将公司详细信息添加到数据库之前,我正在验证一个表单,但我不断收到一个未定义的错误,并且在一个小时没有取得任何进展后我放弃了。数据验证似乎也不起作用,但无论它是否通过验证,数据仍然会插入到数据库中。任何帮助将不胜感激!
表单页面:
<?php
$comName_err = $comAddress_err = $comProvince_err = $comCity_err = $comZIP_err = $comStatus_err = $comChecked_err = "";
$comName_err = $_SESSION['comName'];
$comProvince_err = $_SESSION['comProvince'];
$comAddress_err = $_SESSION['comAddress'];
$comCity_err = $_SESSION['comCity'];
$comStatus_err = $_SESSION['comStatus'];
$comZIP_err = $_SESSION['comZIP'];
$comGridCheck_err = $_SESSION['comCheck'];
?>
...
<form class="needs-validation" method="post" name="addcom" action="auth_company.php" novalidate accept-charset="utf-8">
<div class="form-row">
<div class="form-group col-md-6">
<label for="companyname">Company Name</label>
<p style="font-size:14px; color:red;"><?php echo $comName_err ?></p>
<input type="text" class="form-control" name="name" placeholder="Company Name" required>
</div>
<div class="form-group col-md-6">
<p style="font-size:14px; color:red;"><?php echo $comProvince_err ?></p>
<label for="password">Province</label>
<select name="province" class="form-control" required>
<option value="" selected>Choose Province...</option>
<option value="Limpopo">Limpopo</option>
<option value="Gauteng">Gauteng</option>
</select>
</div>
</div>
<div class="form-group">
<label for="address">Address</label>
<p style="font-size:14px; color:red;"><?php echo $comAddress_err ?></p>
<input type="text" class="form-control" name="address" placeholder="1234 Main St, Unit, Building, or Floor" required>
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="city">City</label>
<p style="font-size:14px; color:red;"><?php echo $comCity_err ?></p>
<input type="text" class="form-control" name="city" placeholder="City" required>
</div>
<div class="form-group col-md-4">
<label for="state">Company Status</label>
<p style="font-size:14px; color:red;"><?php echo $comStatus_err ?></p>
<select name="status" class="form-control" required>
<option value="" selected>Choose...</option>
<option value="Active">Active</option>
<option value="InActive">InActive</option>
</select>
</div>
<div class="form-group col-md-2">
<label for="zip">Zip code</label>
<p style="font-size:14px; color:red;"><?php echo $comZIP_err ?></p>
<input type="text" class="form-control" name="code" placeholder="00000" required>
</div>
</div>
<div class="form-group">
<div class="form-check">\
<p style="font-size:14px; color:red;"><?php echo $comGridCheck_err ?></p>
<input class="form-check-input" type="checkbox" name="gridCheck" required>
<label class="form-check-label" for="gridCheck">Check me out</label>
<p> <?php echo $error_message ?></p>
</div>
</div>
<button type="submit" name="addcom" class="btn btn-primary"><i class="fas fa-save"></i> Save</button>
</form>
认证页面
<?php
session_start();
include("includes/dbconnection.php");
if($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["addcom"])) {
$comName = $_POST["name"];
$comProvince = $_POST["province"];
$comAddress = $_POST["address"];
$comCity = $_POST["city"];
$comStatus = $_POST["status"];
$comZIP = $_POST["code"];
$comCheck = $_POST["gridCheck"];
$AddisValid = true;
//VALIDATION
if (empty($comName)) {
$AddisValid = false;
$error_message = "Please enter a Company name.";
$_SESSION['comName'] = $error_message;
header("location:add-company.php");
}
elseif ($AddisValid && $_POST['province'] ="") {
$isValid = false;
$error_message = "Please select a province.";
$_SESSION['comProvince'] = $error_message;
header("location:add-company.php");
}
elseif ($AddisValid && empty($comAddress)) {
$isValid = false;
$error_message = "Please enter an address.";
$_SESSION['comAddress'] = $error_message;
header("location:add-company.php");
}
elseif ($AddisValid && $_POST['status'] ="") {
$isValid = false;
$error_message = "Please enter an status.";
$_SESSION['comStatus'] = $error_message;
header("location:add-company.php");
}
elseif ($AddisValid && empty($comZIP)) {
$isValid = false;
$error_message = "Please enter a ZIP code.";
$_SESSION['comZIP'] = $error_message;
header("location:add-company.php");
}
elseif ($AddisValid && $_POST['status'] ="") {
$isValid = false;
$error_message = "Please enter an status.";
$_SESSION['comStatus'] = $error_message;
header("location:add-company.php");
}
elseif ($AddisValid && $_POST['gridCheck'] ="") {
$isValid = false;
$error_message = "Please confirm by clicking 'Check me Out'.";
$_SESSION['comCheck'] = $error_message;
header("location:add-company.php");
}
else{
// PREPARE THE INSERT STATEMENT
$sql = "INSERT INTO tblcompanies (comName,comAddress, comCity, comProvince, comZip, comStatus) VALUES (?, ?, ?, ?, ?, ?)";
if($stmt = mysqli_prepare($con, $sql)){
// BIND VARIABLES TO THE BINDED PARAMETERS
mysqli_stmt_bind_param($stmt, "ssssss", $comName,$comAddress, $comCity, $comProvince, $comZIP, $comStatus);
// EXECUTE THE PREPARED STATEMENT
if(mysqli_stmt_execute($stmt)){
header("location:dashboard.php");
} else{
echo "ERROR: Could not execute query: $sql. " . mysqli_error($con);
}
} else{
echo "ERROR: Could not prepare query: $sql. " . mysqli_error($con);
}
//CLOSE STATEMENT
mysqli_stmt_close($stmt);
}
}
?>
解决方案
推荐阅读
- oracle - 通过过程执行没有得到正确的输出
- mysql - Mysql加入同一张表而不反向
- ffmpeg - h264_mp4toannexb 过滤器在 ffmpeg 连接时无法接收输出数据包
- python - Regex expression to merge elements together
- django - Is there a way to determinate the type of request received in a Class Based View with Django Rest Framework?
- c# - 输出又是同一个标题
- python - 将分类值转换为 Pandas 中的列
- arm - 是在 Zynq 7000 SOC 中实现的返回堆栈
- java - Enable Silent Mode in android without triggering Do Not Disturb
- python - 正则表达式从开头或结尾的空格或其他字符中清除字符串(带重音符号)和数字