我创建了一个简单的php
页面,需要验证输入的金额是greater than 100
还是必须返回error
。发布时,我的功能不会被调用,金额为less than 100
<html>
<head></head>
<title></title>
<style>
.error {color: #FF0000;}
</style>
<body>
<?php
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
$amountErr = "";
$amount = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (($_POST["amount"]) > 100) {
$amountErr = "Value must be equal or greater than 100";
} else {
$amount = test_input($_POST["amount"]);
}
}
?>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
<p><span class="error">*required field.</span></p>
Amount:<input type="text" name="amount"/>
<span class="error">*<?php echo $amountErr; ?></span>
<input type="submit" value="Pay"/>
</form>
</body>
</html>
答案 0 :(得分:0)
因为如果值小于100你想要出错,并且如果它大于或等于你运行函数你应该使用<
如果它小于100,它将设置错误变量,否则,它将运行该功能。在if语句中,括号中也不需要$ _POST [“amount”],除非当然有多个条件。
另外,在旁注中,缩进代码有很多帮助,因此您可以更轻松地阅读它。
<?php
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
$amountErr="";
$amount="";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if ($_POST["amount"] < 100) {
$amountErr = "Value must be equal or greater than 100";
} else {
$amount = test_input($_POST["amount"]);
}
}
?>