你好,我试图为我的网站http://social.nssgaming.com/制作一个注册表格,但我在注册表格中收到了错误。而且我不知道什么是错的。我不会在3个盒子里你可以看到日期,蛾子和年份。 register.php位于这里:http://paste2.org/a31FJE5L你可以在索引文件中查看生日的一部分:(它还说它在表单中缺少一些值,我认为它在生日注册中)
<?php
function GetMonthString($n){
$timestamp = mktime(0, 0, 0, $n, 1, 2010);
return date("F", $timestamp);
}
$display .= '</select>
<select name="year" class="birthday_btn" id="year">
<option value="">- Year -</option>';
$thisyear = date('Y');
$now = $thisyear - 1;
$end = $thisyear - 100 ;
for ($now; $now >= $end; $now--) {
if ($_POST['year'] == $now){
$display .= '<option value="'.$now.'" selected>'.$now.'</option>';
}
else{
$display .= '<option value="'.$now.'" >'.$now.'</option>';
}
}
$display .= '</select> ';
$display .='</select>
<select name="month" class="birthday_btn" id="month">
<option value="" >- Month -</option>';
for ($i = 1; $i <= 12; $i++) {
if ($_POST['month'] == $i){
$display .= '<option value="'.$i.'" selected>'.GetMonthString($i).'</option>';
}
else{
$display .= '<option value="'.$i.'" >'.GetMonthString($i).'</option>';
}
}
$display .= '</select>
<select name="day" class="birthday_btn" id="day">
<option value="'.$i.'" >- Day -</option>';
for ($i = 1; $i <= 31; $i++) {
if ($_POST['day'] == $i){
$display .= '<option value="'.$i.'" selected>'.$i.'</option>';
}
else{
$display .= '<option value="'.$i.'" >'.$i.'</option>';
}
}
$display .= '</select> ';
echo $display;
?>
在localhost中我遇到了这些错误:
生日
注意:未定义的变量:在第237行的C:\ xampp \ htdocs \ social \ index.php中显示
注意:未定义的索引:第244行的C:\ xampp \ htdocs \ social \ index.php中的年份
注意:未定义的索引:第257行的C:\ xampp \ htdocs \ social \ index.php中的月份
注意:未定义的索引:第271行的C:\ xampp \ htdocs \ social \ index.php中的日期
答案 0 :(得分:0)
在检索值之前,您应该使用isset( $_POST['name'] )
,如下所示:
$foo = null;
if( isset( $_POST['foo'] ) {
$foo = $_POST['foo'];
}
我有自己的简单帮助函数来简化这个:
function get( $collection, $key ) {
if( isset( $collection[ $key ] ) ) return $collection[ $key ];
return null;
}
因此:
$year = get( $_POST, 'year' );