我需要从函数返回一个输入框,但我可以正确地加上引号。任何人请帮我解决错误。
<?php
return "
<input style='background-color:#CCC;'type='text' name='contactName' id='contactName' value='".if(isset($_POST['contactName'])) echo $_POST['contactName']."' class='requiredField' />";
我需要从函数返回一个输入框,但我可以正确地加上引号。任何人请帮我解决错误。
<?php
return "
<input style='background-color:#CCC;'type='text' name='contactName' id='contactName' value='".if(isset($_POST['contactName'])) echo $_POST['contactName']."' class='requiredField' />";
用这个
<?php
return '
<input style="background-color:#CCC;" type="text" name="contactName" id="contactName" value="'.(isset($_POST['contactName'])?$_POST['contactName']:'').'" class="requiredField" />';
对于内联,如果这会输出一些东西,请使用以下语法:
( condition ? 'the thing that will return when condition true' : 'the false returned string' )
<?php
if(isset($_POST['contactName'])) {$contactname=$_POST['contactName'];}
return "<input style='background-color:#CCC;'type='text' name='contactName' id='contactName' value='".$contactname."' class='requiredField' />";
?>
您可以将其中断并返回值,而不是写在一行中。
if(isset($_POST['contactName'])) {
$value = $_POST['contactName'];
} else {
$value = "";
}
$input = '<input style="background-color:#CCC;" type="text" name="contactName" id="contactName" ';
$input .= 'value="'. $value .'" ';
$input .= 'class="requiredField" ';
$input .= '/>';
return $input;
我还可以看到您正在分配一个值而不对其进行处理。这是不正确的。所以,它应该是这样的:
if(isset($_POST['contactName'])) {
$value = stripslashes($_POST['contactName']);
} else {
$value = "";
}
如果您使用 PDO,也可以使用任何其他转义方法。
另一个简单的解决方案
<?php
if(isset($_POST['contactName']))
{
return "<input style='background-color:#CCC;'type='text' name='contactName' id='contactName' value='".$_POST['contactName']."' class='requiredField' />";
}
?>