我正在运行一个非常简单的HTML页面,其中包含表单。我通过POST方法发送数据并在PHP页面上处理它们。我做了一个简单的if语句来检查是否所有输入都已填满。如果没有,则返回为假。
问题是当某些输入没有填充时,那些字段就像填充PHP页面一样,如果语句返回TRUE和PAGE继续处理。我做错了什么?
HTML:
<form class="add_content grid_12 alpha" enctype="multipart/form-data"
method="POST" action="add_content_2.php" name="excersise_upload">
<ul>
<li>
<label for="excersise_name">Název cviku:</label><br />
<input type="text" name="excersise_name" id="excersise_name">
</li>
<li>
<label for="selected_part">Partie cviku:</label><br />
<select name="selected_part" id="selected_part">
<?php
get_parts();
?>
</select>
</li>
<li>
<label for="selected_difficulty">Vyber obtížnost cviku:</label>
<br />
<select name="selected_difficulty" id="selected_difficulty">
<option value="1">začátečník</option>
<option value="2">mírně pokročilý</option>
<option value="3">pokročilý</option>
</select>
</li>
<li>
<label for="excersise_info">Popis cviku:</label><br />
<textarea name="excersise_info" id="excersise_info"></textarea>
</li>
<li>
<input name="MAX_FILE_SIZE" value="102400" type="hidden">
<input type="file" name="excersise_image" accept="image/jpeg">
</li>
<li>
<label for="image_name">Název obrázku:</label><br />
<input type="text" name="image_name" id="image_name">
</li>
<li>
<input type="submit" value="Přidat do databáze">
</li>
</ul>
</form>
PHP:
if ((isset($_POST['excersise_name'])) &&
(isset($_POST['selected_part'])) &&
(isset($_POST['selected_difficulty'])) &&
(isset($_POST['excersise_info'])) &&
(isset($_FILES['excersise_image'])) &&
//(isset($_FILES['image_name'])) &&
$_FILES['excersise_image']['size'] > 0) {.....
答案 0 :(得分:1)
使用if( ! empty($_POST['excersise_name']) && ...)
代替isset()
来检查数组。
答案 1 :(得分:0)
使用var_dump($_POST['field_name'])
;检查字段是否为空时会出现什么情况。
并在trim($_POST['field_name'])
之类的if ststement中添加一个检查,以便在提交表单时剪切是否有空格,如
if(trim($_POST['field_name'])!=''){
//Proced
}
else{
//Do not proced
}
答案 2 :(得分:0)
isset
检查事物是否存在,而不是它是否为空。我使用isset
和!= ''
的组合来检查它是否已设置,并且它不是空的。 e.g。
if ((isset($_POST['myThing'])) and (trim($_POST['myThing']) != ''))
{
// Ready to go
}
答案 3 :(得分:0)
在PHP中尝试以下if
条件:
if((isset($_POST['excersise_name']) && !empty($_POST['excersise_name'])) &&
(isset($_POST['selected_part']) && !empty($_POST['selected_part'])) &&
(isset($_POST['selected_difficulty']) && !empty($_POST['selected_difficulty'])) &&
(isset($_POST['excersise_info']) && !empty($_POST['excersise_info'])) &&
(isset($_FILES['excersise_image']) && !empty($_FILES['excersise_image'])) &&
//(isset($_FILES['image_name'])) &&
$_FILES['excersise_image']['size'] > 0)