我尝试将effect
类应用于input type="submit"
,只要其父表单操作包含字符串special
。
我使用以下代码,但Dreamweaver告诉我第15,16,22行中存在语法错误:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');
$case1 = "special";
$item = "aaa";
$item = "something";
function get_class( $slug ) {
$class_map = array(
'special' => 'effect',
'none' => '',
// .. you could add others here if appropriate
return ( isset( $class_map[ $slug ] ) ) ? $class_map[ $slug ] : ''; //line 15
); // line 16
?>
<HTML>
<body>
<form action="/go/<?= $item ?>/<?php echo $case1 ; ?>" method="POST" target="_blank">
<input name="a" type="hidden" value="<?php echo $a; ?>"/>
<input type="submit" class="<?= get_class( $case1 ); ?> general-class" value="Click Me"></form> // line 22
</body>
</HTML>
输出为空,我尝试运行文件时没有显示错误。
出了什么问题?
编辑2 - 更新代码:
现在在第16行发生致命错误:
Fatal error: Cannot redeclare get_class() on line 16
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');
$case1 = "special";
$item = "aaa";
$item = "something";
function get_class( $slug ) {
$class_map = array(
'special' => 'effect',
'none' => '',
// .. you could add others here if appropriate
);
return ( isset( $class_map[ $slug ] ) ) ? $class_map[ $slug ] : '';
} // line 16
?>
<HTML>
<body>
<form action="/go/<?= $item ?>/<?php echo $case1 ; ?>" method="POST" target="_blank">
<input name="a" type="hidden" value="<?php echo $a; ?>"/>
<input type="submit" class="<?php get_class( $case1 ); ?> general-class" value="Click Me"></form>
</body>
</HTML>
答案 0 :(得分:0)
我在PHP中编写的代码很少,并且忘记了大部分语法。但是,从基本的理解来看,似乎如果这是你的整个代码库,那么你就错过了&#34;}&#34; (关闭函数get_class的大括号)或者你在下面的代码中放错了你的结束$ class_ map数组:
function get_class( $slug ) {
$class_map = array(
'special' => 'effect',
'none' => '',
// .. you could add others here if appropriate
return ( isset( $class_map[ $slug ] ) ) ? $class_map[ $slug ] : ''; //line 15
); // line 16
您的代码应该是以下两种之一:
function get_class( $slug ) {
$class_map = array(
'special' => 'effect',
'none' => ''
);
return ( isset( $class_map[ $slug ] ) ) ? $class_map[ $slug ] : '';
}
OR
function get_class( $slug ) {
$class_map = array(
'special' => 'effect',
'none' => '',
return ( isset( $class_map[ $slug ] ) ) ? $class_map[ $slug ] : '';
);
}
最后一个对我来说似乎不合适/可行。