您能在PHP回送标记中回送PHP吗?
我面临的问题是,只有“rr_pos_1”标记在 由于撇号('),正在输出一个php错误。我是否可以通过使用下面相同的打印方法来避免这个错误 以下是我的php代码:您能在PHP回送标记中回送PHP吗?,php,Php,我面临的问题是,只有“rr_pos_1”标记在 由于撇号('),正在输出一个php错误。我是否可以通过使用下面相同的打印方法来避免这个错误 以下是我的php代码: <?php switch (isset($_POST['chk']) ? $_POST['chk'] : null){ case 'Rigid Rail': echo ' <table> <tr> <td
<?php
switch (isset($_POST['chk']) ? $_POST['chk'] : null){
case 'Rigid Rail':
echo '
<table>
<tr>
<td>Notes & Comments: <?php if (isset($_POST['rr_pos_1']) ? $_POST['rr_pos_1'] : null) echo "$rr_pos_1"; ?></th>
</tr>
</table>';
}
?>
在案例之后使用语法或结束php解释:
switch ($a) {
case "foo": ?>
bla bla html <?php echo $a ?>
<?php break;
}
开关($a){
案例“foo”:>
blablahtml
注释和评论:
是的,只是不要把它放在PHP标记中。您也可以稍微编辑自己的代码
我希望自己稍微编辑一下代码,因为我认为应该在切换之前进行检查,并检查它是否存在
<?php
// Check the value exists
$value = (array_key_exists('chk', $_POST) && is_string($_POST['chk']) && !empty($_POST['chk']))
? $_POST['chk'] : FALSE ;
// Check it passed and holds a value
if ($value)
{
// Now you know it exists, use the switch
switch ($value)
{
case "Rigid Rail":
echo '
<table>
<tr>
<td>
Notes & Comments:
' . ( isset($_POST['rr_pos_1']) ? $_POST['rr_pos_1'] : '' ) . '
</td>
</tr>
</table>';
break;
}
}
我认为isset不需要三元运算符
<?php
switch (isset($_POST['chk'])){
case 'Rigid Rail':
?>
<table>
<tr>
<td>Notes & Comments: <?php if (isset($_POST['rr_pos_1'])) echo "$rr_pos_1"; ?></td>
</tr>
</table>
<?php
}
?>
注释和评论:
你的如果
在大小写中是错误的,如果设置了post
,那么你将它检查为布尔值
,否则你将空值
检查为布尔值
,这很奇怪。条件句中的三元组很难读取,而且三元组返回空值
em直接if
语句,使用empty
,例如if(!empty($\u POST['rr\u pos\u 1']))
你是想回显php字符串
还是仅仅回显变量$rr_pos_1
?当你试图回显另一组php标记时,你已经在php标记中了。啊!这很有魅力!不知道你可以这样破坏php!干杯,伙计!别担心-记住将答案标记为你选择的:)第一行可以缩减为:$value=!empty($\u POST['chk'])?$\u POST['chk']:FALSE;
几乎可以,但由于您需要检查输入是否为字符串,因为它将用于开关(),因此最好在有人跨站点发送数据之前执行此操作,其中包括名为“chk[]的复选框。”只是为了让你感到痛苦:)如果你在开关中使用isset
,你的箱子将只匹配布尔型(由字符串铸造).明白了。但第二个isset肯定不需要。之所以出现三元运算符,是因为它在回显上一页的数据。如果不检查该数据,它将不会显示在这里。这就是为什么我首先遇到这个问题。但我明白了。实现同一目标的不同方法。
<?php
switch (isset($_POST['chk'])){
case 'Rigid Rail':
?>
<table>
<tr>
<td>Notes & Comments: <?php if (isset($_POST['rr_pos_1'])) echo "$rr_pos_1"; ?></td>
</tr>
</table>
<?php
}
?>