当我填写此表单并提交值时,没有任何反应,但是当我一次只传递一个值时,值得通过,那么我做错了什么。
HTML:
<form action="" method="post">
<label for="kafli">Kafli:</label>
<select name="kafli" id="kafli">
<option value=""></option>
<option value="11">1.1</option>
<option value="12">1.2</option>
<option value="13">1.3</option>
<option value="14">1.4</option>
<option value="15">1.5</option>
<option value="16">1.6</option>
</select>
<label for="html">HTML:</label>
<textarea name="html" id="html"></textarea>
<input type="submit" value="Deila">
</form>
PHP
if(isset($_POST['html'])) {
echo 'HTML is OK';
if(isset($_POST['kafli'])) {
echo 'Kafli is OK';
}
}
答案 0 :(得分:1)
如果您想同时回应这两个条件以确保它们不为空,请使用empty()
而不是isset()
。
使用<select>
和<textarea>
已假设它们已“设置”。您希望使用的是更好的方法,是条件empty()
。
if(isset($_POST['submit'])){
if(!empty($_POST['html'])) {
echo 'HTML is OK';
if(!empty($_POST['kafli'])) {
echo 'Kafli is OK';
}
}
else{
echo "one or all are empty";
}
} // brace for submit
在命名提交按钮时:(对于我在第一个示例中添加的添加的条件语句)
<input type="submit" name="submit" value="Deila">
或者,使用&& - AND
运算符对两者使用条件语句:
即:
if(!empty($_POST['html']) && !empty($_POST['kafli'])) {
echo 'Both are filled.';
}
else{
echo "One or both were not filled";
}
或者,使用OR - ||
运算符
if(!empty($_POST['html']) || !empty($_POST['kafli'])) {
echo "One was filled, but not the other";
}
参考文献: