Php 我可以´;t将此if语句转换为if/elseif语句。它赢了´;不行。我做错了什么?

Php 我可以´;t将此if语句转换为if/elseif语句。它赢了´;不行。我做错了什么?,php,drupal,if-statement,Php,Drupal,If Statement,我正在试验if/elseif,不明白为什么它不能在Drupal6模板中工作 此代码适用于: <?php if ((arg(0) == 'node') && (arg(1) == 'add') || (arg(1) == 'edit')){ $node = node_load(array('nid' => arg(1))); print '<h2>' . $title . '</h2>'; } ?> 如果

我正在试验if/elseif,不明白为什么它不能在Drupal6模板中工作

此代码适用于:

<?php
    if ((arg(0) == 'node') && (arg(1) == 'add') || (arg(1) == 'edit')){
    $node = node_load(array('nid' => arg(1)));
    print '<h2>' .  $title . '</h2>';   }
?>

如果我在node/add/whatever或node/nid/edit中,它会显示封装在h2中的title变量。 现在,我想在node/add和node/edit中显示一些稍微不同的内容。 所以,我试过这个:

<?php
if ((arg(0) == 'node') && (arg(1) == 'edit')) {
    $node = node_load(array('nid' => arg(1)));
    print '<h3>' .  $title . '</h3>';
} elseif ((arg(0) == 'node') && (arg(1) == 'add')) {
    $node = node_load(array('nid' => arg(1)));
    print '<h2>' .  $title . '</h2>';   }
} else {
    echo ""; //it shows nothing
}
?>
<?php
    if ((arg(0) == 'node') && (arg(1) == 'add')){
    $node = node_load(array('nid' => arg(1)));
    print '<h2>' .  $title . '</h2>';   }
?>
<?php
    if ((arg(0) == 'node') && (arg(1) == 'edit')){
    $node = node_load(array('nid' => arg(1)));
    print '<h3>' .  $title . '</h3>';
    }
?>

而且它不会工作(不会显示任何东西)。 所以,我试过这个:

<?php
if ((arg(0) == 'node') && (arg(1) == 'edit')) {
    $node = node_load(array('nid' => arg(1)));
    print '<h3>' .  $title . '</h3>';
} elseif ((arg(0) == 'node') && (arg(1) == 'add')) {
    $node = node_load(array('nid' => arg(1)));
    print '<h2>' .  $title . '</h2>';   }
} else {
    echo ""; //it shows nothing
}
?>
<?php
    if ((arg(0) == 'node') && (arg(1) == 'add')){
    $node = node_load(array('nid' => arg(1)));
    print '<h2>' .  $title . '</h2>';   }
?>
<?php
    if ((arg(0) == 'node') && (arg(1) == 'edit')){
    $node = node_load(array('nid' => arg(1)));
    print '<h3>' .  $title . '</h3>';
    }
?>

在本例中,它仅适用于node/add,而完全忽略node/edit

我做错了什么?
谢谢你的建议

节点编辑页面的路径是
node/[nid]/edit
…您需要使用
arg(2)

if ((arg(0) == 'node') && is_numeric(arg(1)) && (arg(2) == 'edit')){
您是否尝试过echo arg(0);回波arg(1);在if语句之前查看值是什么?