如果我将所有字段留空,则代码打击不显示else消息。
<form action="index.php" method="POST">
<textarea name="input_area" rows="6" cols="20"></textarea><br/><br/>
Search<input type="text" name="find"/><br/><br/>
Replace<input type="text" name="replace" /><br/><br/>
<input type="submit" value="Find and replace"/>
</form>
PHP
if(isset($_POST['input_area'])&&($_POST['find'])&&($_POST['replace']))
{
$text=$_POST['input_area'];
$find=$_POST['find'];
$replace=$_POST['replace'];
if(!empty($text)&&!empty($find)&&!empty($replace))
{
$new_str=str_replace($find,$replace,$text);
echo $new_str;
}
else
{
echo 'FILL ALL THE FIELDS';
}
}
答案 0 :(得分:1)
值将在$ _POST中设置,但它们将为空白。像这样的支票可以在所有情况下使用,即使在某些情况下,有人修改了您的HTML并尝试了一些有趣的事情。
<?php
$text = isset($_POST['input_area']) ? $_POST['input_area'] : "";
$find = isset($_POST['find']) ? $_POST['find'] : "";
$replace = isset($_POST['replace']) ? $_POST['find'] : "";
if($text != "" && $find != "" && $replace != ""){
$new_str=str_replace($find,$replace,$text);
echo $new_str;
}else{
echo 'FILL ALL THE FIELDS';
}
?>
答案 1 :(得分:0)
此声明是问题的根源
if(isset($_POST['input_area'])&&($_POST['find'])&&($_POST['replace']))
正确的是
if(isset($_POST['input_area'])&&isset($_POST['find'])&&isset($_POST['replace']))
答案 2 :(得分:0)
if ( strlen(trim($_POST['input_area']))>0 && etc.