我想我已经盯着这个太久了,现在我没有发现问题。
有人可以指出哪里出错了吗?
错误:
Parse error: syntax error, unexpected 'if' (T_IF) in /Applications/MAMP/htdocs/mipbi/includes/classes/html.php on line 11
代码:
public static function textbox($name, $maxlength=''){
return "<input type='text' id='$name' name='$name' maxlength='$maxlength' value='". if (isset($_POST[$name])) { echo $name; } ."' >";
}
错误在if语句行生成。
答案 0 :(得分:1)
你不能使用那样的if语句。
要做你想要达到的目标,你需要这样做:
public static function textbox($name, $maxlength=''){
return "<input type='text' id='$name' name='$name' maxlength='$maxlength' value='".(isset($_POST[$name]) ? $name : '')."' >";
}
答案 1 :(得分:1)
以这种方式尝试:
public static function textbox($name, $maxlength=''){
return "<input type='text' id='".$name."' name='".$name."' maxlength='".$maxlength."' value='".( (isset($_POST[$name]) ? $name:'')."' >";
}
答案 2 :(得分:1)
您不能以这种方式使用if语句。为此目的使用三元运算符或在串联之前预先制作变量。
public static function textbox($name, $maxlength=''){
return "<input type='text' id='$name' name='$name'
maxlength='$maxlength' value='". (isset($_POST[$name]) ? $name : '')."' >";
}
替代:
public static function textbox($name, $maxlength='')
{
if( !isset($_POST[$name] ) {
$myname = $name;
} else {
$myname = '';
}
return "<input type='text' id='$name' name='$name'
maxlength='$maxlength' value='". $myname ."' >";
}
答案 3 :(得分:0)
您不能在重新调整的值字符串中使用if函数。我会先构建你想要返回的字符串,然后返回它。在我的示例中,要返回的字符串是$out
。即使以上工作,这也更容易阅读和维护。
$out= "<input type='text' id='$name' name='$name' maxlength='$maxlength' value='";
if (isset($_POST[$name])) {
$out.= $name;
}
$out .='" >";
return $out;
答案 4 :(得分:0)
public static function textbox($name, $maxlength=''){
return "<input type='text' id='$name' name='$name' maxlength='$maxlength' value='". if (isset($_POST[$name])) { echo $name; } ."' >";
}
应该是:
public static function textbox($name, $maxlength=''){
$ret = "<input type='text' id='$name' name='$name' maxlength='$maxlength' value='";
if (isset($_POST[$name])) { $ret .= $name; }
return $ret . "' >";
}