我是一个PHP和编程的完整noob。我对编程非常陌生,所以我的问题可能看起来很愚蠢,但请耐心等待。PHP错误:未定义索引:event_list当我认为它已经定义。
我有一个未定义的索引错误,我认为它已经定义。
我在这里的代码。
index.php
<?php include('functions.php'); ?>
<?php
$yr = $_GET['year_list'];
$evnt = $_GET['event_list'];
?>
<html>
<head>
<script type="text/javascript" src="myscripts.js"></script>
</head>
<body>
<div>
<form name="myform" >
Select Year: <?php echo hspacer(1); ?>
<select id="year_list" name="year_list">
<?php
for($year = (date('Y') - 100); $year <= (date('Y') + 100); $year++) {
if ($year == date('Y')) echo "<option value='$year' name='$year' selected='' >" . $year . "</option>";
else echo "<option value='$year' name='$year' >" . $year . "</option>";
}
?>
</select>
<?php echo hspacer(5); ?>
Select Event: <?php echo hspacer(1); ?>
<select id="event_list" name="event_list" >
<?php
$events = array("Karate Tournament", "Beauty Pageant", "Film Festival", "Singing Contest", "Wedding");
foreach($events as $event) echo "<option value='$event' name='$event' >" . $event . "</option>";
?>
</select>
<?php echo vspacer(2); echo hspacer(22); ?>
<input type="submit" id="add_description" name="add_description" value="Add Description" onclick=""/>
</form>
</div>
</body>
</html>
functions.php
<?php
function hspacer($num_of_spaces) {
$spaces = "";
if ($num_of_spaces > 0) for($i=0; $i<$num_of_spaces; $i++) $spaces .= " ";
return $spaces;
}
function vspacer($num_of_linefeeds) {
$linefeeds = "";
if ($num_of_linefeeds > 0) for($i=0; $i<$num_of_linefeeds; $i++) $linefeeds .= "<br />";
return $linefeeds;
}
?>
我不明白这个是什么,是我认为当你宣布一个ID的元素您可以使用该ID作为索引$_GET
或$_POST
。其次,为什么第二个元素(event_list
)与第一个元素(year_list
)具有相同的声明时无法识别。我对这种不一致感到困惑。只有第二个元素不被识别,而另一个元素被识别。有人可以用简单的方式向我解释,像我这样的初学者可以理解。
使用'的print_r($ _ GET)'和'的print_r($ _ REQUEST)',让我知道什么是它打印? – 2011-05-11 10:47:29